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:

Java ::: Dicas & Truques ::: Imagens e Processamento de Imagens

Manipulação de imagens em Java - Como converter uma imagem JPG colorida para uma imagem na escala cinza (gray scale)

Quantidade de visualizações: 12559 vezes
Uma das formas mais comuns de se converter uma imagem colorida para uma imagem na escala cinza (grayscale) é desenhar a imagem colorida em um BufferedImage do tipo TYPE_BYTE_GRAY. Veja o resultado na imagem abaixo:



E agora o código completo para o exemplo:

package arquivodecodigos;

import java.awt.*;
import java.io.*;
import java.awt.image.*;
import java.awt.event.*;
import javax.swing.*;
import javax.imageio.*;
 
public class Estudos extends JFrame{
  private BufferedImage imagem;
  private BufferedImage imagemCinza;
  AreaImagem areaImagem;  
 
  public Estudos(){
    super("Estudos Java");
     
    Container c = getContentPane();
    c.setLayout(new BorderLayout());
     
    JButton btn = new JButton("Carregar Imagem");
    btn.addActionListener(
      new ActionListener(){
        public void actionPerformed(ActionEvent e){
          JFileChooser fc = new JFileChooser();
 
          int res = fc.showOpenDialog(null);
          if(res == JFileChooser.APPROVE_OPTION){
        File arquivo = fc.getSelectedFile();  
           
            imagem = null;
           
            try{
              imagem = ImageIO.read(arquivo);
            }
            catch(IOException exc){
              JOptionPane.showMessageDialog(null, 
                "Erro ao carregar a imagem: " + 
                exc.getMessage());
            }
 
            if(imagem != null){
              areaImagem.imagem = imagem;
              areaImagem.repaint();  
            }
          }
        }
      }
    );
 
    JButton btn2 = 
      new JButton("Converter Escala Cinza");
    btn2.addActionListener(
      new ActionListener(){
        public void actionPerformed(ActionEvent e){
          converterEscalaCinza();
        }
      }
    );
 
    JPanel painel = new JPanel();
    painel.setLayout(new FlowLayout());    
    painel.add(btn);
    painel.add(btn2);
 
    c.add(painel, BorderLayout.SOUTH);
     
    // Cria a área de exibição da imagem
    areaImagem = new AreaImagem();
    c.add(areaImagem, BorderLayout.CENTER);    
     
    setSize(400, 300);
    setVisible(true);
  }
 
  public void converterEscalaCinza(){
    imagemCinza = new BufferedImage(
      imagem.getWidth(), imagem.getHeight(), 
      BufferedImage.TYPE_BYTE_GRAY);
    Graphics g = imagemCinza.getGraphics();
    g.drawImage(imagem, 0, 0, null);
    g.dispose();
    areaImagem.imagem = imagemCinza;
    areaImagem.repaint();
  }
   
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}
 
// Sub-classe de JPanel para exibir a imagem
class AreaImagem extends JPanel{
  public BufferedImage imagem;
 
  public void paintComponent(Graphics g){ 
    super.paintComponent(g);
     
    // desenha a imagem no JPanel
    g.drawImage(imagem, 0, 0, this);
  } 
}



Java ::: Desafios e Lista de Exercícios Resolvidos ::: Matemática e Estatística

Exercícios Resolvidos de Java - Como converter de decimal para números romanos em Java

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

Escreva um programa Java que pede para o usuário informar um número inteiro decimal e converta-o para o número romano correspondente.

Sua saída deverá ser parecida com:

Informe um número decimal: 2023
O número romano correspondente é: MMXXIII 
Resposta/Solução:

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

package estudos;

import java.util.Scanner;

public class Estudos {
  public static void main(String[] args) {
    // para ler a entrada do usuário
    Scanner entrada = new Scanner(System.in);

    // vamos criar um array com os valores decimais possíveis de
    // cada número romano
    int valoresNumerosRomanos[] = new int[]{1000, 900, 500, 400,
      100, 90, 50, 40, 10, 9, 5, 4, 1};

    // representação dos números romanos
    String numerosRomanos[] = new String[]{"M", "CM", "D", "CD",
      "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"};

    // vamos pedir para o usuário informar um número decimal
    System.out.print("Informe um número decimal: ");
    int numero = Integer.parseInt(entrada.nextLine());

    // para guardar o resultado
    String resultado = "";

    // o número é maior que zero?
    if (numero > 0) {
      // percorremos o array de valores decimais dos números romanos
      for(int i = 0;i < valoresNumerosRomanos.length; i++){ 
        // enquanto o número informado for maior que o valor do
        // do número romano atual
        while(numero >= valoresNumerosRomanos[i]){  
          // reduz o número informado
          numero = numero - valoresNumerosRomanos[i];  
          // concatena o número romano e continua o cálculo
          resultado = resultado + numerosRomanos[i];  
        }  
      }
    }
    
    // mostramos o resultado
    if(resultado.isEmpty()){
      System.out.println("O número informado não possui número romano");
    }
    else{
      System.out.println("O número romano correspondente é: " + resultado);
    }
  }
}



