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 Engenharia Civil - Construção Civil
Card 1 de 28
Fases de uma obra

A Planta de Localização (escala usual 1:200) identifica a posição da obra no terreno. Serve para implantar o projeto.

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:

C# ::: Dicas & Truques ::: Strings e Caracteres

Como transformar todo o conteúdo de uma string para letras maiúsculas em C# usando a função ToUpper() da classe String

Quantidade de visualizações: 10636 vezes
Em algumas situações nós precisamos converter todas as letras de uma palavra, frase ou texto para letras maiúsculas. Isso pode ser feito por meio do método ToUpper() da classe String da linguagem C#.

Veja o exemplo a seguir:

using System;

namespace Estudos {
  class Program {
    static void Main(string[] args) {
      string texto = "Gosto de programar em C#";
      Console.WriteLine("Sem converter para letras maiúsculas: " +
        texto);

      // converte tudo para letras maiúsculas
      texto = texto.ToUpper();
      Console.WriteLine("Após a conversão para letras maiúsculas: " +
        texto);

      Console.WriteLine("\n\nPressione uma tecla para sair...");
      Console.ReadKey();
    }
  }
}

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

Sem converter para letras maiúsculas: Gosto de programar em C#
Após a conversão para letras maiúsculas: GOSTO DE PROGRAMAR EM C#


Java ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Como testar se uma matriz é simétrica em Java

Quantidade de visualizações: 1551 vezes
Uma matriz simétrica é uma matriz que é igual à sua transposta. Para que esta definição faça sentido, apenas podemos considerar matrizes que são quadradas, ou seja, mesma quantidade de linhas e colunas.

De forma mais precisa, se A=[aij] é uma matriz de ordem n x n, nós dizemos que A é simétrica quando A=At.

Veja um código Java completo no qual nós declaramos uma matriz quadrada de ordem 3, pedimos para o usuário informar os valores de seus elementos e no final informamos se a matriz é uma matriz simétrica:

package estudos;

import java.util.Scanner;

public class Estudos{
  public static void main(String[] args){
    int n = 3; // ordem da matriz quadrada
    int matriz[][] = new int[n][n]; // matriz quadrada

    // para efetuar a leitura do usuário
    Scanner entrada = new Scanner(System.in);
    
    // vamos pedir para o usuário informar os elementos da matriz
    for (int i = 0; i < n; i++){
      for (int j = 0; j < n; j++) {
        System.out.print("Elemento na linha " + (i + 1) +
          " e coluna " + (j + 1) + ": ");
        matriz[i][j] = Integer.parseInt(entrada.nextLine());
      }
    }
    
    // agora verificamos se a matriz é simétrica
    boolean simetrica = true;
    for (int i = 0; (i < n) && (simetrica); i++) {
      for (int j = 0; (j < i) && (simetrica); j++) {
        // os elementos em posicoes simetricas sao iguais?
        if (matriz[i][j] != matriz[j][i]){
          simetrica = false;
        }
      }
    }
    
    // agora mostramos a matriz lida
    System.out.printf("\n");
    for (int i = 0; i < n; i++) {
      for (int j = 0; j < n; j++) {
        System.out.printf("%d ", matriz[i][j]);
      }
      System.out.printf("\n");
    }

    if (simetrica){
       System.out.printf("\nA matriz informada é uma matriz simétrica.\n");
    }
    else{
      System.out.printf("\nA matriz informada não é uma matriz simétrica.\n");
    }
  }
}

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

Elemento na linha 1 e coluna 1: 5
Elemento na linha 1 e coluna 2: 1
Elemento na linha 1 e coluna 3: 2
Elemento na linha 2 e coluna 1: 1
Elemento na linha 2 e coluna 2: 6
Elemento na linha 2 e coluna 3: 3
Elemento na linha 3 e coluna 1: 2
Elemento na linha 3 e coluna 2: 3
Elemento na linha 3 e coluna 3: 8

5 1 2 
1 6 3 
2 3 8 

A matriz informada é uma matriz simétrica.



Java ::: Estruturas de Dados ::: Árvore Binária e Árvore Binária de Busca

Estruturas de dados em Java - Como fazer a travessia de uma árvore binária de busca em Java usando o percurso em-ordem (in-order, In-ordem ou ordem simétrica)

Quantidade de visualizações: 5827 vezes
Antes de discutirmos o percurso in-order, veja a árvore binária de busca na figura abaixo:



Esta árvore possui 9 nós e obedece à regra de que os nós com valores menores que o nó pai ficam à sua esquerda, e aqueles com nós maiores que o nó pai, ficam à sua direita.

