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:

Python ::: Pillow Python Imaging Library ::: Image

Como abrir uma imagem no Pillow do Python usando a função open() do objeto Image

Quantidade de visualizações: 1921 vezes
A função open() do objeto Image da biblioteca Pilow do Python é muito útil quando queremos abrir uma imagem para fins de edição ou exibição. Em sua forma mais simples este método exige apenas o caminho e nome da imagem e retorna um objeto PIL Image.

Veja um trecho de código no qual usamos a função open() para abrir a imagem e, em seguida, usamos a função show() para exibir a imagem no visualizador de imagens padrão definido em nossa máquina:

# vamos importar a biblioteca Pilow
from PIL import Image

# método principal
def main():
  # vamos abrir uma imagem
  imagem = Image.open("Mulher.png")

  # vamos exibir a imagem no visualizador padrão
  imagem.show("Foto a partir do Pilow")

if __name__== "__main__":
  main()

Note que o método show() do objeto Image é usado, na maioria das vezes, com o propósito de depuração de nossos códigos, já que ele cria um arquivo temporário e o envia ao visualizador padrão. Dessa forma nós podemos editar a imagem na memória e enviar para o visualizador todas as vezes que quisermos ver algum resultado.


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

Exercícios Resolvidos de Java - Um programa Java que recebe o ano de nascimento de uma pessoa e o ano atual e mostra a idade da pessoa em anos, meses, dias e semanas

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

Escreva um programa Java que recebe o ano de nascimento de uma pessoa e o ano atual, calcule e mostre:

a) A idade da pessoa em anos;
b) A idade da pessoa em meses;
c) A idade da pessoa em dias;
d) A idade da pessoa em semanas.

Sua saída deverá ser parecida com:

Informe o ano de seu nascimento: 1985
Informe o ano atual: 2023
A idade em anos é: 38
A idade em meses é: 456
A idade em dias é: 13680
A idade em semanas é: 1976
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) {
    // para ler a entrada do usuário
    Scanner entrada = new Scanner(System.in);  
    
    // vamos ler o ano de nascimento
    System.out.print("Informe o ano de seu nascimento: ");
    int ano_nascimento = Integer.parseInt(entrada.nextLine());
    System.out.print("Informe o ano atual: ");
    int ano_atual = Integer.parseInt(entrada.nextLine());
    
    // calcula a idade em anos
    int idade_anos = ano_atual - ano_nascimento;
    System.out.println("A idade em anos é: " + idade_anos);
    
    // calcula a idade em meses
    int idade_meses = idade_anos * 12;
    System.out.println("A idade em meses é: " + idade_meses);
    
    // calcula a idade em dias
    int idade_dias = idade_anos * 12 * 30;
    System.out.println("A idade em dias é: " + idade_dias);
    
    // calcula a idade em semanas
    int idade_semanas = idade_anos * 52;
    System.out.println("A idade em semanas é: " + idade_semanas);
  } 
}



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

Exercícios Resolvidos de Java - Um programa que lê três números e os classifica e exibe em ordem crescente

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

Escreva um programa Java que pede ao usuário três números inteiros. Em seguida, ordene os três valores em ordem crescente e os exiba.

Sua saída deverá ser parecida com:

Informe o primeiro valor: 7
Informe o segundo valor: 4
Informe o terceiro valor: 6
Os números ordenados em ordem crescente são: 
4  6  7
Resposta/Solução:

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);  
    
    // vamos pedir que o usuário informe três números inteiros
    System.out.print("Informe o primeiro valor: ");
    int num1 = Integer.parseInt(entrada.nextLine());
    System.out.print("Informe o segundo valor: ");
    int num2 = Integer.parseInt(entrada.nextLine());
    System.out.print("Informe o terceiro valor: ");
    int num3 = Integer.parseInt(entrada.nextLine());
    
    // o primeiro número é maior que o segundo? vamos trocá-los
    if(num1 > num2){
      int temp = num1;
      num1 = num2;
      num2 = temp;
    }

    // o segundo número é maior que o terceiro? vamos trocá-los
    if(num2 > num3){
      int temp = num2;
      num2 = num3;
      num3 = temp;
    }

    // depois da segunda troca o número 1 é novamente maior que o número 2?
    if(num1 > num2){
      int temp = num1;
      num1 = num2;
      num2 = temp;
    }
    
    // mostra o resultado
    System.out.println("Os números ordenados em ordem crescente são: ");
    System.out.println(num1 + "  " + num2 + "  " + num3);
    
    System.out.println("\n");
  }
}



Python ::: wxPython ::: Controles Visuais Básicos do wxPython

Como obter o texto de um botão wx.Button do wxPython e exibí-lo em uma mensagem wx.MessageDialog usando a função GetLabel()

Quantidade de visualizações: 7304 vezes
Como obter o texto de um botão wx.Button do wxPython e exibí-lo em uma mensagem wx.MessageDialog usando a função GetLabel()

O texto (rótulo) de um wx.Button do framework wxPython pode ser obtido com uma chamada à função GetLabel(). O exemplo abaixo mostra uma aplicação completa e detalha como clicar em um botão, obter seu texto e exibí-lo em uma caixa de mensagem:

# vamos importar a biblioteca wxPython
import wx

class Janela(wx.Frame):
  def __init__(self):
    wx.Frame.__init__(self, None, -1, 
      "Usando wx.Button", size=(350, 200))
    
    # Cria um painel
    panel = wx.Panel(self)

    # Cria um botão e o adiciona no painel
    self.btn = wx.Button(panel, label="Clique Aqui", 
      pos=(10, 10), size=(100, 25))

    # Anexa um evento ao botão
    self.Bind(wx.EVT_BUTTON, self.OnBtnClick, self.btn)

  # Método que será chamado ao clicar o botão
  def OnBtnClick(self, event):
    texto_btn = self.btn.GetLabel()
    dlg = wx.MessageDialog(None, u"O texto do botão é: " 
      + texto_btn, "Usando wx.Button", wx.OK | wx.ICON_INFORMATION)
    result = dlg.ShowModal()
    dlg.Destroy()

if __name__ == "__main__":
  app = wx.App()
  janela = Janela()
  janela.Show(True)
  app.MainLoop()



GNU Octave ::: Desafios e Lista de Exercícios Resolvidos ::: Pesquisa Operacional

Exercício Resolvido de Octave - Programação Linear - Um fazendeiro decidiu misturar duas rações, a Ração X e a Ração Y. Cada porção de ração dada aos animais

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

Este exercício de Octave aborda o uso da função glpk() para resolver um problema de Pesquisa Operacional usando Programação Linear.

1) Um fazendeiro decidiu misturar duas rações, a Ração X e a Ração Y. Cada porção de ração dada aos animais exige 60g de proteína e 30g de gordura. A Ração X possui 15g de proteína e 10g de gordura, e custa R$ 80,00 a unidade. A Ração Y apresenta 20g de proteína e 5g de gordura e custa R$ 50,00 a unidade.

Quanto de cada ração deve ser usada para minimizar os custos do fazendeiro?

Sua saída deverá ser parecida com:

A solução para o problema de minimização é:

x = 2.40
y = 1.20

O custo mínimo é: 252.00
Resposta/Solução:

Antes de passarmos ao código Octave, vamos fazer a modelagem matemática do problema. O primeiro passo é identificar as variáveis. Assim, vamos chamar de x o número de unidades da Ração X e de y o número de unidades da Ração Y. Veja:

x = Número de unidades da Ração X
y = Número de unidades da Ração Y

E então temos a função custo:

custo = 80x + 50y

A primeira restrição diz respeito à quantidade de proteína em cada porção de ração. Sabendo que a Ração X apresenta 15g de proteína e a Ração Y apresenta 20g de proteína nós temos:

R1: 15x + 20y >= 60 (proteína)

A segunda restrição diz respeito à quantidade de gordura em cada porção de ração. Sabendo que a Ração X apresenta 10g de gordura e a Ração Y apresenta 5g de gordura nós temos:

R2: 10x + 5y >= 30 (gordura)

As restrições R3 e R4 dizem respeito à não negatividade das variáveis de decisão:

R3: x >= 0
R4: y >= 0

Veja agora o código Octave completo (pesquisa_operacional.m):

# vamos começar definindo a matriz que representa a função de
# minimização
c = [80.0, 50.0]';

# agora a matriz de restrições
A = [15, 20; 10, 5];
b = [60, 30]';

# as restrições de não negatividade e o limite superior
lb = [0, 0]';
ub = [];

# definimos as restrições como limites inferiores
ctype = "LL";

# indicamos que vamos usar variáveis contínuas (não inteiros)
vartype = "CC";

# vamos usar minimização, por isso definimos o valor 1. Se fosse
# maximização o valor seria -1
s = 1;

# definimos os parâmetros adicionais
param.msglev = 1;
param.itlim = 100;

# e chamamos a função glpk()
[xmin, fmin, status, extra] = glpk(c, A, b, lb, ub, ctype, vartype, s, param);

# mostramos a solução para o problema de minimização
printf("A solução para o problema de minimização é:\n\n");
printf("x = %.2f\n", xmin(1));
printf("y = %.2f\n", xmin(2));

# para finalizar vamos mostrar o custo mínimo
printf("\nO custo mínimo é: %.2f\n\n", fmin);

Ao executar o código você perceberá que, para minimizar os custos do fazendeiro, deverão ser usados na mistura 2,4 unidades da Ração X e 1,2 unidades da Raça Y, a um custo mínimo de R$ 252,00.


Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de GNU Octave

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


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