Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO

Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica.

Java ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas

Como calcular o cateto oposto dadas as medidas da hipotenusa e do cateto adjascente em Java

Quantidade de visualizações: 2199 vezes
Todos estamos acostumados com o Teorema de Pitágoras, que diz que "o quadrado da hipotenusa é igual à soma dos quadrados dos catetos". Baseado nessa informação, fica fácil retornar a medida do cateto oposto quando temos as medidas da hipotenusa e do cateto adjascente. Isso, claro, via programação em linguagem Java.

Comece observando a imagem a seguir:



Veja que, nessa imagem, eu já coloquei os comprimentos da hipotenusa, do cateto oposto e do cateto adjascente. Para facilitar a conferência dos cálculos, eu coloquei também os ângulos theta (que alguns livros chamam de alfa) e beta já devidamente calculados. A medida da hipotenusa é, sem arredondamentos, 36.056 metros.

Então, sabendo que o quadrado da hipotenusa é igual à soma dos quadrados dos catetos (Teorema de Pitógoras):

\[c^2 = a^2 + b^2\]

Tudo que temos que fazer é mudar a fórmula para:

\[a^2 = c^2 - b^2\]

Veja que agora o quadrado do cateto oposto é igual ao quadrado da hipotenusa menos o quadrado do cateto adjascente. Não se esqueça de que a hipotenusa é o maior lado do triângulo retângulo.

Veja agora como esse cálculo é feito em linguagem Java:

package arquivodecodigos;

public class Estudos{
  public static void main(String args[]){
    double c = 36.056; // medida da hipotenusa
    double b = 30; // medida do cateto adjascente
  
    // agora vamos calcular a medida da cateto oposto
    double a = Math.sqrt(Math.pow(c, 2) - Math.pow(b, 2));
 
    // e mostramos o resultado
    System.out.println("A medida do cateto oposto é: " +
      a);
  }
}

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

A medida do cateto oposto é: 20.00087838071118

Como podemos ver, o resultado retornado com o código Java confere com os valores da imagem apresentada.


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

Como testar se uma substring está contida no final de uma string C# usando o método EndsWith() da classe String

Quantidade de visualizações: 249 vezes
Em algumas situações nós precisamos verificar se uma palavra, frase ou texto termina com um caractere ou uma determinada substring. Para isso nós podemos usar o método EndsWith() da classe String da linguagem C#.

Veja o exemplo a seguir:

using System;

namespace Estudos {
  class Program {
    static void Main(string[] args) {
      string texto = "Gosto de programar em C#";

      if (texto.EndsWith("C#")) {
        Console.WriteLine("O texto termina com C#");
      }
      else {
        Console.WriteLine("O texto não termina com C#");
      }

      Console.WriteLine("\n\nPressione uma tecla para sair...");
      Console.ReadKey();
    }
  }
}

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

O texto termina com C#


Java ::: Dicas & Truques ::: Gráficos

Como desenhar em um JComponent do Java Swing (JLabel, JButton, JPanel, etc) usando o método paintComponent()

Quantidade de visualizações: 10208 vezes
A classe JComponent possui um método chamado paintComponent(Graphics g) que recebe um objeto da classe Graphics que pode ser usado para desenhar na superfície do componente. Desta forma, qualquer componente que herda de JComponent pode ser usado para esta finalidade.

Para demonstrar como isso é feito, veja um trecho de código no qual desenhamos uma linha em um JLabel e o anexamos à janela do aplicativo. Observe a criação de uma classe personalizada que herda de JLabel:

import java.awt.*;
import javax.swing.*;

public class Estudos extends JFrame{
  public Estudos() {
    super("Desenhando em um JLabel");
    
    Container c = getContentPane();

    // Cria o JLabel
    MinhaLabel label = new MinhaLabel();
    c.add(label);

    setSize(350, 250);
    setVisible(true);
  }
  
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(
      JFrame.EXIT_ON_CLOSE);
  }
}

// classe personalizada que permite desenhar
class MinhaLabel extends JLabel{
  protected void paintComponent(Graphics g){
    super.paintComponent(g);
    g.drawLine(0, 0, 200, 200); 
  }
}



VB.NET ::: Fundamentos da Linguagem ::: Estruturas de Controle

Como usar o laço Do...While...Loop do VB.NET

Quantidade de visualizações: 17761 vezes
Um instrução de repetição (também chamada de laço ou loop) permite que um bloco de códigos seja executado repetidamente até que uma condição seja satisfeita.

O laço Do...While...Loop é usado quando queremos testar uma condição e, executar um bloco de código repetidamente enquanto esta condição for verdadeira. Lembre-se de que, se a condição já for falsa, o laço nunca será executado.

Veja um exemplo de laço Do...While...Loop que nos permite exibir os números de 0 a 10:

Dim numero As Integer = 0

Do While numero <= 10
  Console.WriteLine(numero)
  numero += 1
Loop

Veja uma nova versão deste código, desta vez contando de 10 a 0:

Dim numero As Integer = 10

Do While numero >= 0
  Console.WriteLine(numero)
  numero -= 1
Loop

Aqui nós estamos novamente avaliando uma condição, ou seja, se o resultado da condição for True, a execução do laço continua. Se for False, o laço pára. Veja um exemplo no qual a condição booleana está bem explícita:

Dim pode As Boolean = True
Dim valor As Integer = 1

Do While pode
  Console.WriteLine(valor)
  valor += 1

  If valor > 20 Then
    pode = False
  End If
Loop



Java ::: Java para Engenharia ::: Geometria Analítica e Álgebra Linear

Como calcular a distância entre dois pontos no plano em Java - Java para Geometria Analítica e Álgebra Linear

Quantidade de visualizações: 6407 vezes
Como calcular a Distância Euclidiana entre dois pontos usando Java.

Em várias aplicações envolvendo geometria, principalmente no desenvolvimento de jogos em Java, é comum nos depararmos com a necessidade de calcular a distância entre dois pontos A e B. Nessa dica mostrarei como efetuar esse cálculo no R2, ou seja, no plano. Em outra dica eu abordo o cálculo no R3 (espaço).

Comece analisando a imagem abaixo:



Veja que temos um ponto A (x = 3; y = 6) e um ponto B (x = 9; y = 4). Para determinarmos a distância entre esses dois pontos no plano cartesiano, temos que realizar a análise tanto no sentido do eixo das abscissas (x) quanto no do eixo das ordenadas (y).

Veja a fórmula:

\[d_{AB} = \sqrt{\left(x_b - x_a\right)^2 + \left(y_b - y_a\right)^2}\]

Agora, jogando os valores dos dois pontos da fórmula nós teremos:

\[d_{AB} = \sqrt{\left(9 - 3\right)^2 + \left(6 - 4\right)^2}\]

Que resulta em 6,32 (aproximadamente).

E agora veja o código Java completo que lê as coordenadas dos dois pontos e mostra a distância entre eles:

package arquivodecodigos;

import java.util.Scanner;

public class Estudos{
  public static void main(String args[]){
    Scanner entrada = new Scanner(System.in);
    
    // vamos ler os dados do primeiro ponto
    System.out.print("Informe o x do primeiro ponto: ");
    double x1 = Double.parseDouble(entrada.nextLine());
    System.out.print("Informe o y do primeiro ponto: ");
    double y1 = Double.parseDouble(entrada.nextLine());
    
    // vamos ler os dados do segundo ponto
    System.out.print("Informe o x do segundo ponto: ");
    double x2 = Double.parseDouble(entrada.nextLine());
    System.out.print("Informe o y do segundo ponto: ");
    double y2 = Double.parseDouble(entrada.nextLine());
    
    // vamos obter a distância entre eles
    double distancia = distancia2d(x1, y1, x2, y2);
    System.out.println("Distância entre os dois pontos: " +
      distancia);
  }
  
  // função que permite calcular a distância
  // entre dois pontos no plano (R2)
  public static double distancia2d(double x1, double y1,
                                  double x2, double y2){
    double a = x2 - x1;
    double b = y2 - y1;
    double c = Math.sqrt(Math.pow(a, 2) + Math.pow(b, 2));
    return c;
  }
}

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

Informe o x do primeiro ponto: 3
Informe o y do primeiro ponto: 6
Informe o x do segundo ponto: 9
Informe o y do segundo ponto: 4
Distância entre os dois pontos: 6.324555320336759


Java ::: Fundamentos da Linguagem ::: Tipos de Dados

Como usar o tipo de dados float do Java - Usando o tipo de dados float da linguagem Java

Quantidade de visualizações: 22773 vezes
O tipo de dados float é usado quando precisamos armazenar números de ponto-flutuante (com parte fracionária) na faixa 1.401298464324817e-45f até 3.402823476638528860e+38f. Este tipo ocupa 32 bits na memória (o mesmo que um int) e possui precisão de 6 ou 7 dígitos significativos. Veja um exemplo de seu uso:

public class Estudos{
  public static void main(String args[]){
    float valor = 54.5f;
     
    System.out.println("O valor da variável é: " +
      valor);
     
    System.exit(0);
  }
}

Antes de prosseguir, veja que inserí a letra "f" (ou "F") após o valor literal atribuído à variável. Se retirássemos esta letra, o compilador emitiria a seguinte mensagem de erro:

Estudos.java:3: possible loss of precision
found   : double
required: float
  float valor = 54.5;
                ^
1 error


Isso acontece porque, por padrão, um literal de ponto-flutuante é no mínimo do tipo double. E um double não cabe em um float. A definição da letra "f" ou "F" informa ao compilador que estamos realmente definindo um literal float.

O tipo de dados float pode ser convertido (sem a necessidade de cast) para os seguintes tipos:

float -> double

Se precisarmos converter o tipo float para os tipos char, byte, short, int ou long, teremos que lançar mão de uma coerção (cast), também conhecida como conversão forçada. Veja:

float valor = 54.5f;
int valor2 = (int)(valor);

É preciso ficar atento ao fato de que uma coerção de um tipo de ponto-flutuante para um tipo integral (inteiro) resulta na perda da parte fracionária do valor que está sofrendo o cast.


Delphi ::: Dicas & Truques ::: Strings e Caracteres

Como converter todo o conteúdo de uma string para letras minúsculas usando a função AnsiLowerCase() do Delphi

Quantidade de visualizações: 12989 vezes
Algumas vezes precisamos converter todo o conteúdo de uma string para letras minúsculas. Em Delphi isso pode ser feito com o auxílio da função AnsiLowerCase(). Esta função recebe uma string e retorna outra string com todos os caracteres minúsculos. Veja o exemplo:

procedure TForm1.Button1Click(Sender: TObject);
var
  nome: string;
begin
  nome := 'OSMAR';

  // vamos converter a string para letras minúsculas
  nome := AnsiLowerCase(nome);

  // exibe o resultado
  ShowMessage(nome);
end;

Note que esta função suporta caracteres de mais de um byte e com acentuações.

Para questões de compatibilidade, esta dica foi escrita usando Delphi 2009.


Java ::: Dicas & Truques ::: Data e Hora

Como retornar a diferença de dias entre duas datas em Java - Datas e horas em Java

Quantidade de visualizações: 10371 vezes
Algumas vezes precisamos obter a diferença de dias entre duas datas em Java. Esta dica mostra como isso pode ser feito usando dois objetos da classe Date. Veja que usamos o método parse() da classe SimpleDateFormat para construir as duas datas e o método getTime() da classe Date para obter a quantidade de milisegundos desde 1º de janeiro de 1970 GMT armazenada em cada um dos objetos Date. O resto é um cálculo matemático bem simples:

package arquivodecodigos;

import java.util.*;
import java.text.*;
 
public class Estudos{ 
  public static void main(String args[]){ 
    try{
      // constrói a primeira data
      DateFormat fm = new 
        SimpleDateFormat("dd/MM/yyyy");
      Date data1 = (Date)fm.parse("20/12/2019");
 
      // constrói a segunda data
      fm = new SimpleDateFormat("dd/MM/yyyy");
      Date data2 = (Date)fm.parse("25/01/2020");
 
      // vamos obter a diferença em dias
      long diff = data2.getTime() - 
        data1.getTime();
 
      // exibe o resultado
      System.out.println("Primeira data: " + data1.toString());
      System.out.println("Segunda data: " + data2.toString());
      System.out.println("Diferença em dias = "
        + diff / (1000 * 60 * 60 * 24));
    }
    catch(ParseException e){
      System.out.println("Erro: " + e.getMessage());
    }
  } 
}

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

Primeira data: Fri Dec 20 00:00:00 BRST 2019
Segunda data: Sat Jan 25 00:00:00 BRST 2020
Diferença em dias = 36


Ruby ::: Dicas & Truques ::: Strings e Caracteres

Como concatenar strings em Ruby usando o operador <<

Quantidade de visualizações: 8475 vezes
Esta dica mostra como podemos usar o operador << para concatenar strings em Ruby. Veja:

frase1 = "Gosto muito de Ruby"
frase2 = " e de Python"

# vamos concatenar as duas strings
res = frase1 << frase2

# exibe o resultado
puts res

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

Gosto muito de Ruby e de Python


C# ::: LINQ ::: LINQ to Objects

Como retornar o primeiro elemento de um array de strings em C# usando a função First() do LINQ

Quantidade de visualizações: 1055 vezes
Nesta dica mostrarei um exemplo bem simples do uso do método First() do LINQ (Language-Integrated Query) do C# para retornar o primeiro elemento de um vetor de strings.

É claro que este método funciona com qualquer coleção, mas um exemplo simples nos ajudará a entender melhor o seu funcionamento. Em outras dicas eu aprofundo o uso deste método.

Vamos ao código então. Veja:

using System;
using System.Linq;

namespace Estudos {
  class Principal {
    static void Main(string[] args) {
      // vamos construir um vetor de strings
      string[] linguagens = {"Java", "Python", "PHP", "Ruby"};
      
      // vamos obter o primeiro elemento do vetor
      string primeira = linguagens.First();

      // vamos mostrar o resultado
      Console.WriteLine("A primeira linguagem é: {0}", primeira);

      Console.WriteLine("Pressione uma tecla para sair...");
      Console.ReadKey();
    }
  }
}

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

A primeira linguagem é: Java

Fique atento ao fato de que o método First() pode atirar uma exceção do tipo InvalidOperation se o array ou coleção estiver vazia ou não incluir nenhum elemento que se encaixe nas condições testadas.

Veja o resultado ao chamarmos este método em um vetor vazio:

System.InvalidOperationException
HResult=0x80131509
Message=Sequence contains no elements
Source=System.Linq
StackTrace:
at System.Linq.ThrowHelper.ThrowNoElementsException()
at System.Linq.Enumerable.First[TSource](IEnumerable`1 source)
at Estudos.Principal.Main(String[] args) in C:\estudos_c#\Estudos\Principal.cs:line 11

Carregar Publicações Anteriores


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 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
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

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


© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 67 usuários muito felizes estudando em nosso site.