Dúvidas, comentários e doaçoes: +55 62 9 8513 2505

Planilha de Dimensionamento de Tubulações Hidráulicas Água Fria e Água Quente Completa
Nossa 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 Cards de Hidrologia
Card 1 de 75
O regime de escoamento laminar

O regime laminar na hidrologia refere-se ao tipo de fluxo de água que ocorre em um corpo d'água, como um rio ou um lago, onde o movimento da água é suave e ordenado. Nesse regime, as camadas de água deslizam umas sobre as outras de maneira paralela, sem causar turbulência.

Esse tipo de fluxo é caracterizado por um baixo número de Reynolds, o que significa que a viscosidade da água é predominante em relação às forças inerciais. O regime laminar é comum em águas calmas ou em seções de rios com baixa inclinação e velocidade de fluxo.

O entendimento do regime laminar é importante para a modelagem de transporte de sedimentos, a qualidade da água e a gestão de recursos hídricos, pois influencia a dinâmica do ecossistema aquático e a erosão das margens.

Filtrar Cards
Use esta opção para filtrar os cards pelos tópicos que mais lhe interessam.
Termos:
Aviso Importante: Nos esforçamos muito para que o conteúdo dos cards e dos testes e conhecimento seja o mais correto possível. No entanto, entendemos que erros podem ocorrer. Caso isso aconteça, pedimos desculpas e estamos à disposição para as devidas correções. Além disso, o conteúdo aqui apresentado é fruto de conhecimento nosso e de pesquisas na internet e livros. Caso você encontre algum conteúdo que não deveria estar aqui, por favor, nos comunique pelos e-mails exibidos nas opções de contato.
Link para compartilhar na Internet ou com seus amigos:

Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico

Exercício Resolvido de Java - Como calcular o Índice de Massa Corporal em Java - Como calcular IMC em Java

Quantidade de visualizações: 13729 vezes
Pergunta/Tarefa:

O índice de massa corporal (IMC) é uma medida internacional usada para calcular se uma pessoa está no peso ideal.

Ele foi desenvolvido pelo polímata Lambert Quételet no fim do século XIX. Trata-se de um método fácil e rápido para a avaliação do nível de gordura de cada pessoa, ou seja, é um preditor internacional de obesidade adotado pela Organização Mundial da Saúde (OMS).

O IMC é determinado pela divisão da massa do indivíduo pelo quadrado de sua altura, em que a massa está em quilogramas e a altura em metros. A fórmula é a seguinte:



A classificação é feita de acordo com as seguintes regras:

a) < 16 - Magreza grave
b) 16 a < 17 - Magreza moderada
c) 17 a < 18,5 - Magreza leve
d) 18,5 a < 25 - Saudável
e) 25 a < 30 - Sobrepeso
f) 30 a < 35 - Obesidade Grau I
g) 35 a < 40 - Obesidade Grau II (severa)
h) >= 40 - Obesidade Grau III (mórbida)

Escreva um programa Java que leia o peso e a altura de uma pessoa e retorna seu IMC classificado de acordo com a tabela acima.

Sua saída deverá ser parecida com:

Informe seu peso: 82
Informe sua altura: 1.85
Seu IMC é: 23.959094229364496
Sua classificação é Saudável
Resposta/Solução:

Veja a resolução comentada deste exercício usando Java:

package estudos;

import java.util.Scanner;

public class Estudos {
  public static void main(String[] args) {
    Scanner entrada = new Scanner(System.in);  
    
    // vamos solicitar o peso e a altura da pessoa
    System.out.print("Informe seu peso: ");
    double peso = Double.parseDouble(entrada.nextLine());
    System.out.print("Informe sua altura: ");
    double altura = Double.parseDouble(entrada.nextLine()); 
    
    // vamos calcular o IMC
    double imc = peso / (altura * altura);
    System.out.println("Seu IMC é: " + imc);
    
    // vamos mostrar a classificação
    if(imc < 16){
      System.out.println("Sua classificação é Magreza grave");  
    }
    else if((imc >= 16) && (imc < 17)){
      System.out.println("Sua classificação é Magreza moderada");  
    }
    else if((imc >= 17) && (imc < 18.5)){
      System.out.println("Sua classificação é Magreza leve");  
    }
    else if((imc >= 18.5) && (imc < 25)){
      System.out.println("Sua classificação é Saudável");  
    }
    else if((imc >= 25) && (imc < 30)){
      System.out.println("Sua classificação é Sobrepeso");  
    }
    else if((imc >= 30) && (imc < 35)){
      System.out.println("Sua classificação é Obesidade Grau I");  
    }
    else if((imc >= 35) && (imc < 40)){
      System.out.println("Sua classificação é Obesidade Grau II");  
    }
    else{
      System.out.println("Sua classificação é Obesidade Grau III (mórbida)");   
    }
    
    System.out.println("\n");
  }
}



Java ::: Pacote java.awt.image ::: BufferedImage

Como desenhar um BufferedImage em um JComponent do Java

Quantidade de visualizações: 11251 vezes
Neste exemplo nós usamos o método drawImage() da classe Graphics para desenhar o conteúdo de um BufferedImage (que contém uma imagem JPG) em uma JFrame do Java Swing:

import java.awt.*;
import java.io.*;
import java.awt.image.*;
import java.awt.event.*;
import javax.swing.*;
import javax.imageio.*;

public class Estudos extends JFrame{
  private BufferedImage imagem;
  
  public Estudos(){
    super("Estudos Java");
    
    Container c = getContentPane();
    c.setLayout(new FlowLayout());
	
    JButton btn = new JButton("Carregar Imagem");
    btn.addActionListener(
      new ActionListener(){
        public void actionPerformed(ActionEvent e){
          imagem = null;
          
          try{
            imagem = ImageIO.read(
              new File("imagens/fundo.jpg"));
          }
          catch(IOException exc){
            JOptionPane.showMessageDialog(null, 
              "Erro ao carregar a imagem: " + 
              exc.getMessage());
          }

          if(imagem != null){
            desenhar();   
          }
        }
      }
    );

    c.add(btn);
    	
    setSize(400, 300);
    setVisible(true);
  }

  public void desenhar(){
    // desenha a imagem no JFrame
    Graphics g = getGraphics();   
    g.drawImage(imagem, 0, 0, this);
  }
  
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}



JavaScript ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Como filtrar os elementos de um array em JavaScript usando a função filter() - Vetores e matrizes em JavaScript

Quantidade de visualizações: 3004 vezes
O método filter(), adicionado à linguagem JavaScript por meio do ECMAScript 5 (JavaScript 5, ECMAScript 2009, ES5) nos permite criar um novo vetor contendo apenas os elementos que passarem em um determinado teste, que pode ser uma função de usuário personalizada. Esta função é uma função de callback que será chamada uma vez para cada um dos elementos do vetor.

Para melhor entendimento, comece analisando o trecho de código abaixo:

<script type="text/javascript">
  function maiorQue10(valor){
    return valor > 10;
  }  

  // vamos criar um vetor de inteiros
  var valores = [2, 6, 32, 9, 3, 21];

  // vamos filtrar o vetor para obter apenas os
  // valores maiores que 10
  var maiores10 = valores.filter(maiorQue10);

  // vamos mostrar o resultado
  window.alert(maiores10);
</script>

Neste código usamos o método filter() para gerar um novo vetor contendo apenas os elementos com valores maiores que 10. Veja que fornecemos uma função como argumento para o método filter() e, dentro dessa função, nós retornamos true ou false para que a filtragem inclua ou não o valor sendo analisado no momento.

Uma função passada para o método filter() pode conter os seguintes argumentos (nessa mesma ordem):

a) O valor do item;
b) O índice do item (opcional);
c) O vetor a partir do qual o método filter() está sendo chamado (opcional).

Veja mais um trecho de código no qual retornamos os elementos de um array maiores que 10 e precedidos de um número par:

<script type="text/javascript">
  function maiorQue10PrecPar(valor, indice, vetor){
    // o primeiro elemento não é precedido por
    // outro. Vamos descartá-lo
    if(indice == 0){
      return false;
    }    

    // é precedido por um número par?
    if(vetor[indice - 1] % 2 == 0){
      // é maior que 10?      
      return valor > 10;
    }

    // nenhuma das condições acima?
    return false;
  }  

  // vamos criar um vetor de inteiros
  var valores = [2, 6, 32, 9, 3, 21];

  // vamos filtrar o vetor para obter apenas os
  // valores maiores que 10 e precedidos por um
  // número par
  var maiores10 = valores.filter(maiorQue10PrecPar);

  // vamos mostrar o resultado
  window.alert(maiores10);
</script>

Execute este código e verá que apenas o valor 32 será retornado, pois ele é o único maior que 10 e precedido por um número par.


Python ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas

Como calcular o cateto oposto dadas as medidas da hipotenusa e do cateto adjascente em Python

Quantidade de visualizações: 3222 vezes
Todos estamos acostumados com o Teorema de Pitágoras, que diz que "o quadrado da hipotenusa é igual à soma dos quadrados dos catetos". Baseado nessa informação, fica fácil retornar a medida do cateto oposto quando temos as medidas da hipotenusa e do cateto adjascente. Isso, claro, via programação em linguagem Python.

Comece observando 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. A medida da hipotenusa é, sem arredondamentos, 36.056 metros.

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 que fazer é mudar a fórmula para:

\[a^2 = c^2 - b^2\]

Veja que agora o quadrado do cateto oposto é igual ao quadrado da hipotenusa menos o quadrado do cateto adjascente. Não se esqueça de que a hipotenusa é o maior lado do triângulo retângulo.

Veja agora como esse cálculo é feito em linguagem Python:

# vamos importar o módulo Math
import math as math

def main():
  c = 36.056 # medida da hipotenusa
  b = 30 # medida do cateto adjascente
  
  # agora vamos calcular o comprimento da cateto oposto
  a = math.sqrt(math.pow(c, 2) - math.pow(b, 2))
 
  # e mostramos o resultado
  print("A medida do cateto oposto é: %f" % a)
  
if __name__== "__main__":
  main()

Ao executar este código Python nós teremos o seguinte resultado:

A medida do cateto oposto é: 20.000878

Como podemos ver, o resultado retornado com o código Python confere com os valores da imagem apresentada.


GNU Octave ::: Dicas & Truques ::: Matemática e Estatística

Como calcular raiz quadrada usando a função sqrt() do GNU Octave

Quantidade de visualizações: 5648 vezes
A raiz quadrada de um algarismo é dada por um número positivo n, que ao ser elevado ao quadrado (multiplicado por ele mesmo), se iguala a x. Na área da matemática, a raiz quadrada auxilia na resolução de vários problemas, entre eles as equações de segundo grau e o Teorema de Pitágoras.

Relembrando que a raiz quadrada é o inverso da potenciação com expoente dois, temos que:

\[\sqrt{9} = 3\]

então, pela potenciação:

\[3^2 = 9\]

Agora veremos como calcular a raiz quadrada usando a função sqrt() do GNU Octave. Se você ainda não o fez, abra o GNU Octave e digite a seguinte expressão na janela de comandos:

>> raiz = sqrt(9) [ENTER]
raiz = 3
>>

Agora veja como podemos usar a função sqrt() em um script do GNU Octave:

valor = input("Informe o valor desejado: ");
raiz = sqrt(valor);
fprintf("A raiz quadrada do valor informado é %d\n", 
  raiz);

Uma saída deste código poderia ser:

Informe o valor desejado: 25
A raiz quadrada do valor informado é 5
>>

É importante ter em mente que a função sqrt() do GNU Octave retorna um erro caso o valor do radicando for negativo. Veja:

Informe o valor desejado: -5
A raiz quadrada do valor informado é error: octave_base_value::int64_scalar_value
(): wrong type argument 'complex scalar'
>>


Veja mais Dicas e truques de GNU Octave

Dicas e truques de outras linguagens

E-Books em PDF

E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby


E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser. Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book Apenas R$ 19,90


© 2026 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 17 usuários muito felizes estudando em nosso site.