O percurso em ordem é usado quando queremos exibir os valores dos nós da árvore binária de busca em ordem ascendente. Neste tipo de percurso nós visitamos primeiramente a sub-árvore da esquerda, então o nó atual e finalmente a sub-árvore à direita do nó atual. É importante notar que esta travessia é feita por meio de um método recursivo.

Veja o código completo para o exemplo:

Código para No.java:

package arvore_binaria;

public class No {
  private int valor; // valor armazenado no nó
  private No esquerdo; // filho esquerdo
  private No direito; // filho direito
 
  // construtor do nó
  public No(int valor){
    this.valor = valor;
    this.esquerdo = null;
    this.direito = null;
  }

  public int getValor() {
    return valor;
  }

  public void setValor(int valor) {
    this.valor = valor;
  }

  public No getEsquerdo() {
    return esquerdo;
  }

  public void setEsquerdo(No esquerdo) {
    this.esquerdo = esquerdo;
  }

  public No getDireito() {
    return direito;
  }

  public void setDireito(No direito) {
    this.direito = direito;
  }
}

Código para ArvoreBinariaBusca.java:

package arvore_binaria;

public class ArvoreBinariaBusca {
  private No raiz; // referência para a raiz da árvore
   
  // método usado para inserir um novo nó na árvore
  // retorna true se o nó for inserido com sucesso e false
  // se o elemento
  // não puder ser inserido (no caso de já existir um 
  // elemento igual)
  public boolean inserir(int valor){
    // a árvore ainda está vazia?
    if(raiz == null){
      // vamos criar o primeiro nó e definí-lo como a raiz da árvore
      raiz = new No(valor); // cria um novo nó
    }
    else{
      // localiza o nó pai do novo nó
      No pai = null;
      No noAtual = raiz; // começa a busca pela raiz
  
      // enquanto o nó atual for diferente de null
      while(noAtual != null){
        // o valor sendo inserido é menor que o nó atual?
        if(valor < noAtual.getValor()) {
          pai = noAtual;
          // vamos inserir do lado esquerdo
          noAtual = noAtual.getEsquerdo();
        }
        // o valor sendo inserido é maior que o nó atual
        else if(valor > noAtual.getValor()){
          pai = noAtual;
          // vamos inserir do lado direito
          noAtual = noAtual.getDireito();
        }
        else{
          return false; // um nó com este valor foi encontrado
        }
      }
        
      // cria o novo nó e o adiciona como filho do nó pai
      if(valor < pai.getValor()){
         pai.setEsquerdo(new No(valor));
      }
      else{
        pai.setDireito(new No(valor));
      }
    }
 
    return true; // retorna true para indicar que o novo nó foi inserido
  }
   
  // método que permite disparar a travessia em-ordem
  public void emOrdem(){
    emOrdem(raiz);
  }
 
  // sobrecarga do método emOrdem com uma parâmetro (esta é a versão 
  // recursiva do método)
  private void emOrdem(No raiz){
    if(raiz == null){ // condição de parada
      return;
    }
     
    // visita a sub-árvore da esquerda
    emOrdem(raiz.getEsquerdo());
    // visita o nó atual
    System.out.print(raiz.getValor() + " ");
    // visita a sub-árvore da direita
    emOrdem(raiz.getDireito());
  }
}

E agora o código para a classe principal:

package arvore_binaria;

import java.util.Scanner;

public class ArvoreBinariaTeste {
  public static void main(String[] args) {
    Scanner entrada = new Scanner(System.in);  
       
    // vamos criar um novo objeto da classe ArvoreBinariaBusca
    ArvoreBinariaBusca arvore = new ArvoreBinariaBusca();
    
    // vamos inserir 9 valores na árvore
    for(int i = 0; i < 9; i++){
      System.out.print("Informe um valor inteiro: ");
      int valor = Integer.parseInt(entrada.nextLine());
       
      // vamos inserir o nó e verificar o sucesso da operação
      if(!arvore.inserir(valor)){
        System.out.println("Não foi possível inserir." +
          " Um elemento já contém este valor.");  
      }
    }
     
    // vamos exibir os nós da árvore usando o percurso in-order
    System.out.println("\nPercurso in-order:");
    arvore.emOrdem();
     
    System.out.println("\n");
  }
}

Ao executar este código teremos o seguinte resultado:

Informe um valor inteiro: 8
Informe um valor inteiro: 3
Informe um valor inteiro: 10
Informe um valor inteiro: 1
Informe um valor inteiro: 6
Informe um valor inteiro: 14
Informe um valor inteiro: 4
Informe um valor inteiro: 7
Informe um valor inteiro: 13

Percurso in-order:
1 3 4 6 7 8 10 13 14



PHP ::: Dicas & Truques ::: Strings e Caracteres

Como converter uma string para letras maiúsculas em PHP usando as funções strtoupper() e mb_strtoupper()

Quantidade de visualizações: 6 vezes
As funções strtoupper() e mb_strtoupper() do PHP nos ajuda quando precisamos transformar uma string inteira para letras maiúsculas. Veja o seguinte exemplo:

<?php
  // uma frase contendo letras minúsculas
  $frase = "PHP? Eu gosto de PHP";
  echo "A frase é: " . $frase . "\n";
  
  // agora vamos transformá-la em letras
  // maiúsculas
  $frase = strtoupper($frase);
  echo "A frase em letras maiúsculas é: " . $frase;
?>

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

A frase é: PHP? Eu gosto de PHP
A frase em letras maiúsculas é: PHP? EU GOSTO DE PHP

A função mb_strtoupper(), por sua vez, é usada quando a palavra, frase ou texto contém acentuações. Nas versões mais recentes do PHP, a função strtoupper() sozinha não consegue converter caracteres minúsculas com acentos para caracteres maiúsculas acentuados.

Por isso, a função mb_strtoupper() é usada. Veja:

<?php
  // uma frase contendo letras minúsculas
  $frase = "Java? Não gosto muito de Java não";
  echo "A frase é: " . $frase . "\n";
  
  // agora vamos transformá-la em letras
  // maiúsculas
  $frase1 = strtoupper($frase);
  echo "Usando strtoupper(): " . $frase1;
  $frase2 = mb_strtoupper($frase, 'UTF-8');
  echo "\nUsando mb_strtoupper(): " . $frase2;
?>

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

A frase é: Java? Não gosto muito de Java não
Usando strtoupper(): JAVA? NãO GOSTO MUITO DE JAVA NãO
Usando mb_strtoupper(): JAVA? NÃO GOSTO MUITO DE JAVA NÃO

Veja que usei o valor "UTF-8" como segundo argumento para a função mb_strtoupper(). Se necessário você pode fornecer o valor "ISO-8859-1" também.


Delphi ::: VCL - Visual Component Library ::: TListBox

Como usar a propriedade Items da classe TListBox do Delphi

Quantidade de visualizações: 11821 vezes
A propriedade Items da classe TListBox representa um objeto da classe TStrings, a classe base para objetos que representam uma lista de strings. Isso quer dizer que podemos acessar a propriedade Items e usar todos os métodos e propriedades da classe TStrings, tais como Add(), Clear(), Delete(), Exchange(), etc.

Veja, por exemplo, como usar o método Add() para adicionar um novo item na ListBox:

procedure TForm1.Button1Click(Sender: TObject);
begin
  // vamos adicionar um novo item na ListBox
  listBox1.Items.Add('Arquivo de Códigos');
end;

É possível obter um referência à propriedade Items para manipular os itens da ListBox indiretamente. Veja:

procedure TForm1.Button1Click(Sender: TObject);
var
  lista: TStrings;
begin
  // vamos obter a lista de itens da ListBox
  lista := listBox1.Items;

  // vamos adicionar um novo item à lista
  lista.Add('Arquivo de Códigos');
end;

Esta técnica é útil quando queremos inserir itens em uma TListBox a partir de uma função ou procedure. Veja:

// procedure personalizada para inserir itens em uma TListBox
procedure inserirItensListBox(lista: TStrings);
begin
  lista.Add('Arquivo de Códigos');
  lista.Add('Osmar J. Silva');
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  // vamos chamar a procedure que adiciona os itens na ListBox
  inserirItensListBox(listBox1.Items);
end;

Para finalizar, veja como escrever uma função personalizada que constrói e retorna uma lista de strings. Note como usamos o objeto TStrings retornado para preencher a ListBox:

// função personalizada que constrói e retorna uma lista
// de strings
function obterLista: TStrings;
var
  lista: TStringList;
begin
  lista := TStringList.Create;
  lista.Add('Arquivo de Códigos');
  lista.Add('Osmar J. Silva');

  Result := lista;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  // vamos obter a lista de strings
  ListBox1.Items := obterLista;
end;

Observe que, embora o retorno seja TStrings, no corpo da função nós construímos um objeto da classe TStringList. Isso acontece porque TStrings é uma classe abstrata e, portanto, não podemos chamar seu construtor. Como TStringList herda de TStrings e é uma classe concreta, esta é a escolha mais óbvia.

Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009.


Desafios, Exercícios e Algoritmos Resolvidos de Delphi

Veja mais Dicas e truques de Delphi

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