![]() |
|
|
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 ::: Fenômenos dos Transportes, Hidráulica e Drenagem |
Exercício Resolvido de Python - Como calcular Vazão Volumétrica, Vazão Mássica e Vazão em Peso usando Python - Python para Fenômenos dos Transportes e HidráulicaQuantidade de visualizações: 755 vezes |
|
Pergunta/Tarefa: Uma torneira enche de água um tanque em 2 horas e 20 segundos. Determine a vazão em volume, em massa e em peso em unidades do SI. Considere que a densidade da água é igual a 1000 kg/m3 e g = 9,8 m/s2. Considere também que a capacidade do tanque é de 10 mil litros. Sua saída deverá ser parecida com: Informe a quantidade de horas: 2 Informe a quantidade de segundos: 20 Informe a capacidade do tanque (litros): 10000 Informe a densidade da água (kg/m3): 1000 Informe a força da gravidade (m/s2): 9.8 Total de segundos: 7220 Capacidade do tanque: 10.0 m3 Vazão Volumétrica: 0.0013850415512465374 m3/s Vazão Mássica: 1.3850415512465375 kg/s Vazão em Peso: 13.57340720221607 N/s Para obter a Vazão Volumétrica, que representa a quantidade de volume que atravessa uma região em um determinado intervalo de tempo, nós vamos usar a seguinte fórmula: \[Q_v = \frac{V}{T} \] Onde: Qv = vazão volumétrica em metros cúbicos por segundo (m3/s); V = o volume do fluido em metros cúbicos (m3); T = o tempo em segundos (s). Para obter a Vazão Mássica, que representa a quantidade de massa que atravessa uma região em um determinado intervalo de tempo, nós vamos usar a seguinte fórmula: \[Q_m = \frac{M}{T} \] Onde: Qm = vazão mássica em quilos por segundo (kg/s); M = a massa do fluido em quilos (kg); T = o tempo em segundos (s). Para a Vazão em Peso nós só precisamos multiplicar a Vazão Mássica pelo peso da gravidade, ou seja, 9.8. Dessa forma, a Vazão em Peso é dada em N/s. Obs.: No código eu mostro como converter horas em segundos e litros em m3. Veja a resolução completa para o exercício em Python, comentada linha a linha:
# método principal
def main():
# vamos ler a quantidade de horas e segundos
hora = int(input("Informe a quantidade de horas: "))
segundos = int(input("Informe a quantidade de segundos: "))
# agora vamos ler a capacidade do tanque em litros
capacidade_tanque = int(input("Informe a capacidade do tanque (litros): "))
# vamos ler a densidade da água
densidade_agua = float(input("Informe a densidade da água (kg/m3): "))
# vamos ler a força da gravidade
gravidade = float(input("Informe a força da gravidade (m/s2): "))
# vamos calcular o total de segundos
segundos_hora = 3600
total_segundos = (2 * segundos_hora) + segundos
# vamos converter a capacidade do tanque de litros para m3
volume = capacidade_tanque / 1000.0
# vamos calcular a vazão volumétrica
vazao_volumetrica = volume / total_segundos
# vamos calcular a vazão mássica
vazao_massica = vazao_volumetrica * densidade_agua
# vamos calcular a vazão em peso
vazao_peso = vazao_massica * gravidade
# e mostramos o resultado
print("\nTotal de segundos: {0}".format(total_segundos))
print("Capacidade do tanque: {0} m3".format(volume))
print("Vazão Volumétrica: {0} m3/s".format(vazao_volumetrica))
print("Vazão Mássica: {0} kg/s".format(vazao_massica))
print("Vazão em Peso: {0} N/s".format(vazao_peso))
if __name__== "__main__":
main()
|
Java ::: Estruturas de Dados ::: Lista Ligada Simples |
Estruturas de Dados em Java - Como inserir nós no final de uma lista singularmente ligada em JavaQuantidade de visualizações: 8639 vezes |
Esta dica mostra como inserir nós no final 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 final 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, fim; // início e fim da lista
// método que permite exibir os valores de
// todos os nós da lista
public void exibir() {
// vamos obter uma referência ao início da lista
No no = inicio;
if (no != null) { // a lista não está vazia
while (no != null) { // enquanto a lista não estiver vazia
System.out.println(no.valor);
no = no.proximo; // pula para o nó seguinte
}
}
else {
System.out.println("A lista está vazia\n\n");
}
}
// método que permite inserir nós no
// final da lista.
// veja que o método recebe o valor a ser
// armazenado em cada nó
public void inserirFinal(int v) {
No novo = new No(); // cria um novo nó
novo.valor = v;
// é o nó no final, portanto não deverá apontar para nenhum
// outro nó
novo.proximo = null;
// verifica se a lista está vazia
if (inicio == null) {
// novo aponta para o novo nó
inicio = novo;
// final deve apontar para o novo nó também
fim = novo;
}
else { // não está vazia....vamos inserir o nó no final da lista
// o campo próximo do último nó aponta para o nó recém-criado
fim.proximo = novo;
// o campo fim aponta para o novo nó...o campo inicio permanece igual
fim = novo;
}
}
}
Compile as classes No.java e Lista.java e vamos escrever um aplicativo de teste (Main.java):
public class Main {
public static void main(String[] args) {
// vamos criar uma nova lista
Lista lista = new Lista();
// vamos inserir quatro valores no
// finalo da lista
lista.inserirFinal(45);
lista.inserirFinal(3);
lista.inserirFinal(98);
lista.inserirFinal(17);
// exibe os valores na lista
lista.exibir();
}
}
Ao executar o aplicativo teremos o seguinte resultado: 45 3 98 17 |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de Java - Declarar e construir um vetor, pedir ao usuário para informar os valores dos elementos e mostrar o maior e o menor valor armazenado no vetorQuantidade de visualizações: 11056 vezes |
|
Pergunta/Tarefa: Escreva um programa Java GUI ou console que declara e constrói um vetor de 10 inteiros. Em seguida peça ao usuário para informar os valores para os elementos do vetor e, uma vez preenchida, percorra o vetor e mostre os valores armazenados. Para finalizar varra o vetor novamente e mostre os valores do maior e do menor elemento. Sua saída deverá ser parecida com: Informe o 1º valor: 8 Informe o 2º valor: 3 Informe o 3º valor: 4 Informe o 4º valor: 1 Informe o 5º valor: 6 Informe o 6º valor: 5 Informe o 7º valor: 7 Informe o 8º valor: 2 Informe o 9º valor: 3 Informe o 10º valor: 8 Os valores informados foram: 8 3 4 1 6 5 7 2 3 8 O maior valor é: 8 O menor valor é: 1 Veja a resolução comentada deste exercício usando Java console:
package estudos;
import java.util.Scanner;
public class Estudos {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
// declara e constrói um vetor de 10 inteiros
int valores[] = new int[10];
// vamos pedir ao usuário para informar os 10 valores
for(int i = 0; i < valores.length; i++){
System.out.print("Informe o " + (i + 1) + "º valor: ");
valores[i] = Integer.parseInt(entrada.nextLine());
}
// vamos exibir os valores informados
System.out.println("\nOs valores informados foram: ");
for(int i = 0; i < valores.length; i++){
System.out.print(valores[i] + " ");
}
// agora vamos encontrar o maior e o menor valor no vetor
// vamos assumir que o primeiro elemento
// possui o maior e o menor valor
int maior = valores[0], menor = valores[0];
for(int i = 0; i < valores.length; i++){
// encontra o maior valor
if(valores[i] > maior){
maior = valores[i];
}
// encontra o menor valor
if(valores[i] < menor){
menor = valores[i];
}
}
System.out.println("\n\nO maior valor é: " + maior);
System.out.println("O menor valor é: " + menor);
}
}
Uma idéia na resolução deste exercício é assumir que o primeiro elemento do vetor possui tanto o maior quanto o menor valor. |
C++ ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular juros compostos e montante usando C++Quantidade de visualizações: 18291 vezes |
|
O regime de juros compostos é o mais comum no sistema financeiro e portanto, o mais útil para cálculos de problemas do dia-a-dia. Os juros gerados a cada período são incorporados ao principal para o cálculo dos juros do período seguinte. Chamamos de capitalização o momento em que os juros são incorporados ao principal. Após três meses de capitalização, temos: 1º mês: M = P .(1 + i) 2º mês: o principal é igual ao montante do mês anterior: M = P x (1 + i) x (1 + i) 3º mês: o principal é igual ao montante do mês anterior: M = P x (1 + i) x (1 + i) x (1 + i) Simplificando, obtemos a fórmula: M = P . (1 + i)^n Importante: a taxa i tem que ser expressa na mesma medida de tempo de n, ou seja, taxa de juros ao mês para n meses. Para calcularmos apenas os juros basta diminuir o principal do montante ao final do período: J = M - P Vejamos um exemplo: Considerando que uma pessoa empresta a outra a quantia de R$ 2.000,00, a juros compostos, pelo prazo de 3 meses, à taxa de 3% ao mês. Quanto deverá ser pago de juros? Veja o código C++ para a resolução:
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
float principal = 2000.00;
float taxa = 0.03; // 3%
int meses = 3;
float montante = principal * pow((1 + taxa), meses);
float juros = montante - principal;
cout << "O total de juros a ser pago é: " <<
juros << "\n";
cout << "O montante a ser pago é: " <<
montante << "\n\n";
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
Um outra aplicação interessante é mostrar mês a mês a evolução dos juros. Veja o código a seguir:
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
float principal = 2000.00;
float taxa = 0.03; // 3%
int meses = 3;
float anterior = 0.0;
float montante;
float juros;
for(int i = 1; i <= meses; i++){
montante = principal * pow((1 + taxa), i);
juros = montante - principal - anterior;
anterior += juros;
cout << "Mês: " << i << " - Montante: " <<
montante << " - Juros " << juros << "\n";
}
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
|
Nossas 20 dicas & truques de programação mais populares |
|
Java - Como carregar uma imagem em um BufferedImage do Java usando o método read() da classe ImageIO GNU Octave - Como calcular a derivada de uma função usando a função diff() do GNU Octave - Regra do Tombo (ou Regra da Potência) JavaScript - Como construir uma determinada data e hora usando o construtor do objeto Date do JavaScript |
Você também poderá gostar das dicas e truques de programação abaixo |
|
Delphi - Como usar a propriedade Eof para verificar se estamos no último registro do TClientDataSet do Delphi JavaScript - JavaScript para iniciantes - Como obter o valor do maior número possível em JavaScript usando Number.MAX_VALUE |
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 |



