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

Como calcular o cosseno de um ângulo em Java usando o método cos() da classe Math - Calculadora de cosseno em Java

Quantidade de visualizações: 1715 vezes
Como calcular o cosseno de um ângulo em Java usando o método cos() da classe Math - Calculadora de cosseno em Java

Em geral, quando falamos de cosseno, estamos falando do triângulo retângulo de Pitágoras (Teorema de Pitágoras). A verdade é que podemos usar a função cosseno disponível nas linguagens de programação para calcular o cosseno de qualquer número, mesmo nossas aplicações não tendo nenhuma relação com trigonometria.

No entanto, é sempre importante entender o que é a função cosseno. Veja a seguinte imagem:



Veja que temos um triângulo retângulo com as medidas já calculadas para a hipotenusa e os dois catetos, assim como os ângulos entre eles.

Assim, o cosseno é a razão entre o cateto adjascente e a hipotenusa, ou seja, o cateto adjascente dividido pela hipotenusa. Veja a fórmula:

\[\text{Cosseno} = \frac{\text{Cateto adjascente}}{\text{Hipotenusa}} \]

Então, se dividirmos 30 por 36.056 (na figura eu arredondei) nós teremos 0.8320, que é a razão entre o cateto adjascente e a hipotenusa (em radianos).

Agora, experimente calcular o arco-cosseno de 0.8320. O resultado será 0.5881 (em radianos). Convertendo 0.5881 radianos para graus, nós obtemos 33.69º, que é exatamente o ângulo em graus entre o cateto adjascente e a hipotenusa na figura acima.

Pronto! Agora que já sabemos o que é cosseno na trigonometria, vamos entender mais sobre a função cos() da linguagem Java. Esta método, que faz parte da classe Math, recebe um valor numérico e retorna um valor, também numérico) entre -1 até 1 (ambos inclusos). Veja:

package arquivodecodigos;

public class Estudos{
  public static void main(String args[]){
    System.out.println("Cosseno de 0 = " + Math.cos(0));
    System.out.println("Cosseno de 1 = " + Math.cos(1));
    System.out.println("Cosseno de 2 = " + Math.cos(2));
  }
} 

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

Cosseno de 0 = 1.0
Cosseno de 1 = 0.5403023058681398
Cosseno de 2 = -0.4161468365471424

Note que calculamos os cossenos dos valores 0, 1 e 2. Observe como os resultados conferem com a curva da função cosseno mostrada abaixo:




Python ::: Fundamentos da Linguagem ::: Estruturas de Controle

Python para iniciantes - Como usar a instrução break em Python

Quantidade de visualizações: 10605 vezes
A instrução break da linguagem Python é usada para interromper a execução de um laço for ou while. Observe que se o laço possuir um bloco else, este não será executado se a instrução break for usada.

Veja um exemplo de um laço for que é interrompido se o valor da variável de controle for 5:

# função principal do programa
def main():
  for i in range(0, 21):
    print(i)
    if i == 5:
      break
  
if __name__== "__main__":
  main()

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

0
1
2
3
4
5


VB.NET ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade)

Exercícios Resolvidos de VB.NET - Uma função recursiva que conta quantas vezes um valor inteiro k ocorre em um vetor de inteiros

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

Escreva uma função recursiva em VB.NET que conta quantas vezes um valor inteiro k ocorre em um vetor de 10 inteiros. Sua função deverá ter a seguinte assinatura:

// função recursiva que recebe um valor e um vetor e retorna quantas
// vezes o valor é encontrado no vetor
public static int QuantRepeticoes(int indice, int valor, int[] vetor) {
  // sua implementação aqui 
}
Seu programa deverá solicitar ao usuário os valores do vetor e o valor a ser pesquisado. Sua saída deverá ser parecida com:

Informe o 1 valor: 2
Informe o 2 valor: 7
Informe o 3 valor: 4
Informe o 4 valor: 7
Informe o 5 valor: 1

Informe o valor a ser pesquisado no vetor: 7
O valor informado se repete 2 vezes.
Resposta/Solução:

Veja a resolução comentada deste exercício usando VB.NET:

Imports System

Module Program
  ' função principal do programa VB.NET
  Sub Main(args As String())
    ' vamos declarar um vetor de 10 inteiros
    Dim valores(4) As Integer

    ' vamos pedir ao usuário que informe os valores do vetor
    For i As Integer = 0 To valores.Length - 1
      Console.Write("Informe o " & (i + 1) & " valor: ")
      ' efetua a leitura do valor informado para a posição atual do vetor
      valores(i) = Int32.Parse(Console.ReadLine())
    Next

    ' agora vamos pedir para informar o valor a ser pesquisado
    Console.Write(vbCrLf & "Informe o valor a ser pesquisado no vetor: ")
    Dim valor As Integer = Int32.Parse(Console.ReadLine())

    ' e vamos ver a quantidade de repetições
    Dim repeticoes As Integer = QuantRepeticoes(0, valor, valores)
    Console.WriteLine("O valor informado se repete " & repeticoes & " vezes.")

    Console.WriteLine(vbCrLf & vbCrLf & "Pressione qualquer tecla para sair...")
    ' pausa o programa
    Console.ReadKey()
  End Sub

  ' função recursiva que recebe um valor e um vetor e retorna quantas
  ' vezes o valor é encontrado no vetor
  Function QuantRepeticoes(indice As Integer, valor As Integer, 
    vetor() As Integer) As Integer
    If indice = vetor.Length - 1 Then ' caso base...hora de parar a recursividade
      If vetor(indice) = valor Then
        Return 1 ' mais um repetição foi encontrada
      End If
    Else ' dispara mais uma chamada recursiva
      If vetor(indice) = valor Then ' houve mais uma repetição
        Return 1 + QuantRepeticoes(indice + 1, valor, vetor)
      Else
        Return 0 + QuantRepeticoes(indice + 1, valor, vetor) ' não repetiu
      End If
    End If

    Return 0 ' só para deixar o compilador satisfeito...esta linha nunca é
    ' executada
  End Function

End Module



Python ::: Dicas & Truques ::: Strings e Caracteres

Como substituir partes de uma palavra, frase ou texto em Python usando a função replace() do objeto String

Quantidade de visualizações: 1831 vezes
Em várias ocasiões nós precisamos efetuar a substituição de substrings em uma string. Para isso nós podemos usar o método replace() da linguagem Python. Esta função possui a seguinte assinatura:

string.replace(oldvalue, newvalue, count)

onde oldvalue é trecho da string a ser substituído, newvalue é o valor que substituirá o valor antigo e count é a quantidade de substituições. Na ausência do terceiro argumento, TODAS as ocorrências da substring pesquisada serão substituídas.

Veja um exemplo no qual substituímos todas as ocorrências de "Java" por "Python" em uma frase:

def main():
  # frase original
  original = "Gosto de Java porque Java é fácil"
  print("Frase original:", original)

  # vamos substituir "Java" por "Python"
  nova_frase = original.replace("Java", "Python")
  print("Após a substituição:", nova_frase)

if __name__== "__main__":
  main()

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

Frase original: Gosto de Java porque Java é fácil
Após a substituição: Gosto de Python porque Python é fácil


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

Como usar a função isdigit() do header ctype.h da linguagem C para verificar se um caractere é um dígito de 0 a 9

Quantidade de visualizações: 14629 vezes
Em algumas situações podemos precisar verificar se um dado caractere é um dígito (número) de 0 a 9. Isso pode ser feito com o auxílio da função isdigit() no header ctype.h. Esta função recebe um caractere e retorna um valor diferente de 0 se o caractere testado for um dígito de 0 a 9. Caso contrário o retorno é 0. Veja um exemplo completo de seu uso:

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

int main(int argc, char *argv[]){
  char caractere;

  // vamos ler o caractere informado pelo usuário
  printf("Informe um caractere e tecle ENTER: ");
  scanf("%c", &caractere);

  // vamos verificar se o usuário informou um dígito
  // de 0 a 9
  if(isdigit(caractere))
    printf("Voce informou um digito de 0 a 9");
  else
    printf("Voce NAO informou um digito de 0 a 9");

  puts("\n\n");
  system("PAUSE");
  return 0;
}



PHP ::: Desafios e Lista de Exercícios Resolvidos ::: PHP Básico

Exercícios Resolvidos de PHP - Como calcular salário líquido em PHP - Calculando o salário líquido de um professor

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

Escreva um programa PHP que calcule o salário líquido de um professor. Seu programa deverá solicitar que o usuário informe o valor da hora aula (como double), o número de horas trabalhadas no mês (como inteiro) e o percentual de desconto do INSS (como double). Em seguida mostre o salário líquido, formatado de acordo com a moeda brasileira em vigor (na resolução eu usei o Real).

Sua saída deverá ser parecida com:

Informe o valor da hora aula: 28
Informe o número de horas trabalhadas no mês: 12
Informe o percentual de desconto do INSS: 8
Salário Bruto: R$ 336,00
Total de Descontos: R$ 26,88
Salário Líquido: R$ 309,12
Resposta/Solução:

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

<?php
  // para executar abra uma janela de comando
  // cmd e dispare o comando abaixo:
  // C:\xampp\php>php c:\estudos_php\estudos.php
   
  // para ler a entrada do usuário
  $entrada = fopen("php://stdin","r");
  
  // vamos ler o valor do hora aula
  echo "Informe o valor da hora aula: ";
  $valor_hora_aula = trim(fgets($entrada));
    
  // vamos ler o número de horas trabalhadas no mês
  echo "Informe o número de horas trabalhadas no mês: ";
  $horas_trabalhadas = trim(fgets($entrada));
    
  // vamos ler o percentual de desconto do INSS
  echo "Informe o percentual de desconto do INSS: ";
  $percentual_desconto_INSS = trim(fgets($entrada));
    
  // vamos calcular o salário bruto
  $salario_bruto = $valor_hora_aula * $horas_trabalhadas;
    
  // agora calculamos o total do desconto
  $total_desconto = ($percentual_desconto_INSS / 100) * 
    $salario_bruto;
    
  // finalmente calculamos o salário líquido
  $salario_liquido = $salario_bruto - $total_desconto;
    
  // mostramos o resultado
  echo "Salário Bruto: R$ " . 
    number_format($salario_bruto, 2, ',', '.');
  echo "\nTotal de Descontos: R$ " . 
    number_format($total_desconto, 2, ',', '.');
  echo "\nSalário Líquido: R$ " . 
    number_format($salario_liquido, 2, ',', '.');
?>



Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico

Exercícios Resolvidos de Java - Escreva um programa Java que leia duas notas obtidas por um aluno na disciplina de Algoritmos e Programação de Computadores, o número de aulas ministradas

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

Escreva um programa Java que leia duas notas obtidas por um aluno na disciplina de Algoritmos e Programação de Computadores, o número de aulas ministradas e o número de aulas assistidas por este aluno nesta disciplina. Calcule e mostre a média final deste aluno e diga se ele foi aprovado ou reprovado. Considere que para um aluno ser aprovado ele deve obter média final igual ou maior a 6,0 e ter no mínimo 75% de frequência.

Importante: Seu código Java deverá validar os dados de entrada para que as notas não sejam menores que zero nem maiores que 10. Além disso, o número de aulas assistidas não pode ser maior que o número de aulas ministradas.

Seu programa Java deverá exibir uma saída parecida com:

Informe a primeira nota: 9
Informe a segunda nota: 7
Quantidade de aulas ministradas: 20
Quantidade de aulas assistidas: 17
Aluno aprovado com média 8.0 e frequencia 85.0%
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 ler as duas notas do aluno
    System.out.print("Informe a primeira nota: ");
    double n1 = Double.parseDouble(entrada.nextLine());
    System.out.print("Informe a segunda nota: ");
    double n2 = Double.parseDouble(entrada.nextLine());
    
    // vamos ler a quantidade de aulas ministradas
    System.out.print("Quantidade de aulas ministradas: ");
    int aulas_ministradas = Integer.parseInt(entrada.nextLine());
    
    // agora a quantidade de aulas assistidas pelo aluno
    System.out.print("Quantidade de aulas assistidas: ");
    int aulas_assistidas = Integer.parseInt(entrada.nextLine());
    
    // agora temos que validar as informações inseridas
    if((n1 < 0) || (n1 > 10)){
      System.out.println("\nA nota n1 é inválida");
    }
    else if((n2 < 0) || (n2 > 10)){
      System.out.println("\nA nota n2 é inválida");
    }
    else if(aulas_assistidas > aulas_ministradas){
      System.out.println("Aulas assistidas maior que aulas ministradas");
    }
    else{
      // vamos calcular a média do aluno
      double media = (n1 + n2) / 2;
      // vamos calcular a frequencia
      double frequencia = (aulas_assistidas / (double)aulas_ministradas) * 100;
      
      // vamos testar a aprovação do aluno agora
      if((media >= 6.0) && (frequencia >= 75)){
        System.out.println("Aluno aprovado com média " + media +
          " e frequencia " + frequencia + "%");
      }
      else{
        System.out.println("Aluno reprovado com média " + media +
          " e frequencia " + frequencia + "%");
      }
    }
  }
}



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

Como validar uma data em Java usando a classe GregorianCalendar

Quantidade de visualizações: 13178 vezes
Esta dica mostra a você como validar uma data em Java usando a classe GregorianCalendar. Veja que estamos usando o método set() para atribuir valores aos campos ano, mês e dia. Contudo, o valor para o dia está incorreto. Desta forma, ao chamarmos o método getTime() uma exceção do tipo IllegalArgumentException será lançada. Veja o código:

import java.util.*;

public class Estudos{ 
  public static void main(String args[]){ 
    try{
      GregorianCalendar data = new GregorianCalendar();
      data.setLenient(false);
      data.set(GregorianCalendar.YEAR, 2008); // ano
      data.set(GregorianCalendar.MONTH, 11); // mês
      // dia inválido
      data.set(GregorianCalendar.DATE, 32);
      
      // a validação da data ocorre aqui
      Date temp = data.getTime();
    }
    catch(Exception e){
      System.out.println("Data inválida.");
      e.printStackTrace();
    }
  } 
}

Ao executarmos este código teremos o seguinte resultado:

Data inválida.
java.lang.IllegalArgumentException: DAY_OF_MONTH
at java.util.GregorianCalendar.computeTime(Unknown 
Source)
at java.util.Calendar.updateTime(Unknown Source)
at java.util.Calendar.getTimeInMillis(Unknown Source)
at java.util.Calendar.getTime(Unknown Source)
at Estudos.main(Estudos.java:14)



Java ::: Classes e Componentes ::: JComboBox

Como classificar os itens de um JComboBox do Java Swing em ordem alfabética

Quantidade de visualizações: 10610 vezes
Este exemplo mostra como ordenar os itens de um JComboBox do Java Swing. A melhor forma de fazer isso é ordenando o array de strings antes de passá-lo para o construtor da classe JComboBox.
Se novos itens forem inseridos em tempo de execução, a melhor saída é extender a classe DefaultComboBoxModel e fornecer tal funcionalidade.

Veja o código Java completo para o exemplo:

package estudos;

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

public class Estudos extends JFrame{
  public Estudos(){
    super("A classe JComboBox");
    
    Container c = getContentPane();
    c.setLayout(new FlowLayout(FlowLayout.LEFT));
    
    // Cria o array que armazenará os itens do
    // combo box
    String[] nomes = {"Osmar", "Cristina", "Antônio",
      "Marcela", "Joaquim"};  
 
    // ordena os itens
    Arrays.sort(nomes);

    // Cria o JComboBox
    JComboBox combo = new JComboBox(nomes);

    // Adiciona o JComboBox à janela
    c.add(combo);

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



Java ::: Desafios e Lista de Exercícios Resolvidos ::: Internet, LAN e E-Mail

Exercícios Resolvidos de Java - Como testar se há um serviço sendo executado em uma porta de um servidor ou máquina local

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

Este exercício resolvido é sobre Internet, Rede e E-Mail usando programação Java.

Escreva um programa Java console ou GUI que peça ao usuário para informar um número de porta na máquina local. Em seguida, tente se conectar a esta porta e informe se há algum serviço sendo executado na porta informada. A entrada e saída do programa pode ser algo como:

Informe o número da porta a ser pesquisada: 3306
Há um serviço na porta informada

Informe o número da posta a ser pesquisada: 2040
Não há nenhum serviço na porta informada
Dica: A forma mais simples de realizar esta tarefa é usando a classe Socket.

Resposta/Solução:

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

package estudos;

import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Scanner;

public class Main {
  public static void main(String[] args){
    Socket socket; // vamos declarar um objeto da classe Socket
    String host = "localhost"; // define o nome da máquina host

    // vamos pedir ao usuário que informe a porta a ser pesquisada
    Scanner entrada = new Scanner(System.in);
    System.out.print("Informe o número da posta a ser pesquisada: ");
    int porta = Integer.parseInt(entrada.nextLine());

    // vamos verificar se há algum serviço na porta informada
    try{
      socket = new Socket(host, porta);
      System.out.println("Há um serviço na porta informada");
    }
    catch (UnknownHostException e) { // não foi possível encontrar a máquina host
       System.out.println("Não foi possível encontrar a máquina host: " + e);
    }
    catch (IOException e) {
      System.out.println("Não há nenhum serviço na porta informada");
    }
  }
}

Veja que, neste exercício, podemos ter o surgimento de duas exceções: UnknownHostException (a máquina informada não pôde ser encontrada) e IOException (houve erro de entrada e/ou saída). Por esta razão, é uma boa idéia envolver o código em um bloco try...catch.

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



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