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 - Fundações
Card 1 de 11
Fundações diretas ou rasas

As fundações rasas ou diretas são utilizadas quando as camadas superficiais do solo apresentam resistência apropriada para receber as cargas provenientes de uma edificação.

A depender das características do solo abaixo de uma estrutura, podem ser usadas tanto fundações rasas como fundações profundas, desde que os estudos técnicos necessários sejam realizados durante a fase dos estudos preliminares.

Vale ressaltar que o uso das fundações rasas é recomendado quando o número de golpes do SPT for maior ou igual a 8 e a profundidade de assentamento não ultrapassar 2m, pois, acima desses valores, esse tipo de fundação se torna inviável técnica e economicamente.

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:

Delphi ::: Dicas & Truques ::: Recursão (Recursividade)

Como escrever uma função recursiva para calcular a potência de um número em Delphi

Quantidade de visualizações: 14164 vezes
O código abaixo mostra como você pode escrever uma função recursiva em Delphi que permite calcular a potência de um número inteiro:

// uma função recursiva para elevar uma determinada
// base ao seu expoente
function potencia(base, expoente: Integer): Integer;
begin
  if expoente = 0 then
    Result := 1
  else
    Result := base * potencia(base, expoente - 1);
end;

// vamos chamar a função recursiva
// a partir do Click de um botão
procedure TForm1.Button1Click(Sender: TObject);
begin
  // vamos obter o resultado de 4 elevado a 3
  ShowMessage('4 ao cubo é igual a: ' +
    IntToStr(potencia(4, 3)));
end;

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


Python ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle

Exercícios Resolvidos de Python - Ler os lados de um triângulo e informar se ele é isósceles, escaleno ou equilátero

Quantidade de visualizações: 2626 vezes
Pergunta/Tarefa:

Um triângulo é uma forma geométrica (polígono) composta de três lados, sendo que cada lado é menor que a soma dos outros dois lados. Assim, para que um triângulo seja válido, é preciso que seus lados A, B e C obedeçam à seguinte regra:

A < (B + C), B < (A + C) e C < (A + B).

Escreva um programa Python que leia os três lados de um triângulo e verifique se tais valores realmente formam um triângulo. Se o teste for satisfatório, informe se o triângulo é isósceles (dois lados iguais e um diferente), escaleno (todos os lados diferentes) ou equilátero (todos os lados iguais).

Sua saída deverá ser parecida com:

Informe o primeiro lado do triângulo: 30
Informe o segundo lado do triângulo: 40
Informe o terceiro lado do triângulo: 60
O triângulo é escaleno
Resposta/Solução:

Veja a resolução comentada deste exercício usando Python:

# método principal
def main():
  # vamos ler o primeiro lado do triângulo
  lado_a = int(input("Informe o primeiro lado do triângulo: "))
  
  # vamos ler o segundo lado do triângulo
  lado_b = int(input("Informe o segundo lado do triângulo: "))

  # vamos ler o terceiro lado do triângulo
  lado_c = int(input("Informe o terceiro lado do triângulo: "))
    
  # os lados informados formam um triângulo?
  if((lado_a < (lado_b + lado_c)) and (lado_b < (lado_a + lado_c)) 
    and (lado_c < (lado_a + lado_b))):
    # é um triângulo equilátero (todos os lados iguais)?
    if((lado_a == lado_b) and (lado_b == lado_c)):
      print("O triângulo é equilátero")  
    else:
      # é isósceles (dois lados iguais e um diferente)?
      if((lado_a == lado_b) or (lado_a == lado_c) or (lado_c == lado_b)):
        print("O triângulo é isósceles")  
      else:
        # é escaleno
        print("O triângulo é escaleno")
  else:
    print("Os lados informados não formam um triângulo.")
  
if __name__== "__main__":
  main()



Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição

Exercícios Resolvidos de Java - Um laço for que solicita ao usuário 10 números inteiros e mostra o menor e o maior valor informado

Quantidade de visualizações: 1879 vezes
Pergunta/Tarefa:

Escreva um programa Java console que usa o laço for para solicitar ao usuário que informe 10 números inteiros. Em seguida mostre o maior e o menor valor lido. Não é permitido usar matrizes:

Dica: Use um objeto da classe Scanner para obter a entrada do usuário.

Resposta/Solução:

Como a solução deste exercício depende de valores informados pelo usuário, a classe Scanner deverá ser usada. Desta forma, você deverá importá-la, usando a linha:

import java.util.Scanner;
Lembre-se de que os imports devem estar entre a declaração de pacote (package) e a declaração da classe. Veja a solução comentada no código abaixo:

public static void main(String[] args){
  // para este exercício você deverá importar a classe
  // Scanner. Ela está no pacote java.util.*;
    
  // vamos construir um objeto da classe Scanner para ler a
  // entrada do usuário
  Scanner entrada = new Scanner(System.in);

  int valor; // guarda o valor lido
  int maior = 0, menor = 0; // variáveis que guardarão o maior e o menor valor lido

  // vamos pedir ao usuário que informe 10 valores inteiros
  for(int i = 0; i < 10; i++){
    System.out.print("Informe o " + (i + 1) + "º valor: ");
    valor = Integer.parseInt(entrada.nextLine());

    // esta é a primeira iteração do laço? se for vamos assumir que o
    // maior e menor valor lido são o primeiro valor informado
    if(i == 0){
      maior = valor;
      menor = valor;
      // poderia ser escrito assim:
      //maior = menor = valor;
    }
    else{ // não é a primeira iteração
      // vamos verificar se é maior que o valor atual da variável maior
      if(valor > maior){
        maior = valor;
      }
      // vamos verificar se é menor que o valor atual da variável menor
      if(valor < menor){
        menor = valor;
      }
    }
  }

  // vamos exibir o maior e o menor valor lido
  System.out.println("\nO maior valor lido foi: " + maior);
  System.out.println("O menor valor lido foi: " + menor);
}



