![]() |
|
|
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 ::: Java para Engenharia ::: Geometria Analítica e Álgebra Linear |
Como calcular vetor unitário em Java - Java para Física e EngenhariaQuantidade de visualizações: 851 vezes |
|
Um vetor unitário ou versor num espaço vetorial normado é um vetor (mais comumente um vetor espacial) cujo comprimento ou magnitude é 1. Em geral um vetor unitário é representado por um "circunflexo", assim: __$\hat{i}__$. O vetor normalizado __$\hat{u}__$ de um vetor não zero __$\vec{u}__$ é o vetor unitário codirecional com __$\vec{u}__$. O termo vetor normalizado é algumas vezes utilizado simplesmente como sinônimo para vetor unitário. Dessa forma, o vetor unitário de um vetor __$\vec{u}__$ possui a mesma direção e sentido, mas magnitude 1. Por magnitude entendemos o módulo, a norma ou comprimento do vetor. Então, vejamos a fórmula para a obtenção do vetor unitário: \[\hat{u} = \dfrac{\vec{v}}{\left|\vec{v}\right|}\] Note que nós temos que dividir as componentes do vetor pelo seu módulo de forma a obter o seu vetor unitário. Por essa razão o vetor nulo não possui vetor unitário, pois o seu módulo é zero, e, como sabemos, uma divisão por zero não é possível. Veja agora o código Java que pede as coordenadas x e y de um vetor 2D ou R2 e retorna o seu vetor unitário:
package estudos;
import java.util.Scanner;
public class Estudos {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
// vamos ler os valores x e y
System.out.print("Informe o valor de x: ");
double x = Double.parseDouble(entrada.nextLine());
System.out.print("Informe o valor de y: ");
double y = Double.parseDouble(entrada.nextLine());
// o primeiro passo é calcular a norma do vetor
double norma = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2));
// agora obtemos as componentes x e y do vetor unitário
double u_x = x / norma;
double u_y = y / norma;
// mostra o resultado
System.out.println("O vetor unitário é: (x = " +
u_x + "; y = " + u_y);
}
}
Ao executar este código Java nós teremos o seguinte resultado: Informe o valor de x: -4 Informe o valor de y: 6 O vetor unitário é: (x = -0.5547001962252291; y = 0.8320502943378437 Veja agora uma modificação deste código para retornarmos o vetor unitário de um vetor 3D ou R3, ou seja, um vetor no espaço:
package estudos;
import java.util.Scanner;
public class Estudos {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
// vamos ler os valores x, y e z
System.out.print("Informe o valor de x: ");
double x = Double.parseDouble(entrada.nextLine());
System.out.print("Informe o valor de y: ");
double y = Double.parseDouble(entrada.nextLine());
System.out.print("Informe o valor de z: ");
double z = Double.parseDouble(entrada.nextLine());
// o primeiro passo é calcular a norma do vetor
double norma = Math.sqrt(Math.pow(x, 2)
+ Math.pow(y, 2) + Math.pow(z, 2));
// agora obtemos as componentes x, y e z do vetor unitário
double u_x = x / norma;
double u_y = y / norma;
double u_z = z / norma;
// mostra o resultado
System.out.println("O vetor unitário é: (x = " +
u_x + "; y = " + u_y + "; z = " + u_z);
}
}
Ao executarmos este novo código nós teremos o seguinte resultado: Informe o valor de x: 3 Informe o valor de y: 7 Informe o valor de z: 5 O vetor unitário é: (x = 0.329292779969071; y = 0.7683498199278324; z = 0.5488212999484517 |
Java ::: Pacote java.util ::: Iterator |
Como usar objetos da interface Iterator do Java em suas aplicaçõesQuantidade de visualizações: 3325 vezes |
|
Um objeto da interface Iterator<E>, no pacote java.util, é usado para percorrer os elementos de uma coleção. Um Iterator é usado com frequencia em substituição a um Enumeration. Há duas diferenças principais entre os dois: a) Um Iterator permite a remoção de elementos na coleção sendo percorrida no momento. b) Os métodos do Iterator são mais curtos e apresentam melhoria em relação aos métodos do Enumeration. As subinterfaces conhecidas de Iterator<E> são ListIterator<E> e XMLEventReader. As classes conhecidas que implementam esta interface são BeanContextSupport.BCSIterator, EventReaderDelegate e Scanner. Veja um trecho de código no qual usamos um Iterator para percorrer e exibir os valores dos elementos de uma ArrayList:
package estudos;
import java.util.ArrayList;
import java.util.Iterator;
public class Estudos{
public static void main(String[] args){
// vamos criar uma ArrayList
ArrayList<String> pessoas = new ArrayList();
pessoas.add("Osmar");
pessoas.add("Carlos");
pessoas.add("Fernanda");
// vamos obter um Iterator para a lista e percorrer todos os elementos
for(Iterator<String> pessoa = pessoas.iterator(); pessoa.hasNext();){
System.out.println(pessoa.next());
}
}
}
Ao executar este exemplo nós teremos o seguinte resultado: Osmar Carlos Fernanda |
PHP ::: Dicas & Truques ::: Data e Hora |
Datas e horas em PHP - Como obter o dia da data atual com dois dígitosQuantidade de visualizações: 1 vezes |
|
Em algumas situações nós precisamos obter o dia da data atual (ou qualquer outra data) como um número inteiro de dois dígitos. Para isso nós podemos usar a função date() com o argumento "d". Veja o código PHP completo para o exemplo:
<html>
<head>
<title>Estudando PHP</title>
</head>
<body>
<?php
$dia = date("d");
echo "O dia da data atual é: " . $dia;
?>
</body>
</html>
Ao executar este código PHP nós teremos o seguinte resultado: O dia da data atual é: 22 |
C ::: Dicas & Truques ::: Ponteiros, Referências e Memória |
Como alocar memória dinâmica usando a função calloc() da linguagem CQuantidade de visualizações: 19491 vezes |
A função calloc() é bem parecida com a função malloc() e também é usada em C para alocarmos um bloco de memória. A diferença é que calloc() recebe a quantidade de elementos e o número de bytes do elemento e retorna um ponteiro do tipo void (genérico) para o início do bloco de memória obtido. Veja sua assinatura:void *calloc(size_t n, size_t size); Se a memória não puder se alocada, um ponteiro nulo (NULL) será retornado. É importante se lembrar de alguns conceitos antes de usar esta função. Suponhamos que você queira alocar memória para um único inteiro. Você poderia ter algo assim: // aloca memória para um int ponteiro = calloc(1, 4); Embora este código esteja correto, não é um boa idéia assumir que um inteiro terá sempre 4 bytes. Desta forma, é melhor usar o operador sizeof() para obter a quantidade de bytes em um inteiro em uma determinada arquitetura. Veja: // aloca memória para um int ponteiro = calloc(1, sizeof(int)); Eis o código completo para um aplicativo C que mostra como alocar memória para um inteiro e depois atribuir e obter o valor armazenado no bloco de memória alocado:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
// ponteiro para uma variável do tipo inteiro
int *ponteiro;
// aloca memória para um int
ponteiro = calloc(1, sizeof(int));
// testa se a memória foi alocada com sucesso
if(ponteiro)
printf("Memoria alocada com sucesso.\n");
else
printf("Nao foi possivel alocar a memoria.\n");
// atribui valor à memória alocada
*ponteiro = 45;
// obtém o valor atribuído
printf("Valor: %d\n\n", *ponteiro);
// libera a memória
free(ponteiro);
system("PAUSE");
return 0;
}
Uma aplicação interessante da função calloc() é quando precisamos construir uma matriz dinâmica. Veja como isso é feito no código abaixo:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int i;
// quantidade de elementos na matriz
int quant = 10;
// ponteiro para o bloco de memória
int *ponteiro;
// aloca memória para uma matriz de inteiros
ponteiro = calloc(quant, sizeof(int));
// testa se a memória foi alocada com sucesso
if(ponteiro)
printf("Memoria alocada com sucesso.\n");
else{
printf("Nao foi possivel alocar a memoria.\n");
exit(1);
}
// atribui valores aos elementos do array
for(i = 0; i < quant; i++){
ponteiro[i] = i * 2;
}
// exibe os valores
for(i = 0; i < quant; i++){
printf("%d ", ponteiro[i]);
}
// libera a memória
free(ponteiro);
printf("\n\n");
system("PAUSE");
return 0;
}
|
C ::: Desafios e Lista de Exercícios Resolvidos ::: Operadores de Manipulação de Bits (Bitwise Operators) |
Exercícios Resolvidos de C - Como converter de decimal para binário usando os operadores de bits em CQuantidade de visualizações: 1510 vezes |
|
Pergunta/Tarefa: Escreva um programa C 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 C, comentada linha a linha:
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
// vamos definir o tamanho do vetor para guardar
// os dígitos do número binário
#define TAM_INT sizeof(int) * 8
int main(int argc, char *argv[]){
// variáveis para ajudar a resolver o problema
int decimal, indice, i;
// vetor para guardar o número binário
int binario[TAM_INT];
setlocale(LC_ALL,""); // para acentos do português
// vamos pedir para o usuário informar um decimal inteiro
printf("Informe um número decimal: ");
scanf("%d", &decimal);
// 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
indice--;
// desloca bits para a direita uma posição
decimal = decimal >> 1;
}
// agora vamos exibir o número binário
printf("O número binário é: ");
for(i = 0; i < TAM_INT; i++){
printf("%d", binario[i]);
}
printf("\n\n");
system("PAUSE");
return 0;
}
|
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de C |
Veja mais Dicas e truques de C |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





