![]() |
|
|
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 Hidrostática |
||
|
||
|
|
||
Python ::: Dicas & Truques ::: Lista (List) |
Como contar quantas vezes um elemento aparece em uma lista do Python usando a função count()Quantidade de visualizações: 8949 vezes |
|
Em várias situações nós precisamos contar as ocorrências de um item em uma List do Python, ou seja, queremos saber quantas vezes um determinado elemento aparece na lista. Para isso nós podemos usar a função count() do objeto List. Veja um código Python completo demonstrando seu uso:
# função principal do programa
def main():
# cria uma lista de inteiros
valores = [2, 5, 12, 2, 3, 2, 17]
# vamos mostrar o conteúdo dessa lista
print("Conteúdo da lista: {0}".format(valores))
# verifica a quantidade de vezes que o
# valor 2 aparece
print("O valor 2 aparece", valores.count(2), "vezes")
if __name__== "__main__":
main()
Ao executar este código Python nós teremos o seguinte resultado: Conteúdo da lista: [2, 5, 12, 2, 3, 2, 17] O valor 2 aparece 3 vezes |
Python ::: NumPy Python Library (Biblioteca Python NumPy) ::: Arrays e Matrix (Vetores e Matrizes) |
Como multiplicar um vetor ou uma matriz por um escalar no NumPy do Python - Python NumPy para EngenhariaQuantidade de visualizações: 4915 vezes |
|
Esta dica de Python e NumPy é direcionada, principalmente, aos estudantes de Engenharia Civil, que se deparam, logo no início do curso, com o estudo da Geometria Analítica e gostariam de entender melhor a multiplicação de vetores por um escalar. Lembre-se de que um escalar é um valor único, enquanto vetores e matrizes são estruturas que guardam vários valores ao mesmo tempo. Nosso primeiro exemplo será feito em cima de um vetor com os seguintes valores: [3, -5, 4, 1, 9]. O escalar usado será o valor 2, ou seja, temos que multiplicar cada valor no vetor pelo valor 2 e, dessa forma, obtermos um novo vetor. Veja como a linguagem Python facilita esta operação:
# importamos a bibliteca NumPy
import numpy as np
def main():
# declara e cria o vetor
vetor = np.array([3, -5, 4, 1, 9])
# agora vamos multiplicar este vetor pelo escalar 2
escalar = 2
novoVetor = vetor * escalar
# vamos exibir o resultado
print("Vetor inicial: ", vetor)
print("Valor do escalar: ", escalar)
print("Novo vetor: ", novoVetor)
if __name__== "__main__":
main()
Este código Python vai gerar o seguinte resultado: Vetor inicial: [3 -5 4 1 9] Valor do escalar: 2 Novo vetor: [6 -10 8 2 18] Veja agora como podemos efetuar a mesma operação em uma matriz de 2 linhas e 3 colunas (recorde que, em Python, uma matriz nada mais é que um vetor de vetores, ou seja, cada elemento do vetor contém outro vetor):
# importamos a bibliteca NumPy
import numpy as np
def main():
# declara e cria a matriz
matriz = np.array([(4, 12, 50), (5, 3, 1), (11, 9, 7)])
# agora vamos multiplicar esta matriz pelo escalar 2
escalar = 2
novaMatriz = matriz * escalar
# vamos exibir o resultado
print("Matriz inicial: ", matriz)
print("Valor do escalar: ", escalar)
print("Nova matriz: ", novaMatriz)
if __name__== "__main__":
main()
Ao executarmos este código Python nós teremos o seguinte resultado: Matriz inicial: [[4 12 50] [5 3 1] [11 9 7]] Valor do escalar: 2 Nova matriz: [[8 24 100] [10 6 2] [22 18 14]] |
Delphi ::: VCL - Visual Component Library ::: TComboBox |
Como detectar o evento OnSelect da classe TComboBox do DelphiQuantidade de visualizações: 14078 vezes |
|
O evento OnSelect da classe TComboBox é disparado quando o usuário seleciona um item (uma string) na lista drop-down do componente. Este evento possui a seguinte assinatura: property OnSelect: TNotifyEvent; Um evento do tipo TNotifyEvent não possui parâmetros específicos ao evento ocorrido. Assim, no evento OnSelect temos acesso somente ao parâmetro Sender, do tipo TObject, que nos informa em qual componente o evento ocorreu. Vamos ver um exemplo? Veja o código para o tratamento do evento OnSelect de um ComboBox. Aqui, todas as vezes que o evento disparar, nós vamos exibir o valor do novo item:
procedure TForm3.ComboBox1Select(Sender: TObject);
begin
// vamos mostrar o novo item selecionado
ShowMessage('O novo item selecionado é: ' +
ComboBox1.Items[ComboBox1.ItemIndex]);
end;
Note que o evento OnSelect é disparado somente após a mudança de seleção e, consequentemente, a atualização da propriedade Text, que deverá refletir o novo item. |
Java ::: Reflection (introspecção) e RTI (Runtime Type Information) ::: Passos Iniciais |
Como retornar o nome de uma classe Java usando os métodos getClass() e getName()Quantidade de visualizações: 14301 vezes |
|
Entre os métodos que uma classe herda da classe Object, está o método getClass(). Este método retorna um objeto da classe Class e podemos tirar proveito disso para fazer em encadeamento e chamar também o método getName() para obter o nome de uma determinada classe. Veja o exemplo no qual obtemos uma String contendo o nome de uma classe (juntamente com o nome do pacote ao qual ela pertence):
import javax.swing.*;
public class Estudos{
public static void main(String args[]){
JButton btn = new JButton();
String nomeClasse = btn.getClass().getName();
System.out.println(nomeClasse);
// exibirá: "javax.swing.JButton"
System.exit(0);
}
}
Ao executarmos este código nós teremos o seguinte resultado: javax.swing.JButton |
Java ::: Aplicativos Completos ::: Fontes |
Como criar um visualizador de fontes em Java Swing - Código fonte completoQuantidade de visualizações: 11279 vezes |
|
Código completo Java: Como escrever um visualizador de fontes em Java Swing Nesta dica eu mostro o código completo para uma aplicação GUI usado Java Swing e que permite visualizar as fontes instaladas no sistema. Ao clicar em uma das fontes exibidas em uma JList, o texto da JLabel é formatado de acordo com a fonte escolhida. Note que montei toda a GUI em código mesmo, ou seja, sem usar o editor visual do Netbeans ou outra IDE. Esse é um bom exercício para entender os elementos que compõem interfaces gráficas do Java Swing. Eis o código completo para o exemplo:
package arquivodecodigos;
import java.awt.*;
import javax.swing.*;
import javax.swing.event.*;
import java.util.*;
public class Estudos extends JFrame
implements ListSelectionListener{
JLabel label = new JLabel("Observe este texto");
public Estudos(){
super("Visualizados de Fontes");
String[] fontNames; // nomes das fontes
Toolkit toolkit = Toolkit.getDefaultToolkit();
fontNames =
GraphicsEnvironment.getLocalGraphicsEnvironment().
getAvailableFontFamilyNames();
Vector fonts = new Vector();
for(int i = 0; i < fontNames.length; i++){
fonts.add(new Font(fontNames[i], Font.PLAIN, 16));
}
JList fontList = new JList(fonts);
fontList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
fontList.setCellRenderer(new FontCellRenderer());
JScrollPane scrollPane = new JScrollPane(fontList);
JPanel p = new JPanel();
p.add(scrollPane);
fontList.addListSelectionListener(this);
getContentPane().add(p, "Center");
getContentPane().add(label, "South");
setSize(500, 250);
setVisible(true);
}
@Override
public void valueChanged(ListSelectionEvent evt){
JList source = (JList) evt.getSource();
Font font = (Font) source.getSelectedValue();
label.setFont(font);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
// Classe personalizada que implementa ListCellRenderer
class FontCellRenderer implements ListCellRenderer{
@Override
public Component getListCellRendererComponent(
final JList list, final Object value,
final int index, final boolean isSelected,
final boolean cellHasFocus){
return new JPanel(){
@Override
public void paintComponent(Graphics g){
super.paintComponent(g);
Font font = (Font) value;
String text = font.getFamily();
FontMetrics fm = g.getFontMetrics(font);
g.setColor(isSelected ? list.getSelectionBackground()
: list.getBackground());
g.fillRect(0, 0, getWidth(), getHeight());
g.setColor(isSelected ? list.getSelectionForeground()
: list.getForeground());
g.setFont(font);
g.drawString(text, 0, fm.getAscent());
}
@Override
public Dimension getPreferredSize() {
Font font = (Font) value;
String text = font.getFamily();
Graphics g = getGraphics();
FontMetrics fm = g.getFontMetrics(font);
return new Dimension(fm.stringWidth(text), fm.getHeight());
}
};
}
}
Ao executá-lo você terá um resultado parecido com: ![]() |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






