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:

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

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

Quantidade de visualizações: 1088 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 Ruby 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 Ruby:

# vamos ler o primeiro lado do triângulo
print "Informe o primeiro lado do triângulo: "
lado_a = Integer(gets)

# vamos ler o segundo lado do triângulo
print "Informe o segundo lado do triângulo: "
lado_b = Integer(gets)

# vamos ler o terceiro lado do triângulo
print "Informe o terceiro lado do triângulo: "
lado_c = Integer(gets)

# os lados informados formam um triângulo?
if((lado_a < (lado_b + lado_c)) && (lado_b < (lado_a + lado_c)) \
  && (lado_c < (lado_a + lado_b)))
  # é um triângulo equilátero (todos os lados iguais)?
  if((lado_a == lado_b) && (lado_b == lado_c))
    print "O triângulo é equilátero"  
  else
    # é isósceles (dois lados iguais e um diferente)?
    if((lado_a == lado_b) || (lado_a == lado_c) || \
      (lado_c == lado_b))
      print "O triângulo é isósceles" 
    else
      # é escaleno
      print "O triângulo é escaleno"
    end
  end
else
  print "Os lados informados não formam um triângulo." 
end



C++ ::: Dicas & Truques ::: Arquivos e Diretórios

Como excluir um diretório em C++ usando a função rmdir()

Quantidade de visualizações: 8866 vezes
Em algumas situações nossos códigos C++ precisam excluir diretórios. Isso pode ser feito com o auxílio da função _rmdir() ou rmdir(), disponível no header direct.h (trazido da linguagem C). Veja a assinatura desta função:

int _rmdir(const char *pathname);
Se o diretório for excluído com sucesso a função retornará o valor 0. O retorno será -1 se um erro ocorrer. Neste caso a variável global errno será definido como um dos seguintes valores:

a) ENOTEMPTY - Directory not empty - O diretório não está vazio e portanto não pode ser excluído;

b) ENOENT - No such file or directory - O caminho do diretório é inválido;

c) EACCESS - Acesso negado - Algum outro programa está usando este diretório e mantém controle sobre o mesmo.

Veja um trecho de código C++ no qual excluímos um diretório:

#include <iostream>
#include <direct.h>

using namespace std;

