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:

PHP ::: Dicas & Truques ::: Programação Orientada a Objetos

Programação Orientada a Objetos em PHP - Aprenda a criar e usar métodos e classes abstratas em PHP

Quantidade de visualizações: 11376 vezes
À medida que começamos a usar programação orientada a objetos em PHP algumas situações interessantes podem surgir, tais como o uso de métodos e classes abstratas.

As classes e métodos abstratos podem ser usados por uma série de razões. Eis as que considero mais importantes:

a) - Um classe abstrata não permite que criemos novas instâncias da mesma. Veja:

<?
  // Uma classe Boleto abstrata
  abstract class Boleto{

  }

  // vamos criar um novo objeto desta classe
  $b = new Boleto();
?>


Ao executarmos este código teremos a seguinte mensagem de erro:

Fatal error: Cannot instantiate abstract class Boleto in ...

A vantagem de termos uma classe que não pode ser instanciada é que podemos usá-la como classe base em um código envolvendo poliformismo (no momento que escrevo este artigo não vejo como implementar polimorfismo em PHP. Me pergunto se isso é possível em linguagens de tipos dinâmicos).

b) - Qualquer classe que contenha um ou mais métodos abstratos também precisa se declarar abstrata. Como um método abstrato não pode conter implementação, ao forçar a classe a ser abstrata também, as classes derivadas terão a obrigação de implementar tal método. Veja um trecho de código no qual criamos uma classe normal contendo um método abstrato:

<?
  // Uma classe Boleto não-abstrata
  class Boleto{
    // um método abstrato
    public abstract function imprimir($dados);
  }
?>

Ao executarmos este código teremos a seguinte mensagem de erro:

Fatal error: Class Boleto contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (Boleto::imprimir) in ...

Ao marcarmos a classe como abstract esta mensagem de erro desaparecerá.

c) - Uma classe que herda de uma classe derivada deve, obrigatoriamente, fornecer implementação para todos os métodos abstratos herdados. Veja o trecho de código no qual temos uma classe Boleto e uma classe BoletoBradesco:

<?
  // Uma classe Boleto abstrata
  abstract class Boleto{
    // um método abstrato
    public abstract function imprimir($dados);
  }
 
  // vamos herdar da classe Boleto
  class BoletoBradesco extends Boleto{

  }
?>

A mensagem de erro aqui é a mesma quando temos métodos abstratos em uma classe mas não a declaramos como abstrata. Basta fornecer a implementação para o método imprimir e a mensagem de erro desaparece:

<?
  // Uma classe Boleto abstrata
  abstract class Boleto{
    // um método abstrato
    public abstract function imprimir($dados);
  }
 
  // vamos herdar da classe Boleto
  class BoletoBradesco extends Boleto{
    public function imprimir($dados){
      echo "Imprimindo o boleto: " . $dados; 
    }
  }

  // vamos criar um objeto da classe BoletoBradesco
  $b = new BoletoBradesco();
  // vamos imprimir o boleto
  $b->imprimir("Dados do boleto");
?>

d) - Um método marcado como abstract não pode conter implementação, ou seja, a implementação será feita pelas classes derivadas. Veja:

<?
  // Uma classe Boleto abstrata
  abstract class Boleto{
    // um método abstrato que não deveria conter implementação
    public abstract function imprimir($dados){
      echo "Isso vai dar um erro daqueles!";
    }
  }
?>

Ao tentarmos executar este trecho de código teremos a seguinte mensagem de erro:

Fatal error: Abstract function Boleto::imprimir() cannot contain body in ...

Bastará remover a implementação do método que a mensagem de erro desaparecerá.


Java ::: Coleções (Collections) ::: ArrayList

Java Collections para iniciantes - Arrays (vetores) ou a ArrayList? Qual devo usar?

Quantidade de visualizações: 16866 vezes
Uma das perguntas mais frequentes que os usuários do nosso site nos fazem é aquela sobre o uso de simples arrays (vetores e matrizes) ou objetos da classe ArrayList. Se o número de elementos for fixo ou você precisar de muita eficiência ao lidar com tipos primitivos, então arrays podem ser a melhor escolha.

Porém, muitos problemas envolvendo o armazenamento de dados requerem estruturas de dados que possam ser redimensionadas de acordo com a necessidade do algorítmo. Neste caso, uma ArrayList (ou qualquer uma das outras classes Collections) pode ser a escolha certa.

