![]() |
|
|
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 ::: Dicas & Truques ::: Entrada e Saída em Arquivos (File Input/Output - IO) |
Como ler o conteúdo de um arquivo uma linha de cada vez usando o método readLine() da classe RandomAccessFile da linguagem JavaQuantidade de visualizações: 13798 vezes |
|
Uma das operações mais frequentes em um programa é a leitura do conteúdo de arquivos. A classe RandomAccessFile nos fornece o método readLine() que é muito útil quando precisamos ler as linhas de conteúdo em um arquivo. O método readLine() lê bytes consecutivos do arquivo, começando na posição atual do ponteiro de arquivos até alcançar um caractere marcador de final de linha ou o fim do arquivo. Cada byte é convertido em um caractere tomando-se o valor do byte para os oito bits de menor ordem do caractere e definindo os oito bits de ordem alta do caractere como zero. Desta forma, este método não suporta Unicode completamente. Uma linha de texto é finalizada por um caractere de retorno de carro ("\r"), um caractere de nova linha ("\n"), um caractere de retorno de carro seguido por um caractere de nova linha, ou o final do arquivo. Caracteres de final de linha não são incluídos na string retornada pelo método. É importante observar que, a cada chamada ao método readLine(), o ponteiro de arquivo é avançado e posicionado para a leitura subsequente. Veja o exemplo:
import java.io.*;
public class Estudos{
public static void main(String[] args){
// uma instância de RandomAccessFile para leitura e escrita
try{
RandomAccessFile arquivo =
new RandomAccessFile("C:\\java\\conteudo.txt", "rw");
// vamos ler o conteúdo do arquivo uma linha de cada vez
String linha;
while((linha = arquivo.readLine()) != null){
System.out.println("Posição do ponteiro: " +
arquivo.getFilePointer());
System.out.println(linha);
}
arquivo.close();
}
catch(FileNotFoundException fnfe){
System.out.println(fnfe.getMessage());
}
catch(IOException ioe){
System.out.println(ioe.getMessage());
}
System.exit(0);
}
}
Ao executar este exemplo nós teremos o seguinte resultado: Posição do ponteiro: 27 Primeira linha do arquivo Posição do ponteiro: 53 Segunda linha do arquivo Posição do ponteiro: 78 Terceira linha do arquivo |
Delphi ::: VCL - Visual Component Library ::: TListBox |
Como excluir o item ou itens selecionados em uma TListBox do Delphi usando a função DeleteSelectedQuantidade de visualizações: 14002 vezes |
Em algumas ocasiões nós precisamos excluir o item ou os itens selecionados em uma TListBox. Isso pode ser feito com o auxílio do método DeleteSelected da classe TListBox. Veja um trecho de código no qual excluímos apenas o item selecionado:
procedure TForm3.FormCreate(Sender: TObject);
begin
// vamos adicionar alguns itens na ListBox
ListBox1.Items.Add('Goiânia');
ListBox1.Items.Add('Curitiba');
ListBox1.Items.Add('Brasilia');
end;
procedure TForm3.Button1Click(Sender: TObject);
begin
// vamos excluir o item selecionado
ListBox1.DeleteSelected;
end;
É possível conseguir o mesmo resultado usando o método Delete() do objeto Items (do tipo TStrings). Veja: procedure TForm3.Button1Click(Sender: TObject); begin // vamos excluir o item selecionado ListBox1.Items.Delete(ListBox1.ItemIndex); end; Note que o método Delete() do objeto Items exige o índice do elemento a ser removido. Com o método DeleteSelected da classe TListBox esta exigência não existe. Além disso, o método DeleteSelected permite excluir mais de um elemento selecionado, ou seja, ele excluir todos os elementos selecionados. Veja:
procedure TForm3.FormCreate(Sender: TObject);
begin
// vamos adicionar alguns itens na ListBox
ListBox1.Items.Add('Goiânia');
ListBox1.Items.Add('Curitiba');
ListBox1.Items.Add('Brasilia');
// para que este exemplo funcione corretamente, a ListBox
// deverá permitir seleção múltipla
ListBox1.MultiSelect := True;
end;
procedure TForm3.Button1Click(Sender: TObject);
begin
// vamos excluir todos os itens selecionados
ListBox1.DeleteSelected;
end;
Execute este código, selecione mais de um item e clique no botão para verificar o resultado. Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
C# ::: Windows Forms ::: Formulários e Janelas |
C# Windows Forms - Como obter a quantidade de controles em um formulário usando a propriedade Controls.CountQuantidade de visualizações: 8939 vezes |
|
Em algumas situações nós precisamos saber quantos controles existem atualmente em um formulário Windows Forms. Isso pode ser feito com uma chamada à propriedade Count da classe ControlCollection. Um objeto da classe ControlCollection é retornado quando acessamos a propriedade Controls de um formulário (e presente também em outros controles que podem conter controles filhos). Veja um trecho de código no qual obtemos a quantidade de controles em um formulário ao clicarmos em um botão:
private void button1_Click(object sender, EventArgs e){
// vamos obter a quantidade de controles no formulário
int quantControles = this.Controls.Count;
// vamos exibir o resultado
MessageBox.Show("O formulário contém " + quantControles +
" controles.");
}
Note que a coleção ControlCollection retorna apenas os controles visuais no formulário, ou seja, componentes tais como Timer, DirectoryEntry, etc, não são incluídos. |
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: 4932 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]] |
Python ::: Dicas & Truques ::: Ordenação e Pesquisa (Busca) |
Como usar a busca binária em Python - Pesquisa binária na linguagem PythonQuantidade de visualizações: 1059 vezes |
|
A busca binária, ou pesquisa binária, é um algoritmo eficiente para encontrar um item em uma lista (vetor ou array) ordenada. Sim, os itens devem, obrigatoriamente, estar ordenados. O processo é bem simples. A busca binária começa a partir do meio da lista e compara o item nesta posição com o valor sendo pesquisado. Se o valor não for encontrado e for menor que o item no meio da lista, o algoritmo passa para a porção à esquerda da lista, eliminando, assim, metade dos elementos do vetor ou array (a porção maior que o valor pesquisado). Se o valor não for encontrado e for maior que o item no meio da lista, então a busca reinicia a partir da metade da sub-lista à direita (os itens maiores que o valor pesquisado). Essa divisão continua até que o valor seja encontrado ou não seja mais possível dividir a lista pela metade. Se um array ou vetor possuir 100 elementos e usarmos a busca binária nele, precisaremos efetuar no máximo 7 tentativas para encontrar o valor desejado. Se a lista possuir 4 bilhões de itens nós teremos que fazer no máximo 32 tentativas. Isso acontece porque a pesquisa binária é executada em tempo logarítmico, ou seja, log2 n, onde n é a quantidade de itens no vetor. Dessa forma, se tivemos 1.000 itens em um array, log2 1000 = 10 tentativas. Lembre-se de que, na programação log e log2 retornam resultados diferentes: log(10) = 2.302585092994046 enquanto log2(10) = 3.321928094887362. Na análise da busca binária nós usamos sempre log2. Vamos agora ver como podemos codificar a busca binária em Python. Veja o código a seguir:
# função principal do programa
def main():
# vamos criar uma lista ordenada de inteiros
valores = [3, 5, 7, 8, 9, 12, 43, 50, 52, 60]
print("Os valores da lista são: {0}".format(valores))
# vamos pedir o item a ser pesquisado
numero = int(input("Informe o número a ser pesquisado: "))
# agora vamos pesquisar o número no array usando a pesquisa
# binária
# a variável esquerda aponta para o primeiro elemento do vetor
esquerda = 0
# a variável direita aponta para o último elemento do vetor
direita = len(valores) - 1
# para indicar se o valor foi encontrado
encontrado = False
# enquanto houver mais de um elemento a ser comparado
while esquerda <= direita:
# obtemos o elemento na metade da lista
meio = (esquerda + direita) // 2
# fazemos a comparação
if numero == valores[meio]:
print("O número foi encontrado no índice {0}".format(
meio))
encontrado = True
break # sai do laço
# o item atual é maior que o valor pesquisado?
if valores[meio] > numero:
direita = meio - 1
# o item atual é menor que o valor pesquisado?
else:
esquerda = meio + 1
# o valor foi encontrado?
if not encontrado:
print("O valor pesquisado não foi encontrado")
if __name__== "__main__":
main()
Ao executar este código Python nós teremos o seguinte resultado: Os valores da lista são: [3, 5, 7, 8, 9, 12, 43, 50, 52, 60] Informe o número a ser pesquisado: 9 O número foi encontrado no índice 4 |
Desafios, Exercícios e Algoritmos Resolvidos de Python |
Veja mais Dicas e truques de Python |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |



