![]() |
|
|
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 Python |
||
|
||
|
|
||
C# ::: Dicas & Truques ::: Data e Hora |
Como construir uma data e hora em C# usando o objeto DateTime e fornecendo o dia, mês, ano, horas, minutos e segundos da data e hora desejadasQuantidade de visualizações: 12933 vezes |
Esta dica mostra como construir uma data e hora em C# usando o seguinte construtor da estrutura DateTime:DateTime(Int32, Int32, Int32, Int32, Int32, Int32) Este construtor pede seis valores inteiros representando o ano, mês, dia, horas, minutos e segundos da data e hora que queremos construir e retorna um objeto DateTime representando a data e hora recém-construidas (note que a hora deve ser informada no formato 0-23). Veja um exemplo:
static void Main(string[] args){
// cria um objeto DateTime para a data 10/04/2008
// e hora 18:32:10
DateTime data = new DateTime(2008, 4, 10, 18, 32, 10);
// exibe o resultado
System.Console.WriteLine(data.ToString(
"dd/MM/yyyy - HH:mm:ss"));
// pausa o programa
Console.ReadKey();
}
Tome cuidade. Este método pode lançar exceções dos tipos ArgumentOutOfRangeException e ArgumentException se os valores fornecidos estiverem fora das faixas permitidas. |
Fórmulas da Física ::: Mecânica ::: Fórmulas de Cinemática |
Fórmula da Velocidade - Como calcular a velocidade quando temos a distância percorrida e o tempo gastoQuantidade de visualizações: 1982 vezes |
|
Nesta dica mostrarei a fórmula básica para o cálculo da velocidade dados a distância e o tempo. Esta situação é comum quando, em uma conversa, alguém diz que percorreu uma determinada distância em um determinado tempo e quer saber a velocidade com a qual este percurso foi feito. Note que não estamos falando de velocidade média, que possui uma fórmula bem semelhante, mas adiciona alguns detalhes. Assim, a fórmula simples para o cálculo da velocidade dados a distância e o tempo é: \[v = \frac{d}{t} \] Onde: v é a velocidade em metros por segundo (m/s); d é a distância percorrida em metros (m); t é o tempo em segundos (s); Embora metros e segundos sejam as medidas mais adequadas para a resolução deste tipo de problema (por serem as unidades padrões do SI - Sistema Internacional de Medidas), você pode usar quilômetros em vez de metros, desde que o tempo seja medido em horas, com a velocidade em Km/h (quilômetros por hora). Vamos ver um exemplo? 1) Joana saiu de Goiânia com destino a uma fazenda de amigos, localizada a 180km de distância. Para este percurso ela gastou 3h. Qual foi a velocidade empregada do percurso? Resolução: Vamos começar anotando que a distância está em quilômetros e o tempo em horas. Como as informações são compatíveis, não há a necessidade de se converter para metros e segundos. Dessa forma, só precisamos jogar os valores na fórmula. Veja: \[v = \frac{d}{t} \] \[v = \frac{180}{3} \] \[v = 60 \] Ou seja, a velocidade (que pode ser vista como velocidade média neste problema) é de 60km/h. |
Java ::: Coleções (Collections) ::: HashSet |
Java HashSet - Como usar o método add() para adicionar novos elementos a um HashSet da linguagem JavaQuantidade de visualizações: 5954 vezes |
Novos elementos podem ser adicionados a um HashSet por meio do método add(), definido originalmente na interface Collection<E> e sobrescrevendo a versão herdada de AbstractCollection<E>. Este método possui a seguinte assinatura:public boolean add(E e)
package estudos;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class Estudos{
public static void main(String[] args) {
// vamos criar uma instância da classe HashSet
Set<Integer> conjunto = new HashSet<>();
// vamos tentar inserir três inteiros neste conjunto
if(conjunto.add(5)){
System.out.println("Elemento inserido com sucesso.");
}
else{
System.out.println("O elemento não foi inserido.");
}
if(conjunto.add(7)){
System.out.println("Elemento inserido com sucesso.");
}
else{
System.out.println("O elemento não foi inserido.");
}
if(conjunto.add(5)){
System.out.println("Elemento inserido com sucesso.");
}
else{
System.out.println("O elemento não foi inserido.");
}
// vamos exibir os elementos inseridos com sucesso
Iterator iterator = conjunto.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next());
}
}
}
Ao executar este código teremos o seguinte resultado: Elemento inserido com sucesso. Elemento inserido com sucesso. O elemento não foi inserido. 5 7 |
Java ::: Estruturas de Dados ::: Árvore Binária e Árvore Binária de Busca |
Como percorrer uma árvore binária em Java usando o algorítmo depth-first search (DFS) recursivoQuantidade de visualizações: 1313 vezes |
|
Nesta dica mostrarei como podemos implementar o algorítmo da Busca em Profundidade (DFS, do inglês depth-first search) em Java de forma recursiva. Em outra dica desta seção que mostrei como fazer a mesma travessia de forma iterativa e usando uma pilha para backtracking (retrocesso). Antes de iniciarmos, veja a árvore binária que vamos usar no exemplo: ![]() Note que esta árvore possui seis nós. O nó 5 é o nó raiz, e possui como filhos os nós 4 e 9. O nó 4, por sua vez, possui apenas um filho, o nó 2, ou seja, o filho da esquerda. O nó 9 possui dois filhos: o nó 3 é o filho da esquerda e o nó 12 é o filho da direita. Os filhos da árvore binária que não possuem outros filhos são chamados de folhas. Com a abordagem da busca em profundidade, começamos com o nó raiz e viajamos para baixo em uma única ramificação. Se o nó desejado for encontrado naquela ramificação, ótimo. Do contrário, continuamos subindo e pesquisando por nós não visitados. Esse tipo de busca também tem uma notação big O de O(n). Vamos à implementação? Veja o código para a classe No, que representa um nó na árvore binária:
// implementação da classe No
class No{
public int valor; // o valor do nó
public No esquerdo; // o filho da esquerda
public No direito; // o filho da direita
public No(int valor){
this.valor = valor;
this.esquerdo = null;
this.direito = null;
}
}
Veja agora o código completo para o exemplo. Note que estamos usando recursividade nesta dica. Observe também o uso de uma ArrayList para guardar os valores da árvore binária na ordem depth-first. Eis o código:
package estudos;
import java.util.ArrayList;
// implementação da classe No
class No{
public int valor; // o valor do nó
public No esquerdo; // o filho da esquerda
public No direito; // o filho da direita
public No(int valor){
this.valor = valor;
this.esquerdo = null;
this.direito = null;
}
}
public class Estudos{
public static void main(String[] args){
// vamos criar os nós da árvore
No cinco = new No(5); // será a raiz da árvore
No quatro = new No(4);
No nove = new No(9);
No dois = new No(2);
No tres = new No(3);
No doze = new No(12);
// vamos fazer a ligação entre os nós
cinco.esquerdo = quatro;
cinco.direito = nove;
quatro.esquerdo = dois;
nove.esquerdo = tres;
nove.direito = doze;
// agora já podemos efetuar o percurso depth-first
ArrayList<Integer> valores = new ArrayList<>();
percursoDepthFirst(valores, cinco);
System.out.println("Os valores na ordem Depth-First são: " + valores);
}
public static void percursoDepthFirst(ArrayList<Integer> valores, No no){
if(no != null){
// vamos adicionar o valor deste nó no ArrayList
valores.add(no.valor);
// passamos para o filho esquerdo
percursoDepthFirst(valores, no.esquerdo);
// passamos para o filho direito
percursoDepthFirst(valores, no.direito);
}
}
}
Ao executarmos este código Java nós teremos o seguinte resultado: Os valores na ordem Depth-First são: [5, 4, 2, 9, 3, 12] Compare estes valores com a imagem vista anteriormente para entender ainda melhor o percurso ou busca Depth-First. |
C# ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de C# - Criando dois vetores de inteiros de forma que a soma dos elementos individuais de cada vetor seja igual a 30Quantidade de visualizações: 786 vezes |
|
Pergunta/Tarefa: Considere os seguintes vetores:
// dois vetores de 5 inteiros cada
int[] a = { 50, -2, 9, 5, 17 };
int[] b = new int[5];
Sua saída deverá ser parecida com: Valores no vetor a: 50 -2 9 5 17 Valores no vetor b: -20 32 21 25 13 Veja a resolução comentada deste exercício usando C#:
using System;
namespace Estudos {
class Principal {
// função principal do programa C#
static void Main(string[] args) {
// dois vetores de 5 inteiros cada
int[] a = { 50, -2, 9, 5, 17 };
int[] b = new int[5];
// vamos preencher o segundo vetor de forma que a soma dos
// valores de seus elementos seja 30
for (int i = 0; i < b.Length; i++) {
b[i] = 30 - a[i];
}
// vamos mostrar o resultado
Console.Write("Valores no vetor a: ");
for (int i = 0; i < a.Length; i++) {
Console.Write(a[i] + " ");
}
Console.Write("\nValores no vetor b: ");
for (int i = 0; i < b.Length; i++) {
Console.Write(b[i] + " ");
}
Console.WriteLine("\n\nPressione uma tecla para sair...");
Console.ReadKey();
}
}
}
|
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 |
|
JavaScript - Como calcular o coeficiente angular de uma reta em JavaScript dados dois pontos no plano cartesiano Delphi - Como verificar se um arquivo existe usando a função FileExists() da unit SysUtils do Delphi JavaScript - JavaScript para Trigonometria - Como converter radianos em graus na linguagem JavaScript |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