int main(int argc, char *argv[]){
  // vamos excluir este diretório
  char diretorio[] = "C:\\Dev-Cpp\\estudos";

  // vamos testar se houve erro na exclusão do diretório
  if(rmdir(diretorio) == -1){
    cout << "Erro: " << strerror(errno) << endl;
  }
  else{
    cout << "Diretório excluído com sucesso" << endl;
  }

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

É possível usar a versão Unicode de _rmdir(), ou rmdir(). O método _wrmdir(), também presente em direct.h é útil quando precisamos internacionalizar nossas aplicações. Veja o exemplo:

#include <iostream>
#include <direct.h>

using namespace std;

int main(int argc, char *argv[]){
  // vamos excluir este diretório
  wchar_t diretorio[] = L"C:\\Dev-Cpp\\estudos";

  // vamos testar se houve erro na exclusão do diretório
  if(_wrmdir(diretorio) == -1){
    cout << "Erro: " << strerror(errno) << endl;
  }
  else{
    cout << "Diretório excluído com sucesso" << endl;
  }

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



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

Java Avançado - Como listar o conteúdo de um diretório recursivamente

Quantidade de visualizações: 1 vezes
Nesta dica mostrarei como podemos usar recursividade (recursão) para listar todo o conteúdo de um diretório. Este é um exercício para melhorar o seu entendimento de funções recursivas em Java.

Veja o código completo para o exemplo:

package arquivodecodigos;

import java.io.*;
import java.util.*;

public class Estudos {
  static int indentLevel = -1;

  public static void main(String[] args) {
    listPath(new File("c:\\estudos_c"));
  }

  static void listPath(File path) {
    File files[];
    indentLevel++;

    files = path.listFiles();

    Arrays.sort(files);

    for (int i = 0, n = files.length; i < n; i++) {
      for (int indent = 0; indent < indentLevel; indent++) {
        System.out.print("  ");
      }
      
      System.out.println(files[i].getName());
      
      if(files[i].isDirectory()) {
        listPath(files[i]);
      }
    }
    indentLevel--;
  }
}

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

DICA.txt
estudos
  .vs
    estudos
      v16
        .suo
        Browse.VC.db
        ipch
          AutoPCH
            1dcb307edee5acf8
              ORIGEM.ipch
  Debug
    estudos.exe
    estudos.exe.recipe
    estudos.ilk
    estudos.log
    estudos.pdb
    estudos.tlog
      CL.command.1.tlog
      CL.read.1.tlog
      CL.write.1.tlog
      estudos.lastbuildstate
      link.command.1.tlog
      link.read.1.tlog
      link.write.1.tlog
    estudos.vcxproj.FileListAbsolute.txt
    Origem.obj
    vc142.idb
    vc142.pdb
  estudos.sln
  estudos.vcxproj
  estudos.vcxproj.filters
  estudos.vcxproj.user
  Origem.cpp
Estudos_C.dev
Estudos_C.exe
Estudos_C.layout
main.c
main.o
Makefile.win



AutoLISP ::: Dicas & Truques ::: Linha, Linhas, Comando LINE

Como desenhar uma linha no AutoCAD usando AutoLISP - Dois pontos geométricos e o comando LINE

Quantidade de visualizações: 797 vezes
Nesta dica mostrarei como desenhar linhas no AutoCAD usando AutoLISP e o comando LINE. Para isso nós vamos definir dois pontos geométricos p e q. Para deixar o código simples eu defini os pontos (coordenadas x, y, z) usando listas.

Posteriormente você poderá pedir para o usuário clicar na área de desenho (GA) e obter as coordenadas usando a função getpoint() da AutoLISP.

Veja o código AutoLISP completo para o exemplo:

; Este programa é usado para desenhar uma
; linha a partir de dois pontos definidos no
; código. Opcionalmente você poderá pedir
; para o usuário informar as coordenadas dos
; dois pontos usando a função getpoint()
(defun desenhar-linha()
  ; vamos definir as coordenadas do
  ; primeiro ponto
  (setq p (list 300 250 0)) 
  
  ; vamos definir as coordenadas do
  ; segundo ponto
  (setq q (list 1900 650 0))

  ; Agora chamamos o comando LINE passando os
  ; dois pontos geométricos
  (command "LINE" p q "")
)

Dica: Para carregar seu código AutoLISP no AutoCAD, digite (LOAD "C:\\codigos_autolisp\\desenho.lsp"), com duas barras invertidas na separação dos diretórios e nome do arquivo, na janela de comandos e depois chame a função desejada digitando (DESENHAR-LINHA), por exemplo. Opcionalmente você pode ir até o menu Manage e escolher a opção Load Application. Em seguida selecione o arquivo desejado e clique o botão Load.


Java ::: Classes e Componentes ::: JTable

Java Swing Avançado - Como exibir imagens nas células de uma JTable em suas aplicações Java Swing

Quantidade de visualizações: 15537 vezes
Nesta dica mostrarei como criar uma classe personalizada que estende a classe JLabel e implementa a interface TableCellRenderer. O objetivo é fornecer esta JLabel ao método setCellRenderer() de uma das colunas da JTable e exibir uma imagem ou foto ao lado do conteúdo da célula.

Veja o resultado da figura abaixo:



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

package arquivodecodigos;

import javax.swing.*;
import java.awt.*;
import javax.swing.table.*;
 
public class Estudos extends JFrame{
  public Estudos(){
    super("Exemplo de uma tabela simples");
         
    // colunas da tabela
    String[] colunas = {"Nome", "Idade", "Sexo"};
         
    // conteúdo da tabela   
    Object[][] conteudo = {
        {"Osmar J. Silva", "32", "Masculino"},
        {"Maria Clara Gomes", "19", "Feminino"},
        {"Fernando Gomes", "15", "Masculino"},
        {"Carlos Vieira", "40", "Masculino"}
    };
         
    // constrói a tabela
    JTable tabela = new JTable(conteudo, colunas);
     
    // quero exibir imagens ao lado do texto da primeira coluna
    TableCellRenderer tcr = new Imagem();
    TableColumn column = tabela.getColumnModel().getColumn(0);
    column.setCellRenderer(tcr);
  
    tabela.setPreferredScrollableViewportSize(new Dimension(350, 50));
     
    Container c = getContentPane();
    c.setLayout(new FlowLayout());
             
    JScrollPane scrollPane = new JScrollPane(tabela);
    c.add(scrollPane);
         
    setSize(400, 300);
    setVisible(true);
  }
     
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}
 
class Imagem extends JLabel implements TableCellRenderer{
  public Imagem(){
    setOpaque(true);
  }
   
  public Component getTableCellRendererComponent(JTable table, 
     Object value, boolean isSelected, boolean hasFocus, int row, 
     int column){
     
     Icon imagem = new ImageIcon("C:\\estudos_java\\icon.gif");
     // certifique-se da existencia da imagem "icon.gif" antes de executar
     
     if(isSelected)
       setBackground(table.getSelectionBackground());
     else
       setBackground(table.getBackground());        
      
     setIcon(imagem);
     setText(value.toString());
         
     return this;       
  }
   
  public void validate() {}
  public void revalidate() {}
  protected void firePropertyChange(String propertyName, 
    Object oldValue, Object newValue) {}
  public void firePropertyChange(String propertyName, 
    boolean oldValue, boolean newValue) {}  
}



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