Veja um trecho de código para ficar mais fácil o entendimento:

package arquivodecodigos;
 
public class Estudos{
  public static void main(String args[]){
    int valores[] = {4, 12, 8, 5, 13};
    System.out.println("Primeiro elemento no vetor: " 
      + valores[0]);
  }
}

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

Primeiro elemento no vetor: 4

Como podemos ver neste exemplo, um array (nesse caso um vetor) possui um tamanho fixo, ou seja, o compilador não nos permite reduzir ou aumentar a quantidade de elementos em um vetor ou matriz criado a partir da notação de arrays. Assim, apesar de todas as facilidades que os arrays trazem consigo, este pode ser um empecilho para o tipo de aplicação que queremos desenvolver em um determinado momento.

A classe ArrayList, por outro lado, possui tamanho variado. Isso quer dizer que seu tamanho é aumentado ou reduzido de acordo com as necessidades do seu código.

Uma outra questão que diferencia arrays de ArrayList, é que não podemos armazenar tipos primitivos em um objeto da classe ArrayList. Se precisarmos fazer isso, o tipo primitivo deve ser colocado em uma classe encapsuladora, por exemplo, a classe Integer. Em algumas situações o compilador faz isso nos bastidores, e esta operação é chamada de auto-boxing.


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

Como acessar os caracteres de uma string C++ individualmente usando um iterador

Quantidade de visualizações: 11643 vezes
Nesta dica mostrarei como podemos usar um iterador para percorrer todos os caracteres de uma palavra, frase ou texto em C++. Para isso nós vamos combinar um iterator e as funções begin() e end().

Veja o código C++ completo para o exemplo:

#include <string>
#include <iostream>
 
using namespace std;
 
// função principal do programa C++ 
int main(int argc, char *argv[]){
  // vamos declarar um objeto da classe string
  string palavra("FACULDADE");
  
  // agora criamos um iterador para a string
  string::iterator it;
   
  // e usamos um laço for para percorrer o iterador
  // do início ao fim 
  for(it = palavra.begin(); it < palavra.end(); it++){
    // e mostramos os caracteres individuais
    cout << *it << "\n";
  } 
     
  cout << "\n" << endl;	    
  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}

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

F
A
C
U
L
D
A
D
E


GNU Octave ::: Desafios e Lista de Exercícios Resolvidos ::: Equações Lineares

Exercício Resolvido de Octave - Sistema de Equações Lineares - Como resolver um sistema de equações lineares em Octave

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

Este exercício de Octave mostra como resolver uma equação linear.

1) Dado o seguinte sistema de equações lineares:



use o GNU Octave para encontrar os valores das incógnitas x, y e z.

Sua saída deverá ser parecida com:

x =

   6
   2
   7
Resposta/Solução:

Para resolver esse sistema nós temos que definir três matrizes para representarmos as equações lineares no formato de matriz:

Ax = b

onde A, x, e b são matrizes.

Dessa forma, para obter o conjunto de soluções, ou seja, as incógnitas, nós temos que escrever as equações lineares na forma:

x = A \ b

Veja agora o código Octave para a resolução (aqui eu fiz em modo interativo):

>> % vamos criar a matriz A [ENTER]
>> A = [4 3 2; 3 7 4; 8 9 5]; [ENTER]
>> % agora vamos criar a matriz b [ENTER]
>> b = [44; 60; 101]; [ENTER]
>> % obtemos o conjunto de solucoes [ENTER]
>> x = A \ b [ENTER]



Java ::: Dicas & Truques ::: Strings e Caracteres

Apostila Java para iniciantes - Como substituir um caractere em uma string usando o método setCharAt() da classe StringBuffer do Java

Quantidade de visualizações: 2 vezes
Nesta dica mostrarei como podemos usar o método setCharAt() da classe StringBuffer da linguagem Java para substituir caracteres individuais em uma palavra, frase ou texto.

Veja um código completo, no qual trocamos a letra "j" por "J":

package arquivodecodigos;

public class Estudos{
  public static void main(String[] args){
    StringBuffer frase = new StringBuffer("Programar em java.");
    System.out.println(frase);
    frase.setCharAt(13, 'J'); // troca 'j' por 'J' 
    System.out.println(frase);
     
    System.exit(0);
  }
} 

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

Programar em java.
Programar em Java.


Desafios, Exercícios e Algoritmos Resolvidos de Java

Veja mais Dicas e truques de Java

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