Java ::: Dicas & Truques ::: Fuso Horários

Como retornar uma lista de todos os IDs de fusos horários suportados pela linguagem Java usando o método getAvailableIDs() da classe TimeZone

Quantidade de visualizações: 9353 vezes
A linguagem Java, por meio da classe TimeZone, nos permite trabalhar com uma enorme variedade de fusos horários. No entanto, antes de assumir que um determinado fuso horário é suportado, é interessante verificar se tal fuso horário está na lista de IDs suportados. Isso pode ser feito com uma chamada ao método estático getAvailableIDs(). Este método retorna o ID de todos os fusos horários suportados. Veja um exemplo de como usá-lo:

import java.util.*;

public class Estudos{ 
  public static void main(String args[]){ 
    // obtém todos os IDs de fusos horários 
    // disponíveis na classe TimeZone
    String fusos[] = TimeZone.getAvailableIDs();

    for(int i = 0; i < fusos.length; i++){
      System.out.println(fusos[i]);
    } 
  } 
}

Ao executar este código você terá um resultado semelhante à (optamos por listar apenas os 100 primeiros resultados):

Etc/GMT+12
Etc/GMT+11
MIT
Pacific/Apia
Pacific/Midway
Pacific/Niue
Pacific/Pago_Pago
Pacific/Samoa
US/Samoa
America/Adak
America/Atka
Etc/GMT+10
HST
Pacific/Fakaofo
Pacific/Honolulu
Pacific/Johnston
Pacific/Rarotonga
Pacific/Tahiti
SystemV/HST10
US/Aleutian
US/Hawaii
Pacific/Marquesas
AST
America/Anchorage
America/Juneau
America/Nome
America/Yakutat
Etc/GMT+9
Pacific/Gambier
SystemV/YST9
SystemV/YST9YDT
US/Alaska
America/Dawson
America/Ensenada
America/Los_Angeles
America/Tijuana
America/Vancouver
America/Whitehorse
Canada/Pacific
Canada/Yukon
Etc/GMT+8
Mexico/BajaNorte
PST
PST8PDT
Pacific/Pitcairn
SystemV/PST8
SystemV/PST8PDT
US/Pacific
US/Pacific-New
America/Boise
America/Cambridge_Bay
America/Chihuahua
America/Dawson_Creek
America/Denver
America/Edmonton
America/Hermosillo
America/Inuvik
America/Mazatlan
America/Phoenix
America/Shiprock
America/Yellowknife
Canada/Mountain
Etc/GMT+7
MST
MST7MDT
Mexico/BajaSur
Navajo
PNT
SystemV/MST7
SystemV/MST7MDT
US/Arizona
US/Mountain
America/Belize
America/Cancun
America/Chicago
America/Costa_Rica
America/El_Salvador
America/Guatemala
America/Indiana/Knox
America/Indiana/Petersburg
America/Indiana/Vincennes
America/Knox_IN
America/Managua
America/Menominee
America/Merida
America/Mexico_City
America/Monterrey
America/North_Dakota/Center
America/North_Dakota/New_Salem
America/Rainy_River
America/Rankin_Inlet
America/Regina
America/Swift_Current
America/Tegucigalpa
America/Winnipeg
CST
CST6CDT
Canada/Central
Canada/East-Saskatchewan
Canada/Saskatchewan
Chile/EasterIsland

Um bom uso deste método é quando estamos desenvolvendo uma aplicação que mostra o horário ao redor do mundo. Podemos ter uma lista de fusos horários e, mediante a seleção do usuário, fornecer o valor selecionado para o método setTimeZone() da classe Calendar, por exemplo.


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

Como usar ponteiros para controlar um laço while em C++

Quantidade de visualizações: 9837 vezes
É possível usar ponteiros para controlar a execução de um laço while em C++. Comece analisando o seguinte trecho de código:

// uma matriz de caracteres
char nome[] = "Arquivo";

// aponta para a primeira letra
char *letra = nome;

if(*letra)
  cout << "True";
else
  cout << "False";

Aqui o valor "True" será exibido, visto que o ponteiro *letra está apontando para um local da matriz de caracteres nome[] que é diferente de NULL. Veja agora:

// uma matriz de caracteres
char nome[] = "Arquivo";

// aponta para a primeira letra
char *letra = nome; // posição 0

// vamos atingir o final da matriz
// de caracteres
letra++; // posição 1
letra++; // posição 2
letra++; // posição 3
letra++; // posição 4
letra++; // posição 5
letra++; // posição 6
letra++; // NULL

if(*letra)
  cout << "True";
else
  cout << "False";

Como sabemos que a matriz de caracteres nome[] contém sete caracteres (de 0 a 6), incrementamos o ponteiro *letra até que este aponte para o caractere que marca o fim da matriz. Assim, o valor "False" é exibido.

Veja agora um laço while que tira proveito do que vimos aqui para exibir as letras da palavra "Arquivo" separadamente usando um ponteiro:

#include <string>
#include <iostream>

using namespace std;

int main(int argc, char *argv[]){
  // uma matriz de caracteres
  char nome[] = "Arquivo";

  // aponta para a primeira letra
  char *letra = nome;

  // vamos usar o laço while para
  // imprimir as letras separadamente
  while(*letra){
    cout << *letra << " ";
    letra++;
  }

  cout << "\n\n";

  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}



Desafios, Exercícios e Algoritmos Resolvidos de C++

Veja mais Dicas e truques de C++

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 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 Apenas R$ 19,90


© 2026 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 70 usuários muito felizes estudando em nosso site.