C++ ::: STL (Standard Template Library) ::: Vector C++

Como usar a classe/contêiner vector da STL em seus programas C++

Quantidade de visualizações: 9374 vezes
O vetor, ou vector, é uma das classes contêineres mais simples da STL - Standard Template Library do C++. Um vector se comporta como um vetor, ou seja, uma matriz de uma linha e várias colunas, ou seja, seus elementos estão dispostos em posições contiguas na memória. O que diferencia um vector de um array comum é que o tamanho de um vector pode ser modificado dinamicamente.

A especificação do template da classe vector é:

template <class T, class Allocator = allocator<T>> class vector


Aqui T é o tipo de dados sendo armazenado (já ouvir falar em genéricos, não?) e Allocator define o modelo de alocação de armazenagem. Por padrão, o template da classe allocator para o tipo T é usado, o que define o modelo de alocação de memória mais simples e independente de valores.

Objetos da classe vector são úteis nas seguintes situações:

a) Acessar os elementos individualmente usando seus índices (tempo constante);
b) Percorrer os elementos em qualquer ordem (tempo linear);
b) Adicionar ou remover elementos no final do contêiner (tempo constante amortizado).

Para usarmos um vector em nossos programas C++ temos que incluir este contêiner da seguinte forma:

#include <vector>


Veja um trecho de código no qual criamos um vector, inserimos três inteiros e finalmente usamos um iterador para percorrer os elementos e imprimir seus valores:

#include <cstdlib>
#include <iostream>
#include <vector>

using namespace std;

int main(int argc, char *argv[]){
  // um vector vazio que conterá inteiros
  vector<int> valores;

  // vamos inserir três elementos
  valores.push_back(54);
  valores.push_back(13);
  valores.push_back(87);

  // vamos percorrer o vector e exibir os elementos
  vector<int>::iterator it;
  for(it = valores.begin(); it < valores.end(); it++){
    cout << *it << endl;
  }

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

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

54
13
87


Java ::: Classes e Componentes ::: JTextArea

Java Swing - Como ler as linhas de texto de um JTextArea uma de cada vez

Quantidade de visualizações: 6 vezes
Nesta dica veremos como ler as linhas de um controle JTextArea do Java Swing individualmente, ou seja, uma linha de cada vez. Para isso nós vamos usar os método getLineStartOffset() e getLineEndOffset() da classe JTextArea para acessar suas linhas separadamente.

Veja o resultado na imagem abaixo:



E aqui está o código Java Swing completo para a dica:

package arquivodecodigos;

import javax.swing.*;
import javax.swing.text.*;
import java.awt.*;
import java.awt.event.*;
 
public class Estudos extends JFrame{
  JTextArea textArea;
  JButton btn;
 
  public Estudos() {
    super("Lendo as linhas de um JTextArea");
    Container c = getContentPane();
    FlowLayout layout = new FlowLayout(FlowLayout.LEFT);
    c.setLayout(layout);
     
    textArea = new JTextArea(10, 20);
    textArea.setLineWrap(true);
     
    btn = new JButton("Ler Linhas");
    btn.addActionListener(
      new ActionListener(){
        @Override
        public void actionPerformed(ActionEvent e){
          int quant = textArea.getLineCount();
             
          for(int i = 0; i < quant; i++){
            try{
              int inicio = textArea.getLineStartOffset(i);
              int fim = textArea.getLineEndOffset(i);
              String linha = textArea.getText(inicio, fim - inicio);
              JOptionPane.showMessageDialog(null, "Linha " + 
                (i + 1) + " = " + linha);
            }
            catch(BadLocationException ble){
              // possiveis erros são tratados aqui
            } 
          }    
        }
      }
    );
        
    c.add(textArea);
    c.add(btn);
     
    setSize(350, 250);
    setVisible(true);
  }
   
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}



C++ ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Como somar os elementos de um vetor de inteiros em C++

Quantidade de visualizações: 17577 vezes
Esta dica mostra a você como usar um laço for do C++ para somar todos os valores dos elementos de um vetor de inteiros. Observe que aqui nós declaramos e inicializamos o vetor (array) em apenas uma instrução:

#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
  // declara e inicializa um array de
  // 5 inteiros
  int valores[] = {2, 7, 1, 5, 6};
  int soma = 0;

  // soma os valores dos elementos
  for(int i = 0; i < 5; i++){
    soma += valores[i];
    // o mesmo que
    // soma = soma + valores[i];
  }

  // exibe o resultado
  cout << "Soma: " << soma << endl;

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

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

Soma: 21


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