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.

AutoCAD .NET API C# ::: Dicas & Truques ::: Polyline - Polilinha

Como selecionar uma polilinha no AutoCAD e mostrar as coordenadas de suas vértices usando a AutoCAD .NET C# API

Quantidade de visualizações: 752 vezes
Em várias situações nós precisamos efetuar cálculos usando os vértices de uma polilinha. Nesta dica eu mostro como podemos pedir para o usuário selecionar uma polilinha na área de desenho do AutoCAD e mostrar as coordenadas x e y de cada um dos vértices.

No código abaixo eu trato duas formas de polilinhas no AutoCAD: a polilinha 2D Polyline e a polilinha 3D, representada pelo objeto Polyline3d. Note que as formas de se extrair os vértices desses dois objetos são completamente diferentes.

Se a polilinha for 2D, seus vértices são extraído usando-se a função GetPoint2dAt(), que retorna um objeto Point2d. Se a polilinha for 3D, ela será representada por um objeto da classe Polyline3d, e seus vértices são retornados como objetos PolylineVertex3d a partir de uma chamada à função GetObject() da classe Transaction.

Veja o código AutoCAD .NET C# API completo para o exemplo:

using System;
using Autodesk.AutoCAD.Runtime;
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.Geometry;
using Autodesk.AutoCAD.EditorInput;

[assembly: CommandClass(typeof(PluginEstudos.Class1))]
namespace PluginEstudos {
  public class Class1 {
    [CommandMethod("estudos")]
    public void Estudos() {
      // vamos obter o documento atual
      Document doc = Application.DocumentManager.MdiActiveDocument;
      // vamos obter a base de dados
      Database db = doc.Database;

      // vamos pedir para o usuário selecionar uma polilinha
      PromptEntityResult resultado = doc.Editor.GetEntity(
        "Selecione uma polilinha: ");

      // a seleção foi feita com sucesso
      if (resultado.Status != PromptStatus.OK) {
        Application.ShowAlertDialog("Nenhum elemento selecionado.");
        return;
      }

      // iniciamos uma transação
      using (Transaction trans = db.TransactionManager.StartTransaction()) {
        // obtemos a polilinha selecionada
        DBObject objeto = trans.GetObject(resultado.ObjectId, OpenMode.ForRead);

        // vamos testar se a polilinha é do tipo leve ou otimizada
        Polyline polilinha2d = objeto as Polyline;
        if (polilinha2d != null) {
          // vamos percorrer todos os vértices, um de cada vez
          int numero_vertices = polilinha2d.NumberOfVertices;
          for (int i = 0; i < numero_vertices; i++) {
            // vamos obter um objeto Point2d ou Point3d
            Point2d ponto = polilinha2d.GetPoint2dAt(i);
            // e escrevemos na janela de comandos
            doc.Editor.WriteMessage("\nX = " + ponto.X.ToString("0.00") +
              "; Y = " + ponto.Y.ToString("0.00"));
          }
        }
        // é uma polilinha do tipo pesada, ou heavy
        else {
          Polyline3d polilinha3d = objeto as Polyline3d;
          if (polilinha3d != null) {
            // percorremos cada um dos vértices
            foreach (ObjectId id_vertice in polilinha3d) {
              PolylineVertex3d vertice3d = (PolylineVertex3d)trans.GetObject(
                id_vertice, OpenMode.ForRead);
              // e escrevemos na janela de comandos
              doc.Editor.WriteMessage("\nX = " + vertice3d.Position.X.ToString("0.00") +
                "; Y = " + vertice3d.Position.Y.ToString("0.00"));
            }
          }
        }

        // fechamos a transação
        trans.Commit();
      }
    }
  }
}

Ao executar este código AutoCAD .NET C# API nós teremos o seguinte resultado:

Command: Selecione uma polilinha:
X = 168.91; Y = 159.91
X = 415.17; Y = 126.24
X = 317.08; Y = 24.18
X = 80.53; Y = 104.29


C ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes)

Exercícios Resolvidos de C - Declare uma matriz de 10 inteiros e use um laço for para preencher os elementos da matriz usando valores aleatórios de 0 até 10

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

Escreva um programa C que declara uma matriz de 10 inteiros. Use um laço for para preencher os elementos da matriz usando valores aleatórios de 0 até 10 (incluindo os valores 0 e 10). Para finalizar, percorra os elementos da matriz e exiba seus valores. A saída do programa deverá ser parecida com:

3 5 5 1 3 8 10 0 9 7

Resposta/Solução:

Veja abaixo a resolução completa para esta tarefa:

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
  // vamos inicializar o gerador de números aleatórios
  srand(time(NULL));
  
  // vamos declarar e construir uma matriz de 10 inteiros
  int valores[10];

  // vamos preencher a matriz com valores aleatórios de 0 até 10 (incluindo)
  int i;
  for(i = 0; i < 10; i++){
    valores[i] = rand() % 11;
  }

  // vamos exibir os valores dos elementos da matriz
  for(i = 0; i < 10; i++){
    printf("%d  ", valores[i]);
  }
  
  printf("\n\n");
  system("PAUSE");	
  return 0;
}

Espero que você tenha gostado e continue a acessar a nossa Lista de Exercícios de C.


Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes)

Exercícios Resolvidos de Java - Como verificar quantas vezes um valor é encontrado em um vetor - Como usar vetores e matrizes em Java

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

Escreva um programa Java que declara, constrói e inicializa um vetor de 10 inteiros. Em seguida peça para que o usuário informe um valor a ser pesquisado. Faça uma varredura no vetor e informe quantas vezes o valor pesquisado é encontrado:

// declara, constrói e inicializa um vetor de 10 inteiros
int valores[] = {4, 21, 9, 8, 12, 21, 4, 4, 1, 10};
Sua saída deverá ser parecida com:

Informe um valor: 4
O valor foi encontrado: 3 vezes

Informe um valor: 8
O valor foi encontrado: 1 vezes

Informe um valor: 3
O valor foi encontrado: 0 vezes
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){
    // declara, constrói e inicializa um vetor de 10 inteiros
    int valores[] = {4, 21, 9, 8, 12, 21, 4, 4, 1, 10};

    // para ler a entrada do usuário
    Scanner entrada = new Scanner(System.in);
    
    // vamos ler um valor inteiro
    System.out.print("Informe um valor: ");
    int pesquisa = Integer.parseInt(entrada.nextLine());
        
    // vamos verificar quantas vezes o valor informado está
    // contido no vetor
    int repeticoes = 0;
    for(int i = 0; i < valores.length; i++){
      if(valores[i] == pesquisa){
        repeticoes++; // encontrou? vamos contar esta ocorrência
      }
    }
        
    // vamos mostrar o resultado
    System.out.println("O valor foi encontrado: " +
      repeticoes + " vezes"); 
  }
}



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: 12641 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);
  } 
}



Nossas 20 dicas & truques de programação mais populares

Você também poderá gostar das dicas e truques de programação abaixo

Nossas 20 dicas & truques de programação mais recentes

Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site

Últimos Exercícios Resolvidos

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