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:




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

Como calcular a norma ou módulo de vetores nos espaços R2 e R3 usando Java - Geometria Analítica e Álgebra Linear usando Java

Quantidade de visualizações: 2455 vezes
Em Geometria Analítica e Álgebra Linear, a magnitude, norma, comprimento, tamanho ou módulo (também chamado de intensidade na Física) de um vetor é o seu comprimento, que pode ser calculado por meio da distância de seu ponto final a partir da origem, no nosso caso (0,0).

Considere o seguinte vetor no plano, ou seja, no espaço bidimensional, ou R2:

\[\vec{v} = \left(7, 6\right)\]

Aqui este vetor se inicia na origem (0, 0) e vai até as coordenadas (x = 7) e (y = 6). Veja sua plotagem no plano 2D:



Note que na imagem já temos todas as informações que precisamos, ou seja, o tamanho desse vetor é 9 (arredondado) e ele faz um ângulo de 41º (graus) com o eixo x positivo. Em linguagem mais adequada da trigonometria, podemos dizer que a medida do cateto oposto é 6, a medida do cateto adjacente é 7 e a medida da hipotenusa (que já calculei para você) é 9.

Note que já mostrei também o ângulo theta (__$\theta__$) entre a hipotenusa e o cateto adjacente, o que nos dá a inclinação da reta representada pelos pontos (0, 0) e (7, 6).

Relembrando nossas aulas de trigonometria nos tempos do colegial, temos que o quadrado da hipotenusa é a soma dos quadrados dos catetos, ou seja, o Teorema de Pitágoras:

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

Como sabemos que a potenciação é o inverso da radiciação, podemos escrever essa fórmula da seguinte maneira:

\[a = \sqrt{b^2 + c^2}\]

Passando para os valores x e y que já temos:

\[a = \sqrt{7^2 + 6^2}\]

Podemos comprovar que o resultado é 9,21 (que arredondei para 9). Não se esqueça da notação de módulo ao apresentar o resultado final:

\[\left|\vec{v}\right| = \sqrt{7^2 + 6^2}\]

E aqui está o código Java que nos permite informar os valores x e y do vetor e obter o seu comprimento, tamanho ou módulo:

package arquivodecodigos;

import java.util.Scanner;

public class Estudos{
  public static void main(String args[]){
    Scanner entrada = new Scanner(System.in);
    
    // vamos ler os valores x e y
    System.out.print("Informe o valor de x: ");
    double x = Double.parseDouble(entrada.nextLine());
    System.out.print("Informe o valor de y: ");
    double y = Double.parseDouble(entrada.nextLine());
    
    // vamos calcular a norma do vetor
    double norma = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2));
    
    // mostra o resultado
    System.out.println("A norma do vetor é: " + norma);
  }
}

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

Informe o valor de x: 7
Informe o valor de y: 6
A norma do vetor é: 9.219544457292887

Novamente note que arredondei o comprimento do vetor para melhor visualização no gráfico. Para calcular a norma de um vetor no espaço, ou seja, no R3, basta acrescentar o componente z no cálculo.


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

Como somar os elementos da diagonal principal de uma matriz em Java

Quantidade de visualizações: 2948 vezes
A Matriz quadrada é um tipo especial de matriz que possui o mesmo número de linhas e o mesmo número de colunas, ou seja, dada uma matriz Anxm, ela será uma matriz quadrada se, e somente se, n = m, onde n é o número de linhas e m é o número de colunas.

Em geral as matrizes quadradas são chamadas de Matrizes de Ordem n, onde n é o número de linhas e colunas. Dessa forma, uma matriz de ordem 4 é uma matriz que possui 4 linhas e quatro colunas.

Toda matriz quadrada possui duas diagonais, e elas são muito exploradas tanto na matemática quanto na construção de algorítmos. Essas duas diagonais são chamadas de Diagonal Principal e Diagonal Secundária.

A diagonal principal de uma matriz quadrada une o seu canto superior esquerdo ao canto inferior direito. Veja:



Nesta dica veremos como calcular a soma dos valores dos elementos da diagonal principal de uma matriz usando Java. Para isso, só precisamos manter em mente que a diagonal principal de uma matriz A é a coleção das entradas Aij em que i é igual a j. Assim, tudo que temos a fazer é converter essa regra para código Java.

Veja um trecho de código Java completo no qual pedimos para o usuário informar os elementos da matriz e em seguida mostramos a soma dos elementos da diagonal superior:

package arquivodecodigos;
 
import java.util.Scanner;
 
