![]() |
|
|
Planilha de Dimensionamento de Tubulações
Hidráulicas Água Fria e Água Quente CompletaNossa planilha automática de dimensionamento de tubulações de água fria e quente é uma ferramenta desenvolvida para auxiliar engenheiros e projetistas no cálculo rápido e preciso das redes hidráulicas de edificaçoes. Por meio da inserçao de dados como vazao, diâmetro da tubulaçao, comprimento da rede, material do tubo e coeficientes hidráulicos, a planilha realiza automaticamente os cálculos necessários para verificar velocidade da água, perda de carga e dimensionamento adequado das tubulaçoes. |
||
Você está aqui: Cards de Engenharia Civil - Estruturas de Concreto Armado |
||
|
||
|
|
||
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios e Algorítmos Resolvidos de Java - Somando os elementos da diagonal principal de uma matrizQuantidade de visualizações: 9614 vezes |
|
Pergunta/Tarefa: Em álgebra linear, a diagonal principal de uma matriz A é a coleção das entradas Aij em que i é igual a j. A diagonal principal de uma matriz quadrada une o seu canto superior esquerdo ao canto inferior direito (conforme mostrado na saída do problema proposto abaixo). Escreva um programa (algorítmo) Java que declara uma matriz 3x3 e pede ao usuário para informar seus valores. Em seguida mostre todos os valores da matriz e a soma dos elementos da diagonal principal. Sua saída deverá ser parecida com a imagem abaixo:
Valor para a linha 0 e coluna 0: 1
Valor para a linha 0 e coluna 1: 4
Valor para a linha 0 e coluna 2: 7
Valor para a linha 1 e coluna 0: 12
Valor para a linha 1 e coluna 1: 9
Valor para a linha 1 e coluna 2: 8
Valor para a linha 2 e coluna 0: 5
Valor para a linha 2 e coluna 1: 10
Valor para a linha 2 e coluna 2: 14
Valores na matriz
1 4 7
12 9 8
5 10 14
A soma dos elementos da diagonal principal é: 24
Veja a resolução comentada deste exercício usando Java console:
package exercicios;
import java.util.Scanner;
public class Exercicios {
public static void main(String[] args) {
// vamos fazer a leitura usando a classe Scanner
Scanner entrada = new Scanner(System.in);
// vamos declarar e construir uma matriz de três linhas
// e três colunas
int matriz[][] = new int[3][3];
int soma_diagonal = 0; // guarda a soma dos elementos
// na diagonal principal
// vamos ler os valores para os elementos da matriz
for(int i = 0; i < matriz.length; i++){ // linhas
for(int j = 0; j < matriz[0].length; j++){ // colunas
System.out.print("Informe o valor para a linha " + i
+ " e coluna " + j + ": ");
matriz[i][j] = Integer.parseInt(entrada.nextLine());
}
}
// vamos mostrar a matriz da forma que ela foi informada
System.out.println();
// percorre as linhas
for(int i = 0; i < matriz.length; i++){
// percorre as colunas
for(int j = 0; j < matriz[0].length; j++){
System.out.printf("%5d ", matriz[i][j]);
}
// passa para a próxima linha da matriz
System.out.println();
}
// vamos calcular a soma dos elementos da diagonal principal
for(int i = 0; i < matriz.length; i++){
for(int j = 0; j < matriz[0].length; j++){
if(i == j){
soma_diagonal = soma_diagonal + matriz[i][j];
}
}
}
// finalmente mostramos a soma da diagonal principal
System.out.println("\nA soma dos elementos da diagonal principal é: "
+ soma_diagonal);
}
}
|
Java ::: Classes e Componentes ::: JTable |
Java Swing - Como detectar qual linha ou coluna está selecionada em uma tabela JTableQuantidade de visualizações: 1 vezes |
|
Nesta dica mostrarei como podemos usar o método valueChanged() da interface ListSelectionListener para detectar qual linha ou coluna está selecionada em um objeto JTable. Essa técnica interessante, pois permite facilmente a construção de tabelas mestre-detalhe, na qual selecionamos um cliente em uma JTable e outra JTable é atualizada mostrando somente os pedidos para o cliente selecionado. Eis o resultado na imagem abaixo: ![]() Veja o código completo para o exemplo:
package arquivodecodigos;
import javax.swing.*;
import java.awt.*;
import javax.swing.event.*;
public class Estudos extends JFrame{
private boolean ALLOW_COLUMN_SELECTION = false;
private boolean ALLOW_ROW_SELECTION = true;
public Estudos(){
super("Exemplo de uma tabela simples");
// colunas da tabela
String[] colunas = {"Cidade", "Estado", "Habitantes"};
// conteúdo da tabela
Object[][] conteudo = {
{"Goiânia", "GO", "43.023.432"},
{"São Paulo", "SP", "5.343.234"},
{"Rio de Janeiro", "RJ", "6.434.212"},
{"Jussara", "GO", "87.454"},
{"Barra do Garças", "MT", "64.344"}
};
// constrói a tabela
final JTable tabela = new JTable(conteudo, colunas);
tabela.setPreferredScrollableViewportSize(new Dimension(350, 50));
// permite selecionar apenas uma linha de cada vez
tabela.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
// detecta seleções de linha
if(ALLOW_ROW_SELECTION){ // verdadeiro por padrão
ListSelectionModel rowSM = tabela.getSelectionModel();
rowSM.addListSelectionListener(new ListSelectionListener(){
public void valueChanged(ListSelectionEvent e){
if(e.getValueIsAdjusting())
return;
ListSelectionModel lsm = (ListSelectionModel)e.getSource();
if(lsm.isSelectionEmpty()){
System.out.println("Nenhuma linha selecionada.");
}
else{
int selectedRow = lsm.getMinSelectionIndex();
System.out.println("Linha " + selectedRow
+ " foi selecionada.");
}
}
});
}
else{
tabela.setRowSelectionAllowed(false);
}
if(ALLOW_COLUMN_SELECTION){ // falso por padrão
if(ALLOW_ROW_SELECTION){
tabela.setCellSelectionEnabled(true);
}
tabela.setColumnSelectionAllowed(true);
ListSelectionModel colSM = tabela.getColumnModel().getSelectionModel();
colSM.addListSelectionListener(new ListSelectionListener(){
public void valueChanged(ListSelectionEvent e){
if(e.getValueIsAdjusting())
return;
ListSelectionModel lsm = (ListSelectionModel)e.getSource();
if(lsm.isSelectionEmpty()) {
System.out.println("Nenhuma coluna selecionada.");
}
else{
int selectedCol = lsm.getMinSelectionIndex();
System.out.println("Coluna "
+ selectedCol + " está selecionada.");
}
}
});
}
Container c = getContentPane();
c.setLayout(new FlowLayout());
JScrollPane scrollPane = new JScrollPane(tabela);
c.add(scrollPane);
setSize(400, 300);
setVisible(true);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
|
Python ::: Dicas & Truques ::: Lista (List) |
Vetores e matrizes em Python - Como inserir itens em posições aleatórias de uma listaQuantidade de visualizações: 10175 vezes |
|
Este exemplo mostra como adicionar itens em posições aleatórias de uma lista Python. Note como usamos o método insert() da classe List passando um valor randômico para o índice no qual o novo elemento será inserido. Veja o código completo para a dica:
# vamos importar o módulo random
import random
def main():
# cria uma lista vazia
valores = []
# início do laço for
for i in range(1, 11):
valor = int(input("Informe um inteiro: "))
if(len(valores) == 0):
valores.insert(0, valor)
else:
# insere o valor em um posição aleatória
valores.insert(random.randrange(0,
len(valores)), valor)
# exibe os valores da lista
print("Valores na lista:", valores, "\n")
# fim do laço for
if __name__== "__main__":
main()
Ao executarmos este código Python nós teremos o seguinte resultado: Informe um inteiro: 9 Valores na lista: [9] Informe um inteiro: 3 Valores na lista: [3, 9] Informe um inteiro: 2 Valores na lista: [2, 3, 9] Informe um inteiro: 8 Valores na lista: [2, 3, 8, 9] Informe um inteiro: 10 Valores na lista: [10, 2, 3, 8, 9] Informe um inteiro: 18 Valores na lista: [18, 10, 2, 3, 8, 9] Informe um inteiro: 30 Valores na lista: [18, 10, 30, 2, 3, 8, 9] Informe um inteiro: 60 Valores na lista: [18, 10, 30, 2, 3, 8, 60, 9] Informe um inteiro: 67 Valores na lista: [18, 10, 67, 30, 2, 3, 8, 60, 9] Informe um inteiro: 82 Valores na lista: [18, 10, 67, 30, 2, 3, 8, 82, 60, 9] |
Ruby ::: Dicas & Truques ::: Strings e Caracteres |
Como concatenar strings em Ruby usando o operador <<Quantidade de visualizações: 8689 vezes |
Esta dica mostra como podemos usar o operador << para concatenar strings em Ruby. Veja: frase1 = "Gosto muito de Ruby" frase2 = " e de Python" # vamos concatenar as duas strings res = frase1 << frase2 # exibe o resultado puts res Ao executar este código Ruby nós teremos o seguinte resultado: Gosto muito de Ruby e de Python |
AutoLISP ::: Dicas & Truques ::: Passos Iniciais |
O que é AutoLISP e como escrever seu primeiro programa nessa linguagem de programaçãoQuantidade de visualizações: 1743 vezes |
|
O que é AutoLISP? Se você chegou até este artigo vindo de um mecanismo de busca, é bem provável que você já saiba o que é a AutoLISP e para que ela serve. No entanto, é sempre bom reforçar. A AutoLISP é um dialeto, ou seja, uma derivação, da linguagem de programação LISP. LISP vem de LISt Processing (Processamento de listas, vetores, matrizes, etc). Imagina-se que a LISP seja a linguagem de programação de alto nível mais antiga que se conhece, perdendo apenas para o FORTRAN. Embutida por padrão no AutoCAD, a LISP é a linguagem preferida para inteligência artificial em robótica. Para que serve a AutoLISP no AutoCAD? A AutoLISP, como mencionei acima, é linguagem de programação padrão do AutoCAD e já vem embutida nele, da mesma forma que a linguagem Python já vem embutida no FreeCAD. É claro que podemos manipular os objetos do AutoCAD usando VBA (Visual Basic for Applications), mas esta opção já não vem mais embutida por padrão na ferramenta. No AutoCAD, a AutoLISP é usada para automatizar tarefas e tornar menos tediosos os desenhos com detalhes muito repetitivos. Um programa AutoLISP nos permite, entre outras coisas, desenhar linhas, círculos, retângulos, polígonos, etc, selecionar objetos no GA (área de desenho do AutoCAD), solicitar entrada do usuário, exibir saída, ler e escrever em arquivos e muitas outras funcionalidades. Como escrever e executar um programa AutoLISP no AutoCAD Agora que já sabemos o que é a AutoLISP e seus objetivos, vamos escrever nosso primeiro programa. Abra o seu editor de código favorito (aqui eu usei o Notepad++) e digite a seguinte listagem: ; Este programa é usado para desenhar uma ; linha a partir de dois pontos indicados ; pelo usuário (defun desenharLinha() ; Vamos obter o primeiro ponto e guardar suas ; coordenadas na variável p (setq p (getpoint "Clique primeiro ponto na GA")) ; Vamos obter o segundo ponto e guardar suas ; coordenadas na variável q (setq q (getpoint "\nClique segundo ponto na GA")) ; Agora chamamos o comando LINE passando os ; dois pontos geométricos obtidos (command "LINE" p q "") ) Veja que, já no início do código, nós temos uma função chamada desenharLinha(). Dessa forma, salve o arquivo com o nome "desenharLinha.lsp" no diretório de sua preferência. Como carregar um programa AutoLISP no AutoCAD? Agora que já temos o arquivo .lsp pronto, vamos aprender como carregá-lo no AutoCAD. Para isso, vá até o menu Manage e escolha a opção Load Application. Selecione o arquivo desejado e clique o botão Load. Se tudo correu bem, você receberá uma mensagem "_appload desenharLinha.lsp successfully loaded". Agora já podemos usar nossa rotina para desenhar linhas no AutoCAD. Com a aba Model ativada, digite: (DESENHARLINHA) na janela de comandos do AutoCAD. Ao pressionar Enter você verá a mensagem "Clique primeiro ponto na GA". Lembrando que GA é a General Arrangement Drawing, ou seja, a área de desenho. Dessa forma, clique na área de desenho para que o código AutoLISP registre o primeiro ponto (coordenadas x, y, z). No mesmo momento uma mensagem "Clique segundo ponto na GA" será exibida. Clique na área de desenho para registrar o segundo ponto e pronto! Você verá uma linha ser desenhada entre os dois pontos geométricos que você informou. |
Veja mais Dicas e truques de AutoLISP |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






