![]() |
|
|
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 Ética e Legislação Profissional |
||
|
||
|
|
||
Java ::: Estruturas de Dados ::: Pilhas |
Como criar uma pilha em Java usando um vetor (array) - Estruturas de Dados em JavaQuantidade de visualizações: 3112 vezes |
A Pilha é uma estrutura de dados do tipo LIFO - Last-In, First-Out (Último a entrar, primeiro a sair). Neste tipo de estrutura, o último elemento a ser inserido é o primeiro a ser removido. Veja a imagem a seguir:![]() Embora seja mais comum a criação de uma estrutura de dados do tipo Pilha de forma dinâmica (usando ponteiros e referências), nesta dica eu mostrarei como podemos criá-la em Java usando um array, ou seja, um vetor. No exemplo eu usei inteiros, mas você pode modificar para o tipo de dados que você achar mais adequado. Veja o código completo para uma classe Pilha usando um vetor de ints. Veja que o tamanho do vetor é informado no construtor da classe. Note também a lógica empregada na construção dos métodos empilhar(), desempilhar() e imprimirPilha(): Código para Pilha.java:
package estudos;
public class Pilha {
private int elementos[]; // elementos na pilha
private int topo; // o elemento no topo da pilha
private int maximo; // a quantidade máxima de elementos na pilha
// construtor da classe Pilha
public Pilha(int tamanho) {
// constrói o vetor
this.elementos = new int[tamanho];
// define o topo como -1
this.topo = -1;
// ajusta o tamanho da pilha para o valor recebido
this.maximo = tamanho;
}
// método usado para empilhar um novo elemento na pilha
public void empilhar(int item) {
// a pilha já está cheia?
if (this.topo == (this.maximo - 1)) {
System.out.println("\nA pilha está cheia\n");
}
else {
// vamos inserir este elemento no topo da pilha
this.elementos[++this.topo] = item;
}
}
// méodo usado para desempilhar um elemento da pilha
public int desempilhar() {
// a pilha está vazia
if (this.topo == -1) {
System.out.println("\nA pilha está vazia\n");
return -1;
}
else {
System.out.println("Elemento desempilhado: " + elementos[topo]);
return this.elementos[this.topo--];
}
}
// método que permite imprimir o conteúdo da pilha
public void imprimirPilha() {
// pilha vazia
if (this.topo == -1) {
System.out.println("\nA pilha está vazia\n");
}
else {
// vamos percorrer todos os elementos da pilha
for (int i = 0; i <= this.topo; i++) {
System.out.println("Item[" + (i + 1) + "]: " + this.elementos[i]);
}
}
}
}
Veja agora o código para a classe principal, ou seja, a classe Main usada para testar a funcionalidade da nossa pilha: Código para Principal.java:
package estudos;
public class Estudos{
public static void main(String[] args){
// vamos criar uma nova pilha com capacidade para 5 elementos
Pilha p = new Pilha(5);
// vamos empilhar 3 elementos
p.empilhar(34);
p.empilhar(52);
p.empilhar(18);
// vamos mostrar os elementos na pilha
System.out.println("Itens presentes na Pilha\n");
p.imprimirPilha();
// agora vamos remover e retornar dois elementos da pilha
System.out.println();
p.desempilhar();
p.desempilhar();
// vamos mostrar os elementos na pilha novamente
System.out.println("\nItens presentes na Pilha\n");
p.imprimirPilha();
}
}
Ao executar este código Java nós teremos o seguinte resultado: Itens presentes na Pilha Item[1]: 34 Item[2]: 52 Item[3]: 18 Elemento desempilhado: 18 Elemento desempilhado: 52 Itens presentes na Pilha Item[1]: 34 |
Java ::: Dicas & Truques ::: Threads |
Java Threads - Como interromper a execução de uma thread em suas aplicações JavaQuantidade de visualizações: 15902 vezes |
|
A classe Thread fornece um método chamado interrupt() que serve para interrompermos a execução de uma determinada thread. Os métodos sleep() e yield() transferem a thread sendo executada no momento do estado "executando" para o estado "pronta". O método interrupt(), por sua vez, faz com que uma thread vá para o estado "finalizada", ou seja, ela não voltará mais a ser executada. O problema é que, nem sempre, o método interrupt() parece surtir o efeito desejado, ou seja, fazer com que a thread pare de executar imediatamente. Por esta razão, a forma mais fácil de "matar" uma thread é forçar a saída de seu método run(). Veja um exemplo:
// criamos uma classe que servirá como thread
class MinhaThread extends Thread{
private String nome;
public MinhaThread(String nome){
this.nome = nome;
}
public void run(){
for(int i = 1; i <= 20; i++){
System.out.println(nome + ": " + i);
if((i >= 3) && (nome.equals("Thread 1"))){
try{
System.out.println(nome + " foi eliminada");
return; // interrompe a execução do método run()
}
catch(SecurityException e){
System.out.println(e.getMessage());
}
}
}
}
}
public class Estudos{
public static void main(String[] args){
// vamos criar duas threads
MinhaThread t1 = new MinhaThread("Thread 1");
t1.start();
MinhaThread t2 = new MinhaThread("Thread 2");
t2.start();
}
}
Ao usar a instrução return nós forçamos a saída do método run() e consequentemente, o fim da tarefa sendo realizada pela thread. |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Fenômenos dos Transportes, Hidráulica e Drenagem |
Exercício Resolvido de Python - Determine a vazão escoada em um canal com seção retangular, com lâmina d´água de 2,00m e largura de base igual a 3,00m e declividade 0,2m por KmQuantidade de visualizações: 1054 vezes |
|
Exercício Resolvido de Python - Determine a vazão escoada em um canal com seção retangular, com lâmina d'água de 2,00m e largura de base igual a 3,00m e declividade 0,2m por Km Pergunta/Tarefa: Python para Fenômenos dos Transportes, Hidráulica e Drenagem. Python para cálculo de vazão em condutos livres. Fórmula de Manning para a velocidade de escoamento. Neste exercício em Python veremos como calcular a vazão de um canal com seção retangular. Para isso nós vamos usar a Equação de Manning da velocidade do escoamento. Determine a vazão escoada em um canal com seção retangular, com lâmina d'água de 2,00m e largura de base igual a 3,00m e declividade 0,2m por Km. Utilize η=0,012. ![]() Sua saída deverá ser parecida com: Informe a Largura da Base do Canal (em metros): 3 Informe a Profundidade do Escoamento (em metros): 2 Informe a Declividade do Canal (em metros por km): 0.2 Informe o Coeficiente de Rugosidade do Canal: 0.012 A Área Molhada do Canal é: 6.0 m2 O Perímetro Molhado do Canal é: 7.0 m O Raio Hidráulico do Canal é: 0.8571428571428571 m A Velocidade do Escoamento é: 1.0634144533132281 m/s A Vazão do Canal é: 6.380486719879369 m3/s Veja a resolução completa para o exercício em Python, comentada linha a linha:
# vamos importar o módulo Math
import math
# método principal
def main():
# vamos ler a largura do canal em metros
b = float(input("Informe a Largura da Base do Canal (em metros): "))
# vamos ler a profundida do escoamento em metros
h = float(input("Informe a Profundidade do Escoamento (em metros): "))
# vamos obter a declividade do canal em metros por quilômetros
I = float(input("Informe a Declividade do Canal (em metros por km): "))
# vamos converter a declividade em metro por metro
I = I / 1000.0
# vamos ler o coeficiente de rugosidade do canal
n = float(input("Informe o Coeficiente de Rugosidade do Canal: "))
# vamos calcular a área molhada
am = b * h
# agora vamos calcular o perímetro molhado
pm = b + 2 * h
# finalmente calculamos o raio hidráulico
rh = am / pm
# agora vamos usar a equação de manning para calcular a velocidade do escoamento
v = math.pow(rh, 2.0 / 3.0) * (math.sqrt(I) / n)
# finalmente calculamos a vazão do canal
Q = am * v
# e mostramos os resultados
print("\nA Área Molhada do Canal é: {0} m2".format(am))
print("O Perímetro Molhado do Canal é: {0} m".format(pm))
print("O Raio Hidráulico do Canal é: {0} m".format(rh))
print("A Velocidade do Escoamento é: {0} m/s".format(v))
print("A Vazão do Canal é: {0} m3/s".format(Q))
if __name__== "__main__":
main()
|
VB.NET ::: Dicas & Truques ::: Sistema |
Como retornar a versão do .NET a partir de seus códigos VB.NET usando Environment.Version.ToString()Quantidade de visualizações: 7942 vezes |
|
Em algumas situações nós precisamos saber qual a versão do .NET Framework no qual nosso programa VB.NET está sendo executado. Para isso nós podemos usar o método Environment.Version.ToString(), que retorna a versão do Runtime do .NET Framework como uma string. Veja o código completo para o exemplo:
Imports System
Module Program
Sub Main(args As String())
' vamos obter a versão do .NET
Dim versao As String = Environment.Version.ToString()
' vamos mostrar o resultado
Console.WriteLine("A versão do .NET é: " & versao)
Console.WriteLine(vbCrLf & "Pressione qualquer tecla para sair...")
' pausa o programa
Console.ReadKey()
End Sub
End Module
Ao executar este código VB.NET nós teremos o seguinte resultado: A versão do .NET é: 3.1.23 |
C ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o comprimento da hipotenusa em C dadas as medidas do cateto oposto e do cateto adjascenteQuantidade de visualizações: 2232 vezes |
Nesta dica mostrarei como é possível usar a linguagem C para retornar o comprimento da hipotenusa dadas as medidas do cateto oposto e do cateto adjascente. Vamos começar analisando a imagem a seguir:![]() Veja que, nessa imagem, eu já coloquei os comprimentos da hipotenusa, do cateto oposto e do cateto adjascente. Para facilitar a conferência dos cálculos, eu coloquei também os ângulos theta (que alguns livros chamam de alfa) e beta já devidamente calculados. Então, sabendo que o quadrado da hipotenusa é igual à soma dos quadrados dos catetos (Teorema de Pitógoras): \[c^2 = a^2 + b^2\] Tudo que temos a fazer a converter esta fórmula para código C. Veja:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(int argc, char *argv[]){
float a = 20; // medida do cateto oposto
float b = 30; // medida do cateto adjascente
// agora vamos calcular o comprimento da hipotenusa
float c = sqrt(pow(a, 2) + pow(b, 2));
// e mostramos o resultado
printf("O comprimento da hipotenusa é: %f", c);
printf("\n\n");
system("PAUSE");
return 0;
}
Ao executar este código C nós teremos o seguinte resultado: O comprimento da hipotenusa é: 36.055511 Como podemos ver, o resultado retornado com o código C confere com os valores da imagem apresentada. |
Desafios, Exercícios e Algoritmos Resolvidos de C |
Veja mais Dicas e truques de C |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |







