Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD e VBA
PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO

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 ::: Java para Engenharia ::: Geometria Analítica e Álgebra Linear

Java para Geometria Analítica e Álgebra Linear - Como efetuar a soma de matrizes usando Java

Quantidade de visualizações: 2042 vezes
A soma de matrizes (assim como a subtração e multiplicação) é parte integrante da disciplina de Álgebra Linear e seu cálculo é muito simples.

Assumindo duas matrizes A e B, ambas com a mesma quantidade de linhas e colunas, a matriz soma pode ser obtida da seguinte forma:

\[A + B = \left[\begin{matrix} 3 & 4 & -1 \\ 8 & 2 & 1 \\ 7 & 5 & -3 \end{matrix}\right] + \left[\begin{matrix} -2 & 6 & 4 \\ 1 & 8 & 9 \\ -4 & 10 & 3 \end{matrix}\right] = \left[\begin{matrix} 1 & 10 & 3 \\ 9 & 10 & 10 \\ 3 & 15 & 0 \end{matrix}\right] \]

Um elemento da matriz é representando por sua posição linha e coluna. Usamos a letra i para a linha e j para a coluna, ou seja, aij. Dessa forma, o elemento na primeira linha e primeira coluna da matriz é a11, o elemento na primeira linha e segunda coluna é a12 e assim por diante.

Então, a soma das duas matrizes é feita da seguinte forma: Cij = Aij + Bij.

E agora veja o código Java que declara duas matrizes matrizA e matrizB e obtém uma terceira (matrizC) contendo a soma das duas anteriores. Novamente, note o requisito de que as matrizes deverão ter o mesmo número de linhas e colunas:

package arquivodecodigos;
 
public class Estudos{
  public static void main(String args[]){
    // declarar, construir e inicializar as matrizes
    int matrizA[][] = {{3, 4, -1}, {8, 2, 1}, {7, 5, -3}};
    int matrizB[][] = {{-2, 6, 4}, {1, 8, 9}, {-4, 10, 3}};
    
    // esta é a matriz soma
    int matrizSoma[][] = new int[3][3];  
    
    // e agora vamos prosseguir com a soma
    for(int i = 0; i < matrizA.length; i++){
      for(int j = 0; j < matrizA[0].length; j++){
        matrizSoma[i][j] = matrizA[i][j] + matrizB[i][j];     
      } 
    }
    
    // vamos exibir os valores da primeira matriz
    System.out.println("Elementos da matriz A:");
    for(int i = 0; i < matrizA.length; i++){
      for(int j = 0; j < matrizA[0].length; j++){
        System.out.printf("%5d  ", matrizA[i][j]);
      }
      System.out.println();
    }
    
    // vamos exibir os valores da primeira matriz
    System.out.println("\nElementos da matriz B:");
    for(int i = 0; i < matrizB.length; i++){
      for(int j = 0; j < matrizB[0].length; j++){
        System.out.printf("%5d  ", matrizB[i][j]);
      }
      System.out.println();
    }
    
    // vamos exibir os valores da matriz soma
    System.out.println("\nElementos da matriz soma:");
    for(int i = 0; i < matrizSoma.length; i++){
      for(int j = 0; j < matrizSoma[0].length; j++){
        System.out.printf("%5d  ", matrizSoma[i][j]);
      }
      System.out.println();
    }
  }
}

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

Elementos da matriz A:
    3      4     -1  
    8      2      1  
    7      5     -3  

Elementos da matriz B:
   -2      6      4  
    1      8      9  
   -4     10      3  

Elementos da matriz soma:
    1     10      3  
    9     10     10  
    3     15      0



MySQL ::: Dicas & Truques ::: Data e Hora

Como subtrair horas, dias, semanas, meses, anos, etc, do valor de um campo do time DATE ou DATETIME do MySQL usando a função DATE_SUB()

Quantidade de visualizações: 18328 vezes
A função DATE_SUB() é muito útil quando precisamos subtrair horas, dias, semanas, meses, etc, do valor de um campo do tipo DATE ou DATETIME. Esta função é composta de três partes:

 
DATE_SUB(date, INTERVAL expr unit)

O argumento date deve ser do tipo DATE ou DATETIME. O argumento expr indica um número inteiro que indica a quantidade de horas, dias, meses, etc, que será usada como intervalo. O argumento unit indica a unidade a ser usada. Valores possíveis são: HOUR, DAY, WEEK, MONTH, QUARTER, YEAR, etc.

Veja um exemplo no qual subtraímos 15 dias da data atual:

 
SELECT DATE_SUB(NOW(), INTERVAL 15 DAY)

Suponha que você tenha um campo chamado data_hora_compra do tipo DATETIME e que este campo tenha o valor 2008-03-30 02:30:15. A query:

SELECT DATE_SUB(data_hora_compra, INTERVAL 
2 MONTH) FROM tabela_estudos

retornará 2008-01-30 02:30:15.


Python ::: Python para Engenharia ::: Engenharia Civil - Cálculo Estrutural

Como calcular a Posição da Linha Neutra em vigas de concreto armado usando Python - Python para Engenharia Civil - Cálculo Estrutural

Quantidade de visualizações: 526 vezes
O concreto possui excelente resistência à compressão, porém, sua resistência à tração é muito pequena, chegando em torno de 10% da sua resistência à compressão. O aço, por sua vez, apresenta alta resistência à tração.

Por esta razão a combinação destes dois materiais resulta no que conhecemos por concreto armado, no qual o concreto, no caso das vigas, resiste às solicitações de compressão (em geral na parte superior da viga) e o aço se encarrega da tração (na parte inferior da viga).

Entre as forças de compressão e tração da viga de concreto armado existe uma região na qual as tensões são nulas, ou seja, não há nem tração nem compressão. Essa região é conhecida como linha neutra da viga e é usada, entre outras coisas, para verificarmos se a viga se encontra nas condições mínimas de dutibilidade exigidas pela ABNT NBR 6118/2014.

Outra característica muito importante da linha neutra é que ela nos permite indicar em qual domínio de deformação as nossas vigas de concreto armado estão trabalhando.

A posição da linha neutra em vigas de concreto armado pode ser calculada por meio da seguinte fórmula:

\[x = 1,25 \cdot d \cdot \left(1 - \sqrt{1 - \frac{M_d}{0,425 \cdot b_w \cdot d^2 \cdot f_\text{cd}}}\right)\]

Onde:

x é a posição da linha neutra a partir da fibra mais comprimida da viga, em metros (que depois convertemos para cm);

d é a altura útil da viga em metros;

Md é o momento solicitante de cálculo na viga, em kN.m;

bw é a largura da viga, em metros;

fcd é a resistência de cálculo do concreto, em kN/m2;

Veja agora o código Python completo que pede para o usuário informar a altura e largura da viga em centímetros, o momento solicitante na viga em kN.m e o FCK do concreto em Mpa, mostra a posição da linha neutra da viga e informa se ela obedece ao valor máximo imposto pela ABNT NBR 6118/2014 e também o domínio de deformação que ela está atuando:

# precisamos importar o módulo Math
import math

# função principal do programa Python
def main():
  # vamos pedir para o usuário informar a altura da viga
  altura = float(input("Informe a altura H da viga em cm: "))
  # vamos converter de centímetros para metros
  altura = altura / 100.00

  # vamos pedir para o usuário informar a largura da viga
  largura = float(input("Informe a largura bw da viga em cm: "))
  # vamos converter de centímetros para metros
  largura = largura / 100.00

  # vamos calcular a altura útil da viga
  # aqui eu usei 0.9 mas alguns engenheiros usam 0.95
  altura_util = 0.9 * altura

  # vamos pedir para o usuário informar o momento
  # máximo solicitante Mk (calculado no Ftool ou outra ferramenta)
  Mk = float(input("Informe o momento solicitante Mk em kN.m: "))
  # vamos definir o valor do gama f
  yf = 1.4
  # calculamos o md, ou seja, o momento solicitante de cálculo
  Md = Mk * yf

  # vamos pedir para o usuário informar o FCK do concreto
  fck = float(input("Informe o FCK do concreto em Mpa: "))
  # vamos definir o valor do gama c
  yc = 1.4
  # calculamos o fcd, ou seja, a resistência de cálculo do concreto
  fcd = fck / yc

  # finalmente vamos calcular a posição da linha neutra
  # note que converti o fcd de Mpa para kN/m2
  x = 1.25 * altura_util * (1 - math.sqrt(1 - (Md / (0.425 *
    largura * math.pow(altura_util, 2) * (fcd * 1000.0)))))
  
  # vamos mostrar os resultados 
  print("\nA altura útil da viga é: {0} cm ({1} m)".format(
    round(altura_util * 100, 5), round(altura_util, 5)))
  print("O momento solicitante de cálculo é: {0} kN.m".format(
    round(Md, 5)))
  print("O fcd do concreto é: {0} Mpa".format(round(fcd, 5)))
  print("A posição da linha neutra é: {0} cm".format(round(x * 100.0, 5)))
  
  # vamos verificar se a posição da linha neutra está dentro do
  # limite máximo imposto pela ABNT NBR 6118/2014 para FCK até 50 Mpa
  if ((x / altura_util) <= 0.45):
    print("Garante condições mínimas de dutibilidade? SIM")
  else:
    print("Garante condições mínimas de dutibilidade? NÃO")

  # vamos verificar o domínio de deformação da vaga
  temp = x / altura_util
  if (temp <= 0.167):
    print("A viga está trabalhando no domínio 1")
  elif ((temp > 0.167) and (temp <= 0.259)):
    print("A viga está trabalhando no domínio 2")
  elif ((temp > 0.259) and (temp <= 0.628)):
    print("A viga está trabalhando no domínio 3")
  else:
    print("A viga está trabalhando no domínio 4/5")

if __name__ == "__main__":
  main()

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

Informe a altura H da viga em cm: 35
Informe a largura bw da viga em cm: 19
Informe o momento solicitante Mk em kN.m: 32.3
Informe o FCK do concreto em Mpa: 25

A altura útil da viga é: 31.5 cm (0.315 m)
O momento solicitante de cálculo é: 45.22 kN.m
O fcd do concreto é: 17.85714 Mpa
A posição da linha neutra é: 6.81136 cm
Garante condições mínimas de dutibilidade? SIM
A viga está trabalhando no domínio 2


C# ::: Dicas & Truques ::: Data e Hora

Como calcular os dias restantes para uma data em C# usando um objeto TimeSpan

Quantidade de visualizações: 9672 vezes
Em algumas ocasiões precisamos saber a quantidade de dias restantes para uma determinada data no futuro em C# (próximo Natal, próxima Páscoa, vencimento de uma duplicata, etc). O trecho de código abaixo mostra como isso pode ser feito. Veja que usamos o construtor da estrutura DateTime para construir a data no futuro e então subtraímos desta a data atual. Em seguida obtemos a quantidade de dias do TimeSpan resultante:

static void Main(string[] args){
  // vamos obter a quantidade de dias restantes para o Natal de
  // 2009
  DateTime data_futura = new DateTime(2009, 12, 25);  // 25/12/2009
  DateTime hoje = DateTime.Now;

  // obtém a quantidade de dias restantes
  TimeSpan dif = data_futura.Subtract(hoje);
  int restantes = dif.Days + 1; // dia de hoje na contagem

  // exibe o resultado
  System.Console.WriteLine("Faltam " + restantes + " dias para " +
    "o Natal de 2009");

  // pausa o programa
  Console.ReadKey();
}



Java ::: Dicas & Truques ::: Imagens e Processamento de Imagens

Manipulação de imagens em Java - Como carregar imagens JPG (JPEG), GIF ou PNG usando o método getImage() da classe Toolkit

Quantidade de visualizações: 24204 vezes
O método getImage() da classe Toolkit retorna um objeto da classe Image que obtém informações de imagem (pixels) a partir do caminho informado. Veja que este método não verifica se a imagem informada para o método existe ou se foi carregada com sucesso. Veja mais dicas nesta seção para aprender a realizar tais tarefas.

O código abaixo mostra como chamar o método getImage() para carregar uma imagem ao clicar em um botão:

package arquivodecodigos;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
 
public class Estudos extends JFrame{
  private Image imagem = null;  
 
  public Estudos() {
    super("Estudos Java");
     
    Container c = getContentPane();
    c.setLayout(new FlowLayout());
     
    JButton btn = new JButton("Carregar Imagem");
    btn.addActionListener(
      new ActionListener(){
        @Override
        public void actionPerformed(ActionEvent e){
          // imagem a ser carregada
          String minhaImagem = "C:\\estudos_java\\lago.jpg";          
 
          // Obtém o Toolkit padrão
          Toolkit toolkit = 
            Toolkit.getDefaultToolkit();
          imagem = toolkit.getImage(minhaImagem);
 
          JOptionPane.showMessageDialog(null, 
            "A imagem  foi carregada. Agora é só manipulá-la.");
        }
      }
    );
 
    c.add(btn);
         
    setSize(400, 300);
    setVisible(true);
  }
   
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}

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

A imagem foi carregada. Agora é só manipulá-la.


Desafios, Exercícios e Algoritmos Resolvidos de Java

Veja mais Dicas e truques de Java

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 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 Apenas R$ 32,90

Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica.


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