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.

Java ::: Aplicativos Completos ::: Fontes

Como criar um visualizador de fontes em Java Swing - Código fonte completo

Quantidade de visualizações: 11183 vezes
Código completo Java: Como escrever um visualizador de fontes em Java Swing

Nesta dica eu mostro o código completo para uma aplicação GUI usado Java Swing e que permite visualizar as fontes instaladas no sistema. Ao clicar em uma das fontes exibidas em uma JList, o texto da JLabel é formatado de acordo com a fonte escolhida.

Note que montei toda a GUI em código mesmo, ou seja, sem usar o editor visual do Netbeans ou outra IDE. Esse é um bom exercício para entender os elementos que compõem interfaces gráficas do Java Swing.

Eis o código completo para o exemplo:

package arquivodecodigos;

import java.awt.*;
import javax.swing.*;
import javax.swing.event.*;
import java.util.*;
 
public class Estudos extends JFrame
    implements ListSelectionListener{
  JLabel label = new JLabel("Observe este texto");  
 
  public Estudos(){
    super("Visualizados de Fontes");
     
    String[] fontNames; // nomes das fontes
    Toolkit toolkit = Toolkit.getDefaultToolkit();
    fontNames = 
      GraphicsEnvironment.getLocalGraphicsEnvironment().
      getAvailableFontFamilyNames();
    Vector fonts = new Vector();
 
    for(int i = 0; i < fontNames.length; i++){
      fonts.add(new Font(fontNames[i], Font.PLAIN, 16));
    }    
 
    JList fontList = new JList(fonts);
    fontList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    fontList.setCellRenderer(new FontCellRenderer());
    JScrollPane scrollPane = new JScrollPane(fontList);
 
    JPanel p = new JPanel();
    p.add(scrollPane);
    fontList.addListSelectionListener(this);
    getContentPane().add(p, "Center");
    getContentPane().add(label, "South");
 
    setSize(500, 250);
    setVisible(true);
  }
 
  @Override
  public void valueChanged(ListSelectionEvent evt){
    JList source = (JList) evt.getSource();
    Font font = (Font) source.getSelectedValue();
    label.setFont(font);
  }
   
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}
 
// Classe personalizada que implementa ListCellRenderer 
class FontCellRenderer implements ListCellRenderer{
  @Override
  public Component getListCellRendererComponent(
    final JList list, final Object value, 
    final int index, final boolean isSelected,
    final boolean cellHasFocus){
     
    return new JPanel(){
      @Override
      public void paintComponent(Graphics g){
        super.paintComponent(g);
        Font font = (Font) value;
        String text = font.getFamily();
        FontMetrics fm = g.getFontMetrics(font);
        g.setColor(isSelected ? list.getSelectionBackground() 
          : list.getBackground());
        g.fillRect(0, 0, getWidth(), getHeight());
        g.setColor(isSelected ? list.getSelectionForeground() 
          : list.getForeground());
        g.setFont(font);
        g.drawString(text, 0, fm.getAscent());
      }
 
      @Override
      public Dimension getPreferredSize() {
        Font font = (Font) value;
        String text = font.getFamily();
        Graphics g = getGraphics();
        FontMetrics fm = g.getFontMetrics(font);
        return new Dimension(fm.stringWidth(text), fm.getHeight());
      }
    };
  }
}

Ao executá-lo você terá um resultado parecido com:




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

Exercícios Resolvidos de Java - Pesquisando um valor em uma matriz de int e retornando o índice no qual o mesmo foi encontrado

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

Escreva um programa Java GUI ou console que declara, constrói e inicializa uma matriz de 5 inteiros. Em seguida peça ao usuário para informar um valor inteiro e informe se o valor lido está contido na matriz. Se o valor for encontrado na matriz, retorne seu índice (lembre-se de que os índices dos elementos em uma matriz Java começam em 0). A declaração, construção e inicialização da matriz pode ser feita da seguinte forma:

// declara, constrói e inicializa uma matriz de 5 inteiros
int valores[] = {4, 21, 8, 120, 1};
Dica: Na resolução abaixo eu usei um objeto JOptionPane para ler o valor a ser pesquisado. Se preferir, use um objeto da classe Scanner para leitura.

Resposta/Solução:

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

package estudos;

import javax.swing.JOptionPane;

public class Estudos {
  public static void main(String[] args) {
    // declara, constrói e inicializa uma matriz de 5 inteiros
    int valores[] = {4, 21, 8, 120, 1};
        
    // vamos ler um valor inteiro
    int pesquisa = Integer.parseInt(JOptionPane.showInputDialog("Valor:"));
        
    // vamos verificar se o valor está contido na matriz e retornar seu índice
    int pos = -1; // índice não existente na matriz
    for(int i = 0; i < valores.length; i++){
      if(valores[i] == pesquisa){
        pos = i; // encontrou? vamos anotar este índice
        break;
      }
    }
        
    // vamos mostrar o resultado
    if(pos > -1){
      JOptionPane.showMessageDialog(null, "O valor foi encontrado no índice: " +
        pos);
    }
    else{
      JOptionPane.showMessageDialog(null, "O valor não foi encontrado na matriz");
    }
  }
}

Uma idéia na resolução deste exercício é inicializar a variável que guardará o índice do elemento pesquisado com o valor -1. Assim, se no final da pesquisa o valor ainda for -1, sabemos que o elemento não foi encontrado.


PostgreSQL ::: Dicas & Truques ::: Comandos DDL (Data Definition Language - Linguagem de Definição de Dados)

Como excluir uma base de dados no PostgreSQL usando o comando DDL DROP DATABASE

Quantidade de visualizações: 14645 vezes
Em algumas situações precisamos excluir uma base de dados no PostgreSQL. Isso pode ser feito por meio do uso do comando DLL DROP DATABASE. Este comando pode ser disparado via linha de comando SQL Shell (psql), na janela de Query do pgAdmin ou a partir de uma linguagem de programação. No entanto, é importante saber que você não conseguirá excluir uma base de dados que você ou outros usuários estejam conectados no momento.

Use o comando DROP DATABASE com cuidado. Ao dispará-lo, os dados contidos na base de dados (tabelas, views, funções, triggers, etc) serão perdidos para sempre. Veja como podemos usar o comando DROP DATABASE para excluir uma base de dados chamada "estudos":

DROP DATABASE estudos;

Se você visualizar uma mensagem parecida com:

Query returned successfully with no result in 261 ms.

Então poderá estar certo de que a base de dados foi removida com sucesso. Se tentarmos excluir uma base de dados na qual alguém ainda está conectado, o PostgreSQL abortará a operação e nos exibirá a seguinte mensagem de erro:

ERRO:  banco de dados "estudos" está sendo acessado por outros usuários
DETAIL:  Há 1 outra sessão utilizando o banco de dados.

********** Error **********

ERRO: banco de dados "estudos" está sendo acessado por outros usuários
SQL state: 55006
Detail: Há 1 outra sessão utilizando o banco de dados.
Da mesma forma, seremos alertados se tentarmos excluir uma base de dados que não existe:

ERRO:  banco de dados "estudos" não existe

********** Error **********

ERRO: banco de dados "estudos" não existe
SQL state: 3D000
O comando DROP DATABASE pode vir acompanhado da cláusula IF EXISTS, que tentará a exclusão somente quando a base de dados existir. Veja:

DROP DATABASE IF EXISTS estudos;

Agora o PostgreSQL trocará a mensagem de erro por uma mensagem de advertência:

NOTA:  banco de dados "estudos" não existe, ignorando

Query returned successfully with no result in 14 ms.



VB.NET ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas

Como calcular o coeficiente angular de uma reta em VB.NET dados dois pontos no plano cartesiano

Quantidade de visualizações: 1480 vezes
O Coeficiente Angular de uma reta é a variação, na vertical, ou seja, no eixo y, pela variação horizontal, no eixo x. Sim, isso mesmo. O coeficiente angular de uma reta tem tudo a ver com a derivada, que nada mais é que a taxa de variação de y em relação a x.

Vamos começar analisando o seguinte gráfico, no qual temos dois pontos distintos no plano cartesiano:



Veja que o segmento de reta AB passa pelos pontos A (x=3, y=6) e B (x=9, y=10). Dessa forma, a fórmula para obtenção do coeficiente angular m dessa reta é:

\[\ \text{m} = \frac{y_2 - y_1}{x_2 - x_1} = \frac{\Delta y}{\Delta x} = tg \theta \]

Note que __$\Delta y__$ e __$\Delta x__$ são as variações dos valores no eixo das abscissas e no eixo das ordenadas. No triângulo retângulo que desenhei acima, a variação __$\Delta y__$ se refere ao comprimento do cateto oposto e a variação __$\Delta y__$ se refere ao comprimento do cateto adjascente.

Veja agora o trecho de código na linguagem VB.NET que solicita as coordenadas x e y dos dois pontos, efetua o cálculo e mostra o coeficiente angular m da reta que passa pelos dois pontos:

Imports System

Module Program
  Sub Main(args As String())
    ' x e y do primeiro ponto
    Console.Write("Informe a coordenada x do primeiro ponto: ")
    Dim x1 As Double = Double.Parse(Console.ReadLine())
    Console.Write("Informe a coordenada y do primeiro ponto: ")
    Dim y1 As Double = Double.Parse(Console.ReadLine())

    ' x e y do segundo ponto
    Console.Write("Informe a coordenada x do segundo ponto: ")
    Dim x2 As Double = Double.Parse(Console.ReadLine())
    Console.Write("Informe a coordenada y do segundo ponto: ")
    Dim y2 As Double = Double.Parse(Console.ReadLine())

    ' agora vamos calcular o coeficiente angular
    Dim m As Double = (y2 - y1) / (x2 - x1)

    ' e mostramos o resultado
    Console.WriteLine("O coeficiente angular é: " & m)

    Console.WriteLine("\nPressione qualquer tecla para sair...")
    ' pausa o programa
    Console.ReadKey()
  End Sub
End Module

Ao executar este código em linguagem VB.NET nós teremos o seguinte resultado:

O coeficiente angular é: 0,6666666666666666

Veja agora como podemos calcular o coeficiente angular da reta que passa pelos dois pontos usando o Teorema de Pitágoras. Note que agora nós estamos tirando proveito da tangente do ângulo Theta (__$\theta__$), também chamado de ângulo Alfa ou Alpha (__$\alpha__$):

Imports System

Module Program
  Sub Main(args As String())
    ' x e y do primeiro ponto
    Console.Write("Informe a coordenada x do primeiro ponto: ")
    Dim x1 As Double = Double.Parse(Console.ReadLine())
    Console.Write("Informe a coordenada y do primeiro ponto: ")
    Dim y1 As Double = Double.Parse(Console.ReadLine())

    ' x e y do segundo ponto
    Console.Write("Informe a coordenada x do segundo ponto: ")
    Dim x2 As Double = Double.Parse(Console.ReadLine())
    Console.Write("Informe a coordenada y do segundo ponto: ")
    Dim y2 As Double = Double.Parse(Console.ReadLine())

    ' vamos obter o comprimento do cateto oposto
    Dim cateto_oposto As Double = y2 - y1
    ' e agora o cateto adjascente
    Dim cateto_adjascente As Double = x2 - x1
    ' vamos obter o ângulo tetha, ou seja, a inclinação da hipetunesa
    ' (em radianos, não se esqueça)
    Dim tetha As Double = Math.Atan2(cateto_oposto, cateto_adjascente)
    ' e finalmente usamos a tangente desse ângulo para calcular
    ' o coeficiente angular
    Dim tangente As Double = Math.Tan(tetha)

    ' e mostramos o resultado
    Console.WriteLine("O coeficiente angular é: " & tangente)

    Console.WriteLine("\nPressione qualquer tecla para sair...")
    ' pausa o programa
    Console.ReadKey()
  End Sub
End Module

Ao executar este código você verá que o resultado é o mesmo. No entanto, fique atento às propriedades do coeficiente angular da reta:

1) O coeficiente angular é positivo quando a reta for crescente, ou seja, m > 0;

2) O coeficiente angular é negativo quando a reta for decrescente, ou seja, m < 0;

3) Se a reta estiver na horizontal, ou seja, paralela ao eixo x, seu coeficiente angular é zero (0).

4) Se a reta estiver na vertical, ou seja, paralela ao eixo y, o coeficiente angular não existe.


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