![]() |
|
|
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 - Construção Civil |
||
|
||
|
|
||
Python ::: NumPy Python Library (Biblioteca Python NumPy) ::: Números Aleatórios, Números Randômicos, Amostras Aleatórias, Amostras Randômicas |
Como gerar um número randômico em Python usando a função rand() do módulo random da NumPyQuantidade de visualizações: 979 vezes |
Em algumas situações nós precisamos gerar um número aleatório na faixa de 0 e 1 (não incluído). Para isso nós podemos usar a função rand() do módulo random da biblioteca NumPy do Python. Veja um exemplo:
# importamos o módulo random da biblioteca NumPy
import numpy as np
# método principal
def main():
# vamos gerar um número decimal aleatório de 0 (incluído)
# à 1 (não incluído)
valor = np.random.rand()
print("O número sorteado foi: {0}".format(valor))
if __name__== "__main__":
main()
Ao executar este código Python nós teremos o seguinte resultado: O número sorteado foi: 0.2037063569952866 Note que o número retornado pela função rand() é um float com uma precisão semelhante ao double em outras linguagens de programação. Veja agora uma modificação deste código para gerar 10 números aleatórios:
# importamos o módulo random da biblioteca NumPy
import numpy as np
# método principal
def main():
# vamos gerar 10 números decimais aleatórios de 0 (incluído)
# à 1 (não incluído)
for i in range(10):
valor = np.random.rand()
print("O número sorteado foi: {0}".format(valor))
if __name__== "__main__":
main()
Ao executar este código Python nós teremos o seguinte resultado: O número sorteado foi: 0.57920714427429 O número sorteado foi: 0.06329414607318185 O número sorteado foi: 0.12184477988071851 O número sorteado foi: 0.5410663009618577 O número sorteado foi: 0.790229323250604 O número sorteado foi: 0.4733277307431061 O número sorteado foi: 0.7669969432159425 O número sorteado foi: 0.6934927410217504 O número sorteado foi: 0.13216036543343856 O número sorteado foi: 0.6958612722883786 |
Java ::: Estruturas de Dados ::: Lista Ligada Simples |
Estruturas de Dados em Java - Como inserir nós no início de uma lista singularmente ligada em JavaQuantidade de visualizações: 10715 vezes |
Esta dica mostra como inserir nós no início de uma lista singularmente ligada. A classe usada para representar cada nó é a seguinte (No.java):
// classe No
public class No{
public int valor;
public No proximo;
}
// fim da classe No
Note que cada nó contém apenas um valor inteiro e um ponteiro para o próximo nó. Ao analisar o código você perceberá que tanto a inserção no início quanto a exibição dos nós são feitas usando métodos. Isso permitirá o reaproveitamento deste código em suas próprias implementações. Vamos ao código para a lista singularmente ligada (Lista.java):
public class Lista{
No inicio; // início da lista
// método que permite exibir os valores de
// todos os nós da lista
public void exibir(){
if(inicio != null){
do{
System.out.println(inicio.valor);
inicio = inicio.proximo;
}while(inicio != null);
}
else
System.out.println("A lista esta vazia\n\n");
}
// método que permite inserir nós no
// início da lista.
// veja que o método recebe o valor a ser
// armazenado em cada nó
public void inserirInicio(int v){
No novo;
// verifica se a lista está vazia
if(inicio == null){
// reserva memória para o novo nó
inicio = new No();
inicio.valor = v;
// é o primeiro nó...não deve apontar para
// lugar nenhum
inicio.proximo = null;
}
else{ // não está vazia....vamos inserir o nó no início
// vamos criar um novo nó agora
novo = new No();
// atribui o valor do nó
novo.valor = v;
// define o inicio da lista como campo proximo
// do novo nó
novo.proximo = inicio;
// o novo nó é o início da lista agora
inicio = novo;
}
}
}
Compile as classes No.java e Lista.java e vamos escrever um aplicativo de teste (TesteLista.java):
public class TesteLista{
public static void main(String args[]){
// vamos criar uma nova lista
Lista lista = new Lista();
// vamos inserir quatro valores no
// início da lista
lista.inserirInicio(45);
lista.inserirInicio(3);
lista.inserirInicio(98);
lista.inserirInicio(17);
// exibe os valores na lista
lista.exibir();
System.exit(0);
}
}
|
C ::: Dicas & Truques ::: Strings e Caracteres |
Como verificar se uma string é igual, maior ou menor que outra em C usando a função strcmp()Quantidade de visualizações: 23162 vezes |
|
A função strcmp() da linguagem C pode ser usada para verificar se uma string é igual, maior ou menor que outra. Esta função, presente no header string.h aceita duas strings e retorna um valor inteiro: 0 se as strings forem iguais; maior que 0 se a primeira string for maior que a segunda e menor que 0 se a primeira string for menor que a segunda. Veja um exemplo de seu uso:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[]){
char palavra1[] = "Java";
char palavra2[] = "JavaScript";
if(strcmp(palavra1, palavra2) == 0){
printf("As palavras sao iguais");
}
else if(strcmp(palavra1, palavra2) > 0){
printf("A primeira string e maior que a segunda");
}
else if(strcmp(palavra1, palavra2) < 0){
printf("A segunda string e maior que a primeira");
}
puts("\n\n");
system("PAUSE");
return 0;
}
Ao executar este código C nós teremos o seguinte resultado: A segunda string é maior que a primeira. |
C ::: C para Engenharia ::: Física - Mecânica |
Como calcular Velocidade Vetorial Média usando a linguagem C - C para Engenharia - Física - Mecânica - CinemáticaQuantidade de visualizações: 3496 vezes |
|
Como calcular Velocidade Vetorial Média usando a linguagem C Na Física, mais especificamente na Mecânica e Cinemática, nós estamos o tempo todo interessados em medir a "rapidez" com que uma partícula se move de um ponto para outro ponto. Por partícula podemos entender qualquer móvel: um carro, um avião, uma bola, uma pessoa, etc. No caso de um movimento bidimensional ou tridimensional nós devemos considerar a grandeza velocidade média como vetores e usar a notação vetorial. Em outras dicas do site você encontrará cálculos envolvendo vetores e até mesmo calculadoras com as operações vetoriais mais comuns. Dessa forma, a fórmula para obtenção da Velocidade Vetorial Média é: \[\vec{v}_\text{méd} = \frac{\Delta \vec{r}}{\Delta t} \] Onde __$\Delta \vec{r}__$ é a variação da posição da partícula e __$\Delta t__$ é a variação do tempo entre os dois deslocamentos cuja velocidade vetorial média querermos medir. Antes de vermos o código C, dê uma boa olhada na imagem a seguir: ![]() Nosso objetivo será calcular a velocidade vetorial média da partícula saindo da posição __$\vec{r}_1__$ = 10__$\hat{\imath}__$ + 7__$\hat{\jmath}__$ m (10, 7), no instante t1 = 2s, e indo para a posição __$\vec{r}_2__$ = 12__$\hat{\imath}__$ + 2__$\hat{\jmath}__$ m (12, 2) em t2 = 7s. Note que o trajeto da partícula foi marcado de verde na imagem. E agora, finalmente, vamos ao código C que lê os valores das coordenadas x e y dos dois vetores de posições (inicial e final), o tempo de deslocamento inicial e final e mostra o vetor velocidade média:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]){
// coordenadas dos dois vetores de posições
float x1, y1, x2, y2;
// guarda o vetor delta r (variação do deslocamento)
float delta_r_x, delta_r_y;
// guarda o tempo inicial, tempo final e variacao (em segundos)
float tempo_inicial, tempo_final, delta_t;
// guarda as coordenadas do vetor velocidade
float vetor_vm_x, vetor_vm_y;
// x e y do primeiro vetor
printf("Coordenada x do primeiro vetor: ");
scanf("%f", &x1);
printf("Coordenada y do primeiro vetor: ");
scanf("%f", &y1);
// x e y do segundo vetor
printf("Coordenada x do segundo vetor: ");
scanf("%f", &x2);
printf("Coordenada y do segundo vetor: ");
scanf("%f", &y2);
// vamos ler o tempo inicial e tempo final
printf("Tempo inicial em segundos: ");
scanf("%f", &tempo_inicial);
printf("Tempo final em segundos: ");
scanf("%f", &tempo_final);
// vamos calcular o vetor delta r
delta_r_x = x2 - x1;
delta_r_y = y2 - y1;
// vamos calcular o delta t (variação do tempo)
delta_t = tempo_final - tempo_inicial;
// finalmente calculamos o vetor velocidade média
vetor_vm_x = delta_r_x / delta_t;
vetor_vm_y = delta_r_y / delta_t;
// mostramos o resultado
printf("O Vetor Velocidade Média é: (%.2f, %.2f)m/s",
vetor_vm_x, vetor_vm_y);
printf("\n\n");
system("PAUSE");
return 0;
}
Ao executar este código C nós teremos o seguinte resultado: Coordenada x do primeiro vetor: 10 Coordenada y do primeiro vetor: 7 Coordenada x do segundo vetor: 12 Coordenada y do segundo vetor: 2 Tempo inicial em segundos: 2 Tempo final em segundos: 7 O Vetor Velocidade Média é: (0.40, -1.00)m/s Pressione qualquer tecla para continuar. . . Note que aqui nós estamos usando vetores do R2, mas o processo é o mesmo para vetores do R3. |
Delphi ::: Dicas & Truques ::: Imagens e Processamento de Imagens |
Como capturar um screenshot da área de trabalho e salvá-lo como um Bitmap usando DelphiQuantidade de visualizações: 14104 vezes |
|
Em algumas situações precisamos capturar um screenshot da área de trabalho (Windows Desktop) e salvá-lo como um Bitmap. Esta dica mostra como isso pode ser feito. Note que aqui estamos salvando o bitmap gerado no mesmo diretório do executável. Caso queira salvar o resultado em outra pasta ou diretório, consulte minhas dicas sobre a manipulação de arquivos e diretórios usando Delphi. Veja o código (coloquei no evento OnClick de um botão:
procedure TForm2.Button1Click(Sender: TObject);
var
DCDesk: HDC;
bmp: TBitmap;
begin
// vamos criar o Bitmap
bmp := TBitmap.Create;
// vamos definir o tamanho do bitmap
bmp.Height := Screen.Height;
bmp.Width := Screen.Width;
// aqui nós obtemos um handle para o contexto de dispositivo
// de exibição do Desktop
DCDesk := GetWindowDC(GetDesktopWindow);
// vamos copiar a imagem do desktop para o bitmap criado
// anteriormente
BitBlt(bmp.Canvas.Handle, 0, 0, Screen.Width, Screen.Height,
DCDesk, 0, 0, SRCCOPY);
// salvamos o bitmap
bmp.SaveToFile('screenshot.bmp');
// liberamos o handle do desktop
ReleaseDC(GetDesktopWindow, DCDesk);
// e finalmente liberamos o bitmap
bmp.Free;
ShowMessage('Screenshot criado com sucesso.');
end;
Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Desafios, Exercícios e Algoritmos Resolvidos de Delphi |
Veja mais Dicas e truques de Delphi |
|
Como selecionar um item de uma ListBox do Delphi em tempo de execução usando a propriedade ItemIndex |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






