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.

C# ::: Coleções (Collections) ::: List<T>

Como pesquisar um elemento em uma lista do C# usando a função Find() e um Predicate

Quantidade de visualizações: 15631 vezes
Em algumas situações gostaríamos de pesquisar e retornar o primeiro elemento de uma List<T> que obedece a algum critério de busca. Assim, poderíamos, por exemplo, pesquisar um nome que começa com uma determinada palavra ou um preço de produto maior ou igual a um determinado valor.

Para tais situações podemos usar o método Find(). Este método possui a seguinte assinatura:

public T Find(
  Predicate<T> match
)

Veja que o método pede um delegate do tipo Predicate<T> que define as condições para a pesquisa do elemento. Se o elemento for encontrado, este é retornado. Caso contrário, o valor padrão para T é retornado (null para referências).

Veja um trecho de código no qual eu mostro como usar o método Find() em combinação com um método personalizado que permite usar um delegate anônimo. Desta forma conseguimos fornecer, em tempo de execução, o argumento para o parâmetro match do Predicate:

static void Main(string[] args){
  // vamos criar um objeto da classe List<T>
  List<string> nomes = new List<string>();

  // vamos inserir quatro valores na lista
  nomes.Add("Osmar J. Silva");
  nomes.Add("Salvador Miranda de Andrade");
  nomes.Add("Dyego Fernandes de Souza");
  nomes.Add("Marcos de Paula Rocha");
  
  // vamos pesquisar um valor na lista usando um método personalizado
  // Neste exemplo vamos retornar o primeiro nome que contenha a palavra
  // "Dyego"
  string nome = encontrar(nomes, "Dyego");

  // vamos verificar se o nome foi encontrado
  if(nome != null){
    // foi encontrado....vamos retornar o resultado
    Console.WriteLine(nome);
  }
  else{
    Console.WriteLine("Nenhum nome encontrado.");
  }

  // vamos pausar a execução
  Console.Write("\n\nPressione qualquer tecla para continuar...");
  Console.ReadKey();
}

// método auxiliar que permite encontrar um valor na lista usando
// o método Find() da classe List<T> e um Predicate
static string encontrar(List<string> lista, string texto){
  string encontrado = null;

  // vamos pesquisar o valor na lista usando seu método Find()
  // Aqui o primeiro nome que passar no critério de busca será retornado
  encontrado = lista.Find(delegate(string valor){
      return valor.Contains(texto);
  });

  return encontrado;
}

O método Find() executa uma busca linear. Assim, este método é uma operação O(n), onde n é a quantidade de elementos na lista.


C ::: Fundamentos da Linguagem ::: Estruturas de Controle

Apostila de C para iniciantes - Como criar um laço for infinito na linguagem C

Quantidade de visualizações: 10798 vezes
A linguagem C nos permite criar laços for infinitos. Para isso, só precisamos omitir as partes de inicialização, teste e incremento/decremento. Veja um exemplo:

 
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
  int i = 1;

  for(;;){
    printf("%d  ", i);
    i++;

    if(i > 10)
      break; // sai do laço
  }

  printf("\n\n");
  system("PAUSE");
  return 0;
}

Veja que só usamos for(;;). Tenha o cuidado de fornecer uma forma de parar o laço. Do contrário seu programa executará até travar.


Java ::: Coleções (Collections) ::: Set (Conjunto)

Como usar objetos da interface Set do Java para representar a interseção (ou intersecção) de dois ou mais conjuntos

Quantidade de visualizações: 5295 vezes
Na teoria dos conjuntos, a interseção (português brasileiro) ou intersecção (português europeu) de dois ou mais conjuntos é o conjunto dos elementos que, simultaneamente, pertencem a dois ou mais destes conjuntos. Assim, seja A = {2, 5, 8, 19, 30} e B = {2, 3, 1, 30}. A interseção desses dois conjuntos é C = {2, 30}.

Na programação Java podemos representar a interseção de dois conjuntos usando objetos da interface Set e qualquer uma de suas implementações. Para este exemplo vou usar a classe TreeSet, que permite a ordenação dos elementos. Veja o código:

package estudos;

import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;

public class Estudos{
  public static void main(String[] args) {
    // primeiro conjunto
    Set<Integer> conjuntoA = new TreeSet<>();
    conjuntoA.add(2);
    conjuntoA.add(5);
    conjuntoA.add(8);
    conjuntoA.add(19);
    conjuntoA.add(30);
    
    // segundo conjunto
    Set<Integer> conjuntoB = new TreeSet<>();
    conjuntoB.add(2);
    conjuntoB.add(3);
    conjuntoB.add(1);
    conjuntoB.add(30);
    
    // vamos obter a interseção dos dois conjuntos      
    Set<Integer> conjuntoC = intersecao(conjuntoA, conjuntoB);        
    
    // vamos exibir os elementos no conjunto C
    Iterator iterator = conjuntoC.iterator();
    while(iterator.hasNext()){
      System.out.println(iterator.next());
    }
  }
  
  // método genérico que permite obter a interseção de dois conjuntos
  public static <T> Set<T> intersecao(Set<T> conjA, Set<T> conjB){
    Set<T> conjC = new TreeSet<>();
    // percorremos todos os elementos do conjunto A
    for(T elemento: conjA){
      // e verificamos se o elemento está contido no conjunto B
      if(conjB.contains(elemento)){
        conjC.add(elemento); // se estiver contido nós o adicionamos no conjunto C 
      }
    }
    
    return conjC; // e retornamos o conjunto C
  }
}

Ao executarmos este código teremos o seguinte resultado:

2
30


JavaScript ::: Dicas & Truques ::: Matemática e Estatística

Como calcular Fatorial em JavaScript usando recursão - Como calcular Fatorial usando recursividade - Aprenda a calcular Fatorial usando JavaScript

Quantidade de visualizações: 17813 vezes
Embora existam várias formas de efetuar o cálculo de Fatorial, a forma mais comum é usando recursividade, ou seja, dividir a resolução do problema em partes menores e juntá-las no final.

Neste dica eu mostro como calcular Fatorial em JavaScript usando recursividade. Veja o código completo:

<html>
<head>
<title>Estudando JavaScript</title>
 
<script type="text/javascript">
  function fatorial(num){
    if(num > 1)
      return num * arguments.callee(num - 1);
    else 
      return 1;
  }
</script>
 
</head>
<body>
 
<script type="text/javascript">
  document.write("O fatorial de 5 é: " + fatorial(5));
</script>
 
</body>
</html>

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

O fatorial de 5 é: 120


Nossas 20 dicas & truques de programação mais populares

Você também poderá gostar das dicas e truques de programação abaixo

Nossas 20 dicas & truques de programação mais recentes

Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site

Últimos Exercícios Resolvidos

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á 91 usuários muito felizes estudando em nosso site.