public class Estudos{
  public static void main(String[] args) {
    // vamos fazer a leitura usando a classe Scanner
    Scanner entrada = new Scanner(System.in);
     
    // vamos declarar e construir uma matriz de três linhas e três colunas
    int matriz[][] = new int[3][3];
    int soma_diagonal = 0; // guarda a soma dos elementos na diagonal principal
     
    // vamos ler os valores para os elementos da matriz
    for(int i = 0; i < matriz.length; i++){ // linhas
      for(int j = 0; j < matriz[0].length; j++){ // colunas
        System.out.print("Informe o valor para a linha " + i + " e coluna " 
          + j + ": ");
        matriz[i][j] = Integer.parseInt(entrada.nextLine());       
      }       
    }
     
    // vamos mostrar a matriz da forma que ela
    // foi informada
    System.out.println();
    // percorre as linhas
    for(int i = 0; i < matriz.length; i++){ 
      // percorre as colunas
      for(int j = 0; j < matriz[0].length; j++){ 
        System.out.printf("%5d ", matriz[i][j]);
      }
      // passa para a próxima linha da matriz
      System.out.println();
    }
     
    // vamos calcular a soma dos elementos da diagonal   
    // principal
    for(int i = 0; i < matriz.length; i++){
      for(int j = 0; j < matriz[0].length; j++){
        if(i == j){
          soma_diagonal = soma_diagonal + matriz[i][j];
        }
      }
    }
     
    // finalmente mostramos a soma da diagonal principal
    System.out.println("\nA soma dos elementos da diagonal principal é: " 
      + soma_diagonal);
  }
}

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

Informe o valor para a linha 0 e coluna 0: 3
Informe o valor para a linha 0 e coluna 1: 7
Informe o valor para a linha 0 e coluna 2: 9
Informe o valor para a linha 1 e coluna 0: 2
Informe o valor para a linha 1 e coluna 1: 4
Informe o valor para a linha 1 e coluna 2: 1
Informe o valor para a linha 2 e coluna 0: 5
Informe o valor para a linha 2 e coluna 1: 6
Informe o valor para a linha 2 e coluna 2: 8

    3     7     9 
    2     4     1 
    5     6     8 

A soma dos elementos da diagonal principal é: 15



Java ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Como retornar o menor valor em um array de inteiros em Java

Quantidade de visualizações: 1231 vezes
Nesta dica eu mostro como obter o menor valor em um array (vetor) de inteiros. Veja o código completo para o exemplo:

 
package arquivodecodigos;
 
public class Estudos{
  public static void main(String[] args){
    int[] valores = new int[5];
  
    // inicializa os elementos do array
    valores[0] = 23;
    valores[1] = 65;
    valores[2] = 2;
    valores[3] = 87;
    valores[4] = 34;
     
    // obtém o menor valor
    int menor = menor(valores);
     
    System.out.println("O menor valor é: " + menor);
   
    System.exit(0);
  }
 
  public static int menor(int[] a){
    int min = a[0];
    for(int i = 1; i < a.length; i++){
      if(a[i] < min){
        min = a[i];
      }
    }
     
    return min;
  }
}

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

O menor valor é: 2


Java ::: Java Swing - Componentes Visuais ::: JList

Como retornar os valores selecionados em uma JList de seleção múltipla do Java Swing usando o método getSelectedValues()

Quantidade de visualizações: 9587 vezes
Nesta dica mostrarei como podemos usar o método getSelectedValues() da classe JList do Java Swing para obter e retornar um vetor (array) contendo os valores selecionados em uma lista de múltipla seleção, ou seja, uma JList que permite a seleção de mais de um elemento por vez.

O método getSelectedValues() retorna um vetor de Object. Note também o uso da constante ListSelectionModel.MULTIPLE_INTERVAL_SELECTION fornecida para o método setSelectionMode() para definir a forma de seleção da JList.

Veja o código Java Swing completo para o exemplo:

package estudos;

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

public class Estudos extends JFrame{
  JList lista;  

  public Estudos() {
    super("A classe JList");
    
    Container c = getContentPane();
    c.setLayout(new FlowLayout(FlowLayout.LEFT));
    
    // Cria os itens da lista
    String nomes[] = {"Carlos", "Marcelo", "Fabiana",
      "Carolina", "Osmar"};

    // Cria a JList
    lista = new JList(nomes);
 
    // Define a seleção múltipla para a lista
    lista.setSelectionMode(
      ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);

    // Um botão que permite obter os valores selecionados
    JButton btn = new JButton("Obter valores selecionados");
    btn.addActionListener(
      new ActionListener(){
        @Override
        public void actionPerformed(ActionEvent e){
          Object[] valores = lista.getSelectedValues();
          String res = "Valores selecionados:\n";

          for(int i = 0; i < valores.length; i++)
            res += valores[i].toString() + "\n";

          JOptionPane.showMessageDialog(null, res);
        }
      }
    );

    // Adiciona a lista à janela
    c.add(new JScrollPane(lista));

    // Adiciona o botão à janela
    c.add(btn);  

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

Mais de um valor pode ser marcado na JList mantendo a tecla Ctrl ou Shift enquanto se clica nos valores desejados.


JavaScript ::: Dicas & Truques ::: Data e Hora

Como retornar a hora em JavaScript usando a função getHours() do objeto Date

Quantidade de visualizações: 7292 vezes
Em várias situações nós precisamos obter as horas a partir de um objeto Date do JavaScript. Para isso nós podemos efetuar uma chamada à sua função getHours(), que retorna um valor que vai de 0 até 23.

Veja o código completo para o exemplo:

<html>
<head>
<title>Estudando JavaScript</title>
</head>
<body>

<script type="text/javascript">
  var data = new Date();
  var hora = data.getHours();
  document.write("O valor da hora é: " + hora);
</script>
 
</body>
</html>

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

O valor da hora é: 14


C ::: Dicas & Truques ::: Matemática e Estatística

Como calcular MDC em C

Quantidade de visualizações: 23867 vezes
Atualmente a definição de Máximo Divisor Comum (MDC) pode ser assim formalizada:

Sejam a, b e c números inteiros não nulos, dizemos que c é um divisor comum de a e b se c divide a (escrevemos c|a) e c divide b (c|b). Chamaremos D(a,b) o conjunto de todos os divisores comum de a e b.

O trecho de código abaixo mostra como calcular o MDC de dois números informados:

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

// função que recebe dois inteiros e retorna
// o Máximo Divisor Comum dos dois 
int MDC(int a, int b){
  int resto;
 
  while(b != 0){
    resto = a % b;
    a = b;
    b = resto;
  }
 
  return a;
} 
 
int main(int argc, char *argv[]){
  int x, y;
	
  setlocale(LC_ALL,""); // para acentos do português
	
  printf("Este programa permite calcular o MDC\n");
  printf("Informe o primeiro número: ");
  scanf("%d", &x);
  printf("Informe o segundo número: ");
  scanf("%d", &y);
 
  printf("O Máximo Divisor Comum de %d e %d é %d",
    x, y, MDC(x, y));
  
  printf("\n\n");
  system("pause");
  return 0;
}

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

Este programa permite calcular o MDC
Informe o primeiro número: 12
Informe o segundo número: 9
O Máximo Divisor Comum de 12 e 9 é 3


PHP ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Como embaralhar os elementos de um array em PHP usando a função shuffle() - Vetores e matrizes em PHP

Quantidade de visualizações: 12705 vezes
Em algumas situações nós precisamos misturar os elementos de um vetor em PHP, ou seja, embaralhar de forma aleatória os elementos. Para isso nós podemos usar a função shuffle(), que recebe um vetor e o devolve com a ordem dos elementos embaralhada de forma randômica.

Veja o exemplo completo:

<html>
<head>
<title>Estudando PHP</title>
</head>
<body>
 
<?php
  $nomes = array("Osmar", "Marcos", "Igor", "Gustavo");
 
  // ordem original
  for($i = 0; $i < count($nomes); $i++){
    echo $nomes[$i] . "<br>";
  }   

  echo "<br>";  
   
  // embaralha o vetor
  shuffle($nomes);
 
  // ordem embaralhada
  for($i = 0; $i < count($nomes); $i++){
    echo $nomes[$i] . "<br>";
  }
?>
 
</body>
</html>

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

Osmar
Marcos
Igor
Gustavo

Gustavo
Osmar
Marcos
Igor


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, ',', '.');
?>



Node.js ::: Express.js ::: Passos Iniciais

Node.js Express.js - Como escrever sua primeira aplicação Express.js

Quantidade de visualizações: 2168 vezes
Se você chegou até esta página vindo(a) de um sistema de busca tal como o Google, saiba que o Express.js é um framework web baseado no núcleo do Node.js, ou seja, antes de experimentar o exemplo abaixo, você deve ter uma instalação funcional do Node.js na sua máquina. Além disso, o módulo express deve estar instalado também, e 100% operacional.

No entanto, se sua instalação do Node.js ainda não tem o express, basta entrar no diretório que você instalou o Node.js e disparar o comando a seguir:

npm install express

Verifique se a instalação foi feita com sucesso e vamos continuar.

Este exemplo é bem simples e requer apenas um arquivo. Para tanto, abra o seu editor de código favorito e digite a listagem abaixo:

// vamos importar o módulo express
var express = require('express');
// o servidor vai ouvir na porta 8081
var porta = 8081;
var app = express();

// o asterisco (*) quer dizer que todas as requisições vão cair aqui
app.get('*', function(request, response){
  response.end('Tamo juntos!');
});

app.listen(porta, function(){
  console.log('O servidor está ouvindo em http://localhost:%s', porta);
});

Salve o arquivo como servidor.js e execute o Node.js. Em seguida abra o seu navegador web no endereço http://localhost:8081 e veja o resultado.

Agora não deixe de ver nossas outras dicas de Node.js e aprender cada vez mais.

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