![]() |
|
|
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. |
||
Você está aqui: Cards de Cards de Hidrologia |
||
|
||
|
|
||
Java ::: Dicas & Truques ::: Ordenação e Pesquisa (Busca) |
Como implementar a ordenação Quicksort em Java - Apostila de Java para iniciantesQuantidade de visualizações: 757 vezes |
|
A ordenação Quicksort é um dos algorítmos de ordenação mais encontrados em aplicações reais de programação. No Delphi esta ordenação é encontrada no objeto TList. No Java podemos encontrá-lo no método Arrays.sort(). Na linguagem C a ordenação Quicksort é implementada na função qsort() da biblioteca padrão. O algoritmo de ordenação Quicksort é do tipo dividir para conquistar (divide-and-conquer principle). Neste tipo de algoritmo o problema é dividido em sub-problemas e a solução é concatenada quando as chamadas recursivas atingirem o caso base. O vetor (ou array) a ser ordenado é dividido em duas sub-listas por um elemento chamado pivô, resultando em uma lista com elementos menores que o pivô e outra lista com os elementos maiores que o pivô. Esse processo é repetido para cada chamada recursiva. Sim, a ordenação Quicksort faz uso extensivo de recursividade, razão pela qual devemos ter muito cuidado para não estourar a pilha do sistema. Existem muitos estudos sobre o pivô ideal para a ordenação Quicksort. Nessa dica adotarei o último elemento do array ou sub-array como pivô. Em vetores não ordenados essa estratégia, em geral, resulta em uma boa escolha. Vamos ao código Java então? Veja um programa Java completo demonstrando o uso da ordenação Quicksort para um array de 10 elementos inteiros:
package estudos;
import java.util.Scanner;
public class Estudos {
public static void main(String[] args) {
// vamos declarar um array de 10 elementos
int valores[] = new int[10];
// para ler a entrada do usuário
Scanner entrada = new Scanner(System.in);
// vamos pedir ao usuário para informar os valores para o vetor
for(int i = 0; i < valores.length; i++){
System.out.print("Informe o valor do elemento " + i + ": ");
valores[i] = Integer.parseInt(entrada.nextLine());
}
// vamos mostrar o array informado
System.out.println("\nO array informado foi:\n");
for(int i = 0; i < valores.length; i++){
System.out.print(valores[i] + " ");
}
// vamos ordenar o vetor usando a ordenação Quicksort
quickSort(valores, 0, valores.length - 1);
System.out.println("\n\nO array ordenado é:\n");
for(int i = 0; i < valores.length; i++){
System.out.print(valores[i] + " ");
}
System.out.println("\n\n");
}
// função de implementação da ordenação Quicksort
public static void quickSort(int vetor[], int inicio, int fim) {
// o início é menor que o fim?
if (inicio < fim) {
// vamos obter o novo índice da partição
int indiceParticao = particionar(vetor, inicio, fim);
// efetuamos novas chamadas recursivas
quickSort(vetor, inicio, indiceParticao - 1);
quickSort(vetor, indiceParticao + 1, fim);
}
}
// função que retorna o índice de partição
private static int particionar(int vetor[], int inicio, int fim) {
// para guardar o pivô
int pivot = vetor[fim];
int i = (inicio - 1);
for (int j = inicio; j < fim; j++) {
if (vetor[j] <= pivot) {
i++;
// fazemos a troca
int temp = vetor[i];
vetor[i] = vetor[j];
vetor[j] = temp;
}
}
// efetua a troca
int temp = vetor[i + 1];
vetor[i + 1] = vetor[fim];
vetor[fim] = temp;
return i + 1;
}
}
Ao executar este código Java nós teremos o seguinte resultado: Informe o valor do elemento 0: 7 Informe o valor do elemento 1: 2 Informe o valor do elemento 2: 43 Informe o valor do elemento 3: 1 Informe o valor do elemento 4: 9 Informe o valor do elemento 5: 6 Informe o valor do elemento 6: 22 Informe o valor do elemento 7: 3 Informe o valor do elemento 8: 37 Informe o valor do elemento 9: 5 O array informado foi: 7 2 43 1 9 6 22 3 37 5 O array ordenado é: 1 2 3 5 6 7 9 22 37 43 |
Python ::: Python para Engenharia ::: Física - Hidrodinâmica |
Como representar a Equação da Continuidade em Python - Python para HidrodinâmicaQuantidade de visualizações: 653 vezes |
|
O que é a Equação da Continuidade? A Hidrodinâmica é a parte da Física que estuda os fluidos em movimento, enquanto a Equação da Continuidade, que é parte da Hidrodinâmica, determina o fluxo de um fluido através de uma área. Esta equação está muito presente quando o assunto é Dinâmica dos Fluidos ou Mecânica dos Fluidos. A Equação da Continuidade é uma consequência direta da Lei da Conservação da Massa. Por meio dessa propriedade, podemos dizer que a quantidade de massa de fluido que atravessa o tubo é a mesma na entrada e na saída. Para melhor entendimento veja a seguinte figura: ![]() Sabendo que a quantidade de água que entra na mangueira deve ser igual à mesma quantidade que sai, ao colocarmos o dedo na saída da mangueira, nós estamos estreitando a área da vazão, o que, consequentemente, aumenta a velocidade da água. Qual é a Fórmula da Equação da Continuidade? Antes de passarmos ao código Python, vamos revisar a Fórmula da Equação da Continuidade. Veja: \[ A_1 \cdot \text{v}_1 = A_2 \cdot \text{v}_2 \] Por meio dessa equação nós entramos com três valores e obtemos um quarto valor. Não se esqueça de que as velocidades são dadas em metros por segundo e as áreas são dadas em metros quadrados (de acordo com o SI - Sistema Internacional de Medidas). Tenha a certeza de efetuar as devidas conversões para não obter resultados incorretos. Vamos escrever código Python agora? A Equação da Continuidade em código Python Para exemplificar como podemos representar a Equação da Continuidade em Python, vamos resolver o seguinte problema? 1) Um fluido escoa a 2 m/s em um tubo de área transversal igual a 200 mm2. Qual é a velocidade desse fluido ao sair pelo outro lado do tubo, cuja área é de 100 mm2? a) 20 m/s b) 4 m/s c) 0,25 m/s d) 1,4 m/s e) 0,2 m/s Note que a velocidade já está em metros por segundo, mas as áreas foram dadas em milímetros quadrados. Por essa razão nós deveremos converter milímetros quadrados em metros quadrados. Veja o código Python completo para a resolução deste exercício de Equação da Continuidade:
# função principal do programa
def main():
# vamos solicitar os dados de entrada
v1 = float(input("Velocidade de entrada (m/s): "))
a1 = float(input("Área de entrada (milímetros quadrados): "))
a2 = float(input("Área de saída (milímetros quadrados): "))
# vamos converter as áreas em milímetros quadrados
# para metros quadrados
a1 = a1 / 1000000
a2 = a2 / 1000000
# agora calculamos a velocidade de saída
v2 = (a1 * v1) / a2
# e mostramos o resultado
print("A velocidade de saída é: {0} m/s".format(v2))
if __name__== "__main__":
main()
Ao executar este código Python nós teremos o seguinte resultado: Velocidade de entrada (m/s): 2 Área de entrada (milímetros quadrados): 200 Área de saída (milímetros quadrados): 100 A velocidade de saída é: 4.0 m/s Portanto, a velocidade do fluido na saída do tubo é de 4 m/s. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Operadores de Manipulação de Bits (Bitwise Operators) |
Exercícios Resolvidos de Java - Como converter de decimal para binário usando os operadores de bits em JavaQuantidade de visualizações: 1453 vezes |
|
Este exercício faz parte da nossa lista de desafios de programação em Java. Pergunta/Tarefa: Escreva um programa Java para pede para o usuário informar um número decimal e faça a conversão para binário usando os operadores de bits. Sua saída deverá ser parecida com: Informe um número decimal: 9 O número binário é: 00000000000000000000000000001001 Veja a resolução completa para o exercício em Java, comentada linha a linha:
package estudos;
import java.util.Scanner;
public class Estudos {
// vamos definir o tamanho do vetor para guardar
// os dígitos do número binário
final static int TAM_INT = Integer.BYTES * 8;
public static void main(String[] args){
// para ler a entrada do usuário
Scanner entrada = new Scanner(System.in);
// variáveis para ajudar a resolver o problema
int decimal, indice, i;
// vetor para guardar o número binário
int binario[] = new int[TAM_INT];
// vamos pedir para o usuário informar um decimal inteiro
System.out.print("Informe um número decimal: ");
decimal = Integer.parseInt(entrada.nextLine());
// ajustamos índice para o último elemento do vetor
indice = TAM_INT - 1;
// enquanto índice for maior ou igual a 0
while(indice >= 0){
// vamos guardar o bit menos significativo LSB
binario[indice] = decimal & 1;
// diminuímos o índice 100010
indice--;
// desloca bits para a direita uma posição
decimal = decimal >> 1;
}
// agora vamos exibir o número binário
System.out.print("O número binário é: ");
for(i = 0; i < TAM_INT; i++){
System.out.print(binario[i]);
}
System.out.println("\n\n");
}
}
|
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercícios Resolvidos de Java - Um programa Java que gera um número randômico na faixa de 20 a 40 (valores inclusos) e exibe o seno, cosseno e tangenteQuantidade de visualizações: 805 vezes |
|
Pergunta/Tarefa: Escreva um programa Java que gera um número randômico na faixa de 20 a 40 (valores inclusos) e exibe o seno, cosseno e tangente do número aleatório gerado. Sua saída deve ser parecida com: O número gerado foi: 26 O seno do número gerado é: 0.7625584504796028 O cosseno do número gerado é: 0.6469193223286404 A tangente do número gerado é: 1.1787535542062797 O número gerado foi: 40 O seno do número gerado é: 0.7451131604793488 O cosseno do número gerado é: -0.6669380616522619 A tangente do número gerado é: -1.117214930923896 Veja a resolução comentada deste exercício usando Java:
package estudos;
import java.util.Random;
public class Estudos {
public static void main(String[] args) {
// variáveis usadas na resolução do problema
int numero_rand;
double seno, cosseno, tangente;
// vamos gerar o número aleatório na faixa 20-40
Random rand = new Random();
numero_rand = rand.nextInt(21) + 20;
System.out.println("O número gerado foi: " + numero_rand);
// vamos gerar o seno do número sorteado
seno = Math.sin(numero_rand);
System.out.println("O seno do número gerado é: " + seno);
// vamos gerar o cosseno do número sorteado
cosseno = Math.cos(numero_rand);
System.out.println("O cosseno do número gerado é: " + cosseno);
// agora a tangente do número sorteado
tangente = Math.tan(numero_rand);
System.out.println("A tangente do número gerado é: " + tangente);
}
}
|
jQuery ::: Dicas & Truques ::: Atributos ou Propriedades HTML |
Como remover atributos dos elementos HTML usando a função removeAttr() do jQueryQuantidade de visualizações: 17774 vezes |
O método removeAttr() da biblioteca jQuery nos permite remover um determinado atributo dos elementos HTML retornados sob uma determinada condição. Veja um trecho de código que remove o atributo disabled de uma caixa de texto com o id nome:
<script type="text/javascript">
<!--
function removerAtributo(){
// remove o atributo disabled da
// caixa de texto com id "nome"
$('#nome').removeAttr("disabled");
}
//-->
</script>
O retorno deste método é um objeto jQuery que poderá ser usado para fins de encadeamento de chamadas de métodos. |
Veja mais Dicas e truques de jQuery |
Dicas e truques de outras linguagens |
|
AutoCAD .NET API C# - Como selecionar uma polilinha no AutoCAD e mostrar as coordenadas de suas vértices usando a AutoCAD .NET C# API |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |




