![]() |
|
|
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. |
||
Python ::: Desafios e Lista de Exercícios Resolvidos ::: NumPy Python Library |
Exercício Resolvido de Python NumPy - Como importar a biblioteca NumPy e exibir sua versãoQuantidade de visualizações: 963 vezes |
|
Pergunta/Tarefa: Escreva um programa Python que demonstra como importar a biblioteca NumPy para nossos programas. Em seguida exiba uma mensagem mostrando a versão da NumPy instalada na sua máquina. Sua saída deverá ser parecida com: A versão da NumPy é: 1.19.4 Veja a resolução comentada deste exercício em Python:
# vamos importar a biblioteca NumPy
import numpy as np
# função principal do programa
def main():
# vamos mostrar a versão da biblioteca NumPy qye temos instalada
versao = np.__version__
# mostramos o resultado
print("A versão da NumPy é: {0}".format(versao))
if __name__== "__main__":
main()
|
Python ::: Dicas & Truques ::: Strings e Caracteres |
Como verificar se uma string está toda em letras minúsculas usando a função islower() da classe string do PythonQuantidade de visualizações: 8671 vezes |
|
Em algumas ocasiões nós precisamos verificar se uma palavra, frase ou texto contém apenas letras minúsculas. Para isso pode usar a função islower() da classe string do Python. Esta função True se a string contiver apenas letras minúsculas e False em caso contrário. Note que, mesmo que a string contenha números ela ainda pode estar em letras minúsculas. Veja o código completo:
# função principal do programa
def main():
frase = "ainda gosto do python_2.6"
if frase.islower():
print("A string está em letras minúsculas")
else:
print("A string não está em letras minúsculas")
if __name__== "__main__":
main()
Ao executar este código nós teremos o seguinte resultado: A string está em letras minúsculas |
Java ::: Java para Engenharia ::: Hidrologia e Hidráulica |
Como calcular o volume de chuvas em Java - Fórmula do cálculo do volume de chuvas em JavaQuantidade de visualizações: 669 vezes |
|
O estudo da Hidrologia passa, necessariamente, pelo cálculo do volume de chuvas em uma determinada região, ou bacia hidrológica. Assim, é comum ouvirmos alguém dizer que, em um determinado local, choveu 100 mm durante um determinado período. Mas o que isso significa? O mês mais chuvoso em Goiânia é dezembro, com média de 229 milímetros de precipitação de chuva. Isso significa que, em uma área de 1 m2, a lâmina de água formada pela chuva que cai apresenta uma altura de 229 milímetros. Como sabemos que o volume é a área multiplicada pela altura, tudo que temos a fazer é considerar a área de 1 m2 multiplicada pela altura da lâmina de água (convertida também para metros). Veja a fórmula: \[\text{Volume} = \text{(Área da Base) x Altura}\] Lembre-se de que volume pode ser retornado em litros, ou seja, 1 m3 = 1000 litros. Veja agora o código Java completo que pede para o usuário informar a precipitação da chuva, ou seja, a altura da lâmina de água em milímetros e retorna o volume de água em litros.
package estudos;
import java.util.Scanner;
public class Estudos {
public static void main(String[] args) {
// para ler a entrada do usuário
Scanner entrada = new Scanner(System.in);
// vamos pedir para o usuário informar a altura da lâmina
// de água em milímetros
System.out.print("Altura da lâmina de água em milímetros: ");
double altura_lamina = Double.parseDouble(entrada.nextLine());
// o primeiro passo é converter os milímetros da lâmina de água
// para metros
altura_lamina = altura_lamina / 1000.00;
// agora que já temos a altura da lâmina em metros, vamos multiplicar
// pela base (1 metro quadrado) para obtermos o volume da chuva por
// metro quadrado
double volume_chuva = (altura_lamina * 1.00) * 1000.00;
// vamos mostrar o resultado
System.out.println("O volume da chuva é: " + volume_chuva +
" litros para cada metro quadrado");
}
}
Ao executar este código Java nós teremos o seguinte resultado: Altura da lâmina de água em milímetros: 229 O volume da chuva é: 229.0 litros para cada metro quadrado Qual é o volume de 1 mm de chuva? A altura pluviométrica é a espessura da lâmina d'água precipitada que cobre a região atingida pela chuva. Geralmente a unidade de medição é o milímetro (mm) porque o aparelho que mede a chuva, o pluviômetro, é lido em milímetros. O pluviômetro é um aparelho meteorológico destinado a medir, em milímetros, a altura da lâmina de água gerada pela chuva que caiu numa área de 1 m2. 1 mm de chuva equivale a 1 litro de água, ou 1 dm3, considerando a área de 1 m2. |
Java ::: Estruturas de Dados ::: Árvore Binária e Árvore Binária de Busca |
Como percorrer uma árvore binária em Java usando o algorítmo depth-first search (DFS) de forma iterativaQuantidade de visualizações: 1328 vezes |
|
Nesta dica mostrarei como podemos implementar o algorítmo da Busca em Profundidade (DFS, do inglês depth-first search) em Java de forma iterativa, ou seja, sem usar recursão. Não farei a busca, mas sim o percurso, para que você entenda como a lógica dessa busca funciona. Antes de iniciarmos, veja a árvore binária que vamos usar no exemplo: ![]() Note que esta árvore possui seis nós. O nó 5 é o nó raiz, e possui como filhos os nós 4 e 9. O nó 4, por sua vez, possui apenas um filho, o nó 2, ou seja, o filho da esquerda. O nó 9 possui dois filhos: o nó 3 é o filho da esquerda e o nó 12 é o filho da direita. Os filhos da árvore binária que não possuem outros filhos são chamados de folhas. Com a abordagem da busca em profundidade, começamos com o nó raiz e viajamos para baixo em uma única ramificação. Se o nó desejado for encontrado naquela ramificação, ótimo. Do contrário, continuamos subindo e pesquisando por nós não visitados. Esse tipo de busca também tem uma notação big O de O(n). Vamos à implementação? Veja o código para a classe No, que representa um nó na árvore binária:
// implementação da classe No
class No{
public int valor; // o valor do nó
public No esquerdo; // o filho da esquerda
public No direito; // o filho da direita
public No(int valor){
this.valor = valor;
this.esquerdo = null;
this.direito = null;
}
}
Veja agora o código completo para o exemplo. Note que usei uma implementação não-recursiva, na qual todos os nós expandidos recentemente são adicionados a uma pilha, para realizar a exploração. O uso da pilha permite o retrocesso (backtracking) de forma a reiniciarmos o percurso ou busca no próximo nó. Para manter o código o mais simples possível, eu usei a classe Stack do Java, juntamente com seus métodos push() e pop() para simular a pilha. Usei também uma ArrayList para guardar os valores da árvore binária na ordem depth-first. Eis o código:
package estudos;
import java.util.ArrayList;
import java.util.Stack;
// implementação da classe No
class No{
public int valor; // o valor do nó
public No esquerdo; // o filho da esquerda
public No direito; // o filho da direita
public No(int valor){
this.valor = valor;
this.esquerdo = null;
this.direito = null;
}
}
public class Estudos{
public static void main(String[] args){
// vamos criar os nós da árvore
No cinco = new No(5); // será a raiz da árvore
No quatro = new No(4);
No nove = new No(9);
No dois = new No(2);
No tres = new No(3);
No doze = new No(12);
// vamos fazer a ligação entre os nós
cinco.esquerdo = quatro;
cinco.direito = nove;
quatro.esquerdo = dois;
nove.esquerdo = tres;
nove.direito = doze;
// agora já podemos efetuar o percurso depth-first
ArrayList<Integer> valores = percursoDepthFirst(cinco);
System.out.println("Os valores na ordem Depth-First são: " + valores);
}
public static ArrayList<Integer> percursoDepthFirst(No no){
// vamos usar uma ArrayList para retornar os elementos
// na ordem Depth-First
ArrayList<Integer> valores = new ArrayList<>();
// vamos criar uma nova instância de uma pilha
Stack<No> pilha = new Stack<>();
// já vamos adicionar o primeiro nó recebido, que é a raiz
pilha.push(no);
// enquanto a pilha não estiver vazia
while(pilha.size() > 0){
// vamos obter o elemento no topo da pilha
No atual = pilha.pop();
// adicionamos este valor no ArrayList
valores.add(atual.valor);
// vamos colocar o filho direito na pilha
if(atual.direito != null){
pilha.push(atual.direito);
}
// vamos colocar o filho esquerdo na pilha
if(atual.esquerdo != null){
pilha.push(atual.esquerdo);
}
}
return valores; // retorna os valores da árvore
}
}
Ao executarmos este código Java nós teremos o seguinte resultado: Os valores na ordem Depth-First são: [5, 4, 2, 9, 3, 12] Compare estes valores com a imagem vista anteriormente para entender ainda melhor o percurso ou busca Depth-First. |
Nossas 20 dicas & truques de programação mais populares |
|
Java - Como construir uma data em Java usando o método set() da classe Calendar - Apostila Java Básico JavaScript - Como acessar as mídias do usuário em JavaScript usando a função getUserMedia() da interface MediaDevices |
Você também poderá gostar das dicas e truques de programação abaixo |
|
JavaScript - Como remover o primeiro elemento de um array em JavaScript - Como usar a função shift() do objeto Array do JavaScript C++ - Como obter o diretório atual usando a função GetCurrentDirectory() da API do Windows - C++ e WinAPI JavaScript - JavaScript Avançado - Como remover todas as ocorrências de uma substring em uma string usando uma função recursiva |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
|
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






