![]() |
|
|
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 |
||
|
||
|
|
||
Java ::: Classes e Componentes ::: JTree |
Java Swing - Como obter o texto do ítem selecionado na JTreeQuantidade de visualizações: 11805 vezes |
|
Nesta dica veremos como usar o método getLastSelectedPathComponent() da classe JTable do Java Swing para obter o texto do item (nó) selecionado na árvore. Veja como fazemos um cast (conversão) para um objeto da classe DefaultMutableTreeNode antes de podermos acessar o nó retornado. O resultado será igual ao que temos na imagem abaixo: ![]() Veja o código Java Swing completo para este exemplo:
package arquivodecodigos;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.tree.*;
public class Estudos extends JFrame{
JTree arvore;
public Estudos(){
super("Exemplo de uma JTree simples");
DefaultMutableTreeNode raiz = montarArvore();
arvore = new JTree(raiz);
JButton btn = new JButton("Obter Texto");
btn.addActionListener(
new ActionListener(){
@Override
public void actionPerformed(ActionEvent e){
if(!arvore.isSelectionEmpty()){
DefaultMutableTreeNode no = (DefaultMutableTreeNode)
arvore.getLastSelectedPathComponent();
JOptionPane.showMessageDialog(null,
"Texto do ítem selecionado: " + no.toString(),
"JTree", JOptionPane.INFORMATION_MESSAGE);
}
}
}
);
Container c = getContentPane();
c.setLayout(new FlowLayout());
JScrollPane scrollPane = new JScrollPane(arvore);
c.add(scrollPane);
c.add(btn);
setSize(400, 300);
setVisible(true);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
private DefaultMutableTreeNode montarArvore(){
DefaultMutableTreeNode raiz = new DefaultMutableTreeNode("Cidades");
DefaultMutableTreeNode regiao = new DefaultMutableTreeNode("Região");
regiao.add(new DefaultMutableTreeNode("Centro-Oeste"));
regiao.add(new DefaultMutableTreeNode("Norte"));
regiao.add(new DefaultMutableTreeNode("Sul"));
raiz.add(regiao);
return raiz;
}
}
|
Java ::: Java para Engenharia ::: Geometria Analítica e Álgebra Linear |
Como calcular a transposta de uma matriz em Java - Java para Geometria Analítica e Álgebra LinearQuantidade de visualizações: 4169 vezes |
|
A matriz transposta de uma matriz A é a matriz AT. Tal matriz é obtida quando copiamos os elementos da matriz A para uma outra matriz (ou para ela mesma) e trocamos de posição as linhas e colunas. Dessa forma, a primeira linha da matriz A se transforma na primeira coluna da matriz transposta, a segunda linha da matriz A se transforma na segunda coluna da matriz transposta e assim por diante. Em termos de notação, podemos dizer, de forma algébrica, que: ATji = Aij Onde i representa as linhas e j representa as colunas, tanto na matriz original quanto na matriz transposta. É importante estar atento à quantidade de linhas e colunas na matriz original e na matriz transposta equivalente. Assim, se a matriz original for 3x2, a matriz transposta será 2x3. Antes de vermos o código Java, dê uma olhada na seguinte matriz de duas linhas e três colunas: \[A = \left[\begin{matrix} 3 & 5 & 7 \\ 1 & 2 & 9 \end{matrix}\right] \] Sua matriz transposta correspondente é: \[A^T = \left[\begin{matrix} 3 & 1 \\ 5 & 2 \\ 7 & 9 \end{matrix}\right] \] E agora veja o código Java que declara uma matriz 2x3 e gera a matriz transposta 3x2:
package arquivodecodigos;
public class Estudos{
public static void main(String args[]){
// vamos declarar e construir uma matrix
// 2x3 (duas linhas e três colunas
int matriz[][] = {{3, 5, 7}, {1, 2, 9}};
// vamos exibir os valores da matriz
System.out.println("Elementos da matriz:");
for(int i = 0; i < matriz.length; i++){
for(int j = 0; j < matriz[0].length; j++){
System.out.printf("%5d ", matriz[i][j]);
}
System.out.println();
}
// como temos uma matriz 2x3, a transposta deverá ser
// 3x2, ou seja, três linhas e duas colunas
int linhas = matriz.length; // linhas da matriz original
int colunas = matriz[0].length; // colunas da matriz original
int transposta[][] = new int[colunas][linhas];
// e agora vamos preencher a matriz transposta
for(int i = 0; i < matriz.length; i++){
for(int j = 0; j < matriz[0].length; j++){
transposta[j][i] = matriz[i][j];
}
}
// vamos exibir os valores da matriz transposta
System.out.println("Elementos da matriz transposta:");
for(int i = 0; i < transposta.length; i++){
for(int j = 0; j < transposta[0].length; j++){
System.out.printf("%5d ", transposta[i][j]);
}
System.out.println();
}
}
}
Ao executar este código Java nós teremos o seguinte resultado:
Elementos da matriz:
3 5 7
1 2 9
Elementos da matriz transposta:
3 1
5 2
7 9
|
Java ::: Classes e Componentes ::: JComboBox |
Tutorial Java Swing - Como remover todos os itens de um JComboBox (Caixa de Combinação) em tempo de execuçãoQuantidade de visualizações: 13052 vezes |
|
Nesta dica mostrarei como é possível usar o método removeAllItems() da classe JComboBox para remover todos os seus itens. Note que criei a aplicação Java Swing na mão mesmo, sem usar nenhum editor visual de GUI, como o que está disponível no IDE Netbeans. Esta abordagem pode não ser produtiva, mas é excelente para entender como o Java Swing funciona. Veja o código completo para o exemplo:
package arquivodecodigos;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Estudos extends JFrame{
JComboBox combo;
public Estudos(){
super("A classe JComboBox");
Container c = getContentPane();
c.setLayout(new FlowLayout(FlowLayout.LEFT));
// Cria os itens da lista
String nomes[] = {"Carlos", "Marcelo", "Fabiana",
"Carolina", "Osmar"};
// Cria o JComboBox
combo = new JComboBox(nomes);
// Um botão que permite limpar o JComboBox
JButton btn = new JButton("Limpar");
btn.addActionListener(
new ActionListener(){
@Override
public void actionPerformed(ActionEvent e){
// remove todos os itens do JComboBox
combo.removeAllItems();
}
}
);
// Adiciona o JComboBox à janela
c.add(combo);
// Adiciona o botão à janela
c.add(btn);
setSize(350, 250);
setVisible(true);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Aqui os itens do JComboBox foram inseridos a partir de um vetor de String. |
Python ::: Dicas & Truques ::: Lista (List) |
Como adicionar uma lista Python ao final de outra usando o método extend()Quantidade de visualizações: 8366 vezes |
|
A função extend() do objeto List da linguagem Python nos permite adicionar todos os elementos de uma determinada lista ao final de outra lista. É claro que qualquer objeto que fornece uma forma de iteração pode ser passado ao método, incluindo uma List, um Set, uma Tuple, etc. Veja um trecho de código no qual criamos duas listas de inteiros e adicionamos todos os elementos da segunda lista ao final da primeira: """ Este exemplo mostra como adicionar os elementos de uma lista ao final de outra """ def main(): # cria uma lista de inteiros valores1 = [2, 5, 12, 2, 3] print(valores1) # cria uma lista de pontos-flutuantes valores2 = [4.3, 6.43, 8.1] print(valores2) # insere a segunda lista no final da primeira valores1.extend(valores2) # exibe o resultado final print(valores1) if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: [2, 5, 12, 2, 3] [4.3, 6.43, 8.1] [2, 5, 12, 2, 3, 4.3, 6.43, 8.1] |
C++ ::: Fundamentos da Linguagem ::: Tipos de Dados |
Como usar o tipo de dados int da linguagem C++Quantidade de visualizações: 11258 vezes |
O tipo de dados int da linguagem C++ é usado quando queremos representar números inteiros, ou seja, sem partes fracionárias. Veja um trecho de código demonstrando seu uso (note que estes estudos foram feitos no Windows XP - 32 bits - usando Dev-C++):
#include <iostream>
using namespace std;
int main(int argc, char *argv[]){
// declara uma variável do tipo int
int idade = 45;
cout << "A idade é: " << idade << "\n\n";
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
A capacidade de armazenamento do tipo int depende da arquitetura na qual o programa está sendo executado. Uma forma muito comum de descobrir esta capacidade é usar os símbolos INT_MIN e INT_MAX, definidos no header climits (limits.h). Veja:
#include <iostream>
using namespace std;
int main(int argc, char *argv[]){
cout << "Valor mínimo: " << INT_MIN << "\n";
cout << "Valor máximo: " << INT_MAX << "\n\n";
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
Ao executar este programa você terá um resultado parecido com: Valor mínimo: -2147483648 Valor máximo: 2147483647 Veja que o tipo inteiro aceita valores positivos e negativos. Tudo que você tem a fazer é tomar todo o cuidado para que os valores atribuidos a variáveis deste tipo não ultrapassem a faixa permitida. Veja um trecho de código que provoca o que chamamos de transbordamento (overflow):
#include <iostream>
using namespace std;
int main(int argc, char *argv[]){
int soma = INT_MAX + 2;
cout << "Resultado: " << soma << "\n";
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
Este programa exibirá o seguinte resultado: Resultado: -2147483647 Note que este não é o resultado esperado, visto que INT_MAX + 2 deveria retornar: 2147483647 + 2 = 2147483649 Porém, como o valor máximo que pode ser armazenado em um int é 2147483647, o procedimento adotado pelo compilador foi tornar o número negativo e subtrair 1. É claro que, se você testar este código em arquiteturas diferentes o resultado poderá ser diferente do exemplificado aqui. Em termos de bytes, é comum o tipo int ser armazenado em 4 bytes, o que resulta em 32 bits (um byte é formado por 8 bits, lembra?). Veja um trecho de código que mostra como usar o operador sizeof() para determinar a quantidade de bytes necessários para armazenar um variável do tipo int:
#include <iostream>
using namespace std;
int main(int argc, char *argv[]){
cout << "Tamanho de um int: " << sizeof(int)
<< "\n\n";
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
O resultado da execução deste código será algo como: Tamanho de um int: 4 bytes |
Desafios, Exercícios e Algoritmos Resolvidos de C++ |
Veja mais Dicas e truques de C++ |
Dicas e truques de outras linguagens |
|
Android Java - Como usar o método startActivity() da classe Activity ou AppCompatActivity do Android para mudar de telas |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





