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

Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesCódigo-Fonte Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais
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 ::: Arrays e Matrix (Vetores e Matrizes)

Exercícios Resolvidos de Java - Como corrigir o erro ArrayIndexOutOfBoundsException ao usar um laço for para percorrer os elementos de um array

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

Observe o seguinte trecho de código:

public static void main(String[] args){
  // um vetor de inteiros contendo cinco elementos
  int valores[] = {5, 32, 9, 10, 6};
    
  // vamos usar um laço for para exibir os valores dos elementos
  // do vetorz
  for(int i = 0; i <= 5; i++){
    System.out.println("O valor do " + (i + 1) + "º elemento é " + valores[i]);
  }
}
Quando tentamos executar este código temos um erro do tipo ArrayIndexOutOfBoundsException. Veja a saída produzida:

O valor do 1º elemento é 5
O valor do 2º elemento é 32
O valor do 3º elemento é 9
O valor do 4º elemento é 10
O valor do 5º elemento é 6
Exception in thread "main" 
   java.lang.ArrayIndexOutOfBoundsException: 5
   at javaapplication1.Main.main(Main.java:14)
Java Result: 1
Você é capaz de descobrir a causa do lançamento desta exceção? O erro no código é de sintáxe ou de lógica?

Resposta/Solução:

O erro no código é de lógica. Como temos cinco elementos no vetor
e o índice do último elemento é 4 (o índice do primeiro elemento é 0),
o valor da variável de controle do laço for não pode ultrapassar 4. No
código acima o valor da variável i vai até 5, o que provoca um erro 
ao tentar acessar um elemento do vetor que não existe.

Para corrigir o erro, basta alterar a linha:

for(int i = 0; i <= 5; i++){

para:

for(int i = 0; i < 5; i++){



R ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas

Como calcular o coeficiente angular de uma reta em R dados dois pontos no plano cartesiano

Quantidade de visualizações: 1893 vezes
O Coeficiente Angular de uma reta é a variação, na vertical, ou seja, no eixo y, pela variação horizontal, no eixo x. Sim, isso mesmo. O coeficiente angular de uma reta tem tudo a ver com a derivada, que nada mais é que a taxa de variação de y em relação a x.

Vamos começar analisando o seguinte gráfico, no qual temos dois pontos distintos no plano cartesiano:



Veja que o segmento de reta AB passa pelos pontos A (x=3, y=6) e B (x=9, y=10). Dessa forma, a fórmula para obtenção do coeficiente angular m dessa reta é:

\[\ \text{m} = \frac{y_2 - y_1}{x_2 - x_1} = \frac{\Delta y}{\Delta x} = tg \theta \]

Note que __$\Delta y__$ e __$\Delta x__$ são as variações dos valores no eixo das abscissas e no eixo das ordenadas. No triângulo retângulo que desenhei acima, a variação __$\Delta y__$ se refere ao comprimento do cateto oposto e a variação __$\Delta y__$ se refere ao comprimento do cateto adjascente.

Veja agora o trecho de código na linguagem R que solicita as coordenadas x e y dos dois pontos, efetua o cálculo e mostra o coeficiente angular m da reta que passa pelos dois pontos:

# x e y do primeiro ponto
x1 <- readline("Coordenada x do primeiro ponto: ")
y1 <- readline("Coordenada y do primeiro ponto: ")
x1 <- as.numeric(x1)
y1 <- as.numeric(y1)

# x e y do segundo ponto
x2 <- readline("Coordenada x do segundo ponto: ")
y2 <- readline("Coordenada y do segundo ponto: ")
x2 <- as.numeric(x2)
y2 <- as.numeric(y2)

# agora vamos calcular o coeficiente angular
m <- (y2 - y1) / (x2 - x1)

# mostramos o resultado
paste("O coeficiente angular é:", m)

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

[1] "O coeficiente angular é: 0.666666666666667"

Veja agora como podemos calcular o coeficiente angular da reta que passa pelos dois pontos usando o Teorema de Pitágoras. Note que agora nós estamos tirando proveito da tangente do ângulo Theta (__$\theta__$), também chamado de ângulo Alfa ou Alpha (__$\alpha__$):

# x e y do primeiro ponto
x1 <- readline("Coordenada x do primeiro ponto: ")
y1 <- readline("Coordenada y do primeiro ponto: ")
x1 <- as.numeric(x1)
y1 <- as.numeric(y1)

# x e y do segundo ponto
x2 <- readline("Coordenada x do segundo ponto: ")
y2 <- readline("Coordenada y do segundo ponto: ")
x2 <- as.numeric(x2)
y2 <- as.numeric(y2)

# vamos obter o comprimento do cateto oposto
cateto_oposto <- y2 - y1
# e agora o cateto adjascente
cateto_adjascente <- x2 - x1
# vamos obter o ângulo tetha, ou seja, a inclinação da hipetunesa
# (em radianos, não se esqueça)
tetha <- atan2(cateto_oposto, cateto_adjascente)
# e finalmente usamos a tangente desse ângulo para calcular
# o coeficiente angular
tangente <- tan(tetha)

# mostramos o resultado
paste("O coeficiente angular é:", tangente)

Ao executar este código você verá que o resultado é o mesmo. No entanto, fique atento às propriedades do coeficiente angular da reta:

1) O coeficiente angular é positivo quando a reta for crescente, ou seja, m > 0;

2) O coeficiente angular é negativo quando a reta for decrescente, ou seja, m < 0;

3) Se a reta estiver na horizontal, ou seja, paralela ao eixo x, seu coeficiente angular é zero (0).

4) Se a reta estiver na vertical, ou seja, paralela ao eixo y, o coeficiente angular não existe.


Java ::: Dicas & Truques ::: Data e Hora

Como obter a data completa formatada em português usando vetores e um objeto da classe Calendar do Java

Quantidade de visualizações: 1 vezes
Nesta dica mostrarei como é possível combinar dois vetores de string contendo os nomes do dias e os nomes dos meses e um objeto da classe Calendar da linguagem Java para exibir a data completo em português. Este é um bom exercício para entender o uso de vetores em Java e as partes individuais que compoem uma data retornada pelo método getInstance() da classe Calendar.

Veja o código completo para o exemplo:

package arquivodecodigos;

import java.util.Calendar;
 
public class Estudos{
  public static void main(String args[]){
    String dias[] = {"Domingo", "Segunda-feira", "Terça-feira",
      "Quarta-feira", "Quinta-feira", "Sexta-feira", "Sábado"};
    String meses[] ={"Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", 
       "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"};
        
    Calendar agora = Calendar.getInstance(); 
    System.out.println("A date é: " + dias[agora.get(Calendar.DAY_OF_WEEK) - 1] +
      ", " + agora.get(Calendar.DAY_OF_MONTH) + " de " +
      meses[agora.get(Calendar.MONTH)] +
      " de " + agora.get(Calendar.YEAR));    
  }
}

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

A date é: Sábado, 20 de Março de 2020


Java ::: Pacote java.lang ::: String

Como retornar os caracteres de uma string como um vetor de char usando o método getChars() da classe String do Java

Quantidade de visualizações: 8473 vezes
O método getChars() da classe String pode ser usado quando queremos retornar todos ou parte dos caracteres de uma string como uma matriz de char. Veja sua assinatura:

public void getChars(int srcBegin, int srcEnd,
   char[] dst, int dstBegin)

O parâmetro srcBegin indica o índice do primeiro caractere a ser copiado. O parâmetro srcEnd indica o índice APÓS o último caractere a ser copiado. O parâmetro dst é uma matriz de char para a qual os caracteres serão copiados e dstBegin indica o offset (ponto inicial) da matriz a ser preenchida.

Veja um trecho de código no qual copiamos os 5 primeiros caracteres de uma string para uma matriz de char chamada letras:

public class Main {
  public static void main(String[] args) {
    // vamos declarar e inicializar uma string
    String frase = "Cuiabá é muito quente";

    // declara uma matriz de 5 chars
    char letras[] = new char[5];

    // vamos copiar os 5 primeiros caracteres da frase anterior
    // e guardá-los nas primeiras posições da matriz
    frase.getChars(0, 5, letras, 0);

    // vamos percorrer a matriz letras
    for (int i = 0; i < letras.length; i++) {
      System.out.print(letras[i] + "  ");
    }
  }
}

Ao executarmos este código teremos o seguinte resultado:

C u i a b

O método getChars() pode atirar uma exceção do tipo IndexOutOfBoundsException se valores inválidos forem fornecidos aos seus parâmetros.


Java ::: Pacote java.awt.event ::: KeyEvent

Java Swing - Como usar o método getKeyCode() da classe KeyEvent para detectar as teclas de Espaço, Enter ou Esc

Quantidade de visualizações: 6507 vezes
Em algumas situações nós precisamos detectar o pressionamento das teclas de Espaço, Enter ou Esc. Para isso podemos usar o método getKeyCode() da classe KeyEvent e testar se o código equivale a uma das constantes KeyEvent.VK_SPACE (espaço), KeyEvent.VK_ENTER (Enter) ou KeyEvent.VK_ESCAPE (Esc).

Veja um trecho de código no qual testamos se alguma destas três teclas foi pressionada:

package estudos;

import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
import javax.swing.JOptionPane;

public class Janela extends JFrame implements KeyListener{
  public Janela(){
    super("Eventos do Teclado");
    Container c = getContentPane();
    FlowLayout layout = new FlowLayout(FlowLayout.LEFT);
    c.setLayout(layout);
    
    // vamos adicionar o objeto listener 
    addKeyListener(this);

    setSize(350, 250);
    setVisible(true);
  }
    
  @Override
  public void keyPressed(KeyEvent e){
    // a tecla Space foi pressionada?
    if(e.getKeyCode() == KeyEvent.VK_SPACE){
      JOptionPane.showMessageDialog(null, "A tecla de espaço foi pressionada");
    }
    // a tecla Enter foi pressionada?
    else if(e.getKeyCode() == KeyEvent.VK_ENTER){
      JOptionPane.showMessageDialog(null, "A tecla Enter foi pressionada");
    }
    // a tecla Esc foi pressionada?
    else if(e.getKeyCode() == KeyEvent.VK_ESCAPE){
      JOptionPane.showMessageDialog(null, "A tecla Esc foi pressionada");
    }
    else{
      JOptionPane.showMessageDialog(null, "Outra tecla foi pressionada");  
    }
  }
    
  @Override
  public void keyReleased(KeyEvent e){
    // sem implementação
  }

  @Override
  public void keyTyped(KeyEvent e){
    // sem implementação
  }   
  
  public static void main(String args[]){
    Janela j = new Janela();
    j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}

É importante observar que as teclas Space, Enter e Esc podem ser detectadas somente nos eventos keyPressed e keyReleased.


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 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


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