Forneço ajuda em Java, C/C++, Python, C#, Delphi, VB.NET
+55 (062) 98553-6711
Forneço ajuda em PHP, Python, C#, Google Ads e SEO
+55 (062) 98243-1195

Você está aqui: C# ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas

Como calcular o cosseno de um ângulo em C# usando a função Cos() da classe Math - Calculadora de cosseno em C#

Quantidade de visualizações: 1590 vezes
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 C#. Esta função, que é um método da classe Math, recebe um valor numérico Double e retorna um valor Double, ou seja, também numérico) entre -1 até 1 (ambos inclusos). Veja:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

using System;
using System.Collections;

namespace Estudos {
  class Program {
    static void Main(string[] args) {
      // vamos calcular o cosseno de três números
      Console.WriteLine("Cosseno de 0 = " + Math.Cos(0));
      Console.WriteLine("Cosseno de 1 = " + Math.Cos(1));
      Console.WriteLine("Cosseno de 2 = " + Math.Cos(2));

      Console.WriteLine("\nPressione qualquer tecla para sair...");
      // pausa o programa
      Console.ReadKey();
    }
  }
}

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

Cosseno de 0 = 1
Cosseno de 1 = 0,5403023058681397
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:



Link para compartilhar na Internet ou com seus amigos:

Java ::: Dicas & Truques ::: Mouse e Teclado

Como verificar se Num Lock está ativado no seu teclado usando o método getLockingKeyState() da classe Toolkit da linguagem Java

Quantidade de visualizações: 8139 vezes
Nesta dica mostrarei como é possível verificar se Num Lock está ativado no seu teclado. Para isso nós podemos usar o método getLockingKeyState() da classe Toolkit, do pacote java.awt.

Veja o exemplo completo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

package arquivodecodigos;

import java.awt.Toolkit;
import java.awt.event.*;
 
public class Estudos{
  public static void main(String[] args){
    Toolkit tk = Toolkit.getDefaultToolkit();    
     
    if(tk.getLockingKeyState(KeyEvent.VK_NUM_LOCK)){
      System.out.println("Num Lock está ativado");
    }  
    else{
      System.out.println("Num Lock não está ativado");    
    } 

    System.exit(0);
  }
}

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

Num Lock não está ativado


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

Tenha cuidado com os limites dos índices de um vetor ou matriz na linguagem C

Quantidade de visualizações: 9572 vezes
Um erro muito comum em programas C ocorre quando não atentamos para os limites dos índices de um vetor ou matriz. Como sabemos, os índices iniciam em 0 e vão até o tamanho do vetor menos 1. Porém, ao contrário de outras linguagens, o C (compiladores sendo usados em 2007 e 2008) não evita que este limite seja ultrapassado. O resultado disso é que o programa acaba lendo posições de memória inexistentes ou pertecentes a outros programas.

Veja um trecho de código no qual acessamos uma posição inválida no vetor valores. Este código foi testado no MinGW 3.4.2 e compilou e executou sem qualquer mensagem de advertência.

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

#include <stdio.h>
#include <stdlib.h>
 
int main(int argc, char *argv[])
{
  // array com 5 inteiros
  int valores[] = {23, 6, 45, 9, 3};
 
  // acessa um índice além dos limites do array
  // lembre-se de que os índices iniciam em 0
  int valor = valores[5];
 
  // exibe o resultado
  printf("%d\n\n", valor);
 
  system("PAUSE");
  return 0;
}

Ao executar este código nós teremos o seguinte resultado (o seu vai ser diferente, é claro):

-858993460

Minha recomendação é: se você quer mesmo programar na linguagem C, crie uma forma de impedir o acesso à índices inválidos. Se isso acontecer, os resultados exibidos pelos seus programas poderão ser realmente inesperados.


Java ::: Coleções (Collections) ::: LinkedList

Java Collections - Como adicionar elementos no final de uma LinkedList usando os métodos add() e addLast()

Quantidade de visualizações: 9022 vezes
O trecho de código a seguir mostra como adicionar elementos no final de um lista ligada (objeto da classe LinkedList). Para isso podemos usar os métodos add() e addLast(). Ambos possuem a mesma funcionalidade. É claro que addLast() representa melhor a idéia de adicionar elementos no final da lista ligada. Veja ainda como usar um ListIterator para percorrer a lista e exibir os elementos. Outra técnica que você perceberá é o uso de unboxing dentro do laço while:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

import java.util.*;
 
public class Estudos{ 
  public static void main(String args[]){ 
    // Cria uma LinkedList de inteiros
    LinkedList<Integer> valores = new 
      LinkedList<Integer>();
     
    // adiciona valores no final da lista ligada 
    // usando os métodos add() e addLast(). Lembre-se 
    // de que ambos fornecem a mesma funcionalidade
    valores.add(56);
    valores.addLast(3);
    valores.add(28);
 
    // obtém um ListIterator para percorrer toda a
    // lista ligada, começando no primeiro elemento
    ListIterator<Integer> iterador = 
      valores.listIterator(0);
    while(iterador.hasNext()){  
      // note o unboxing aqui
      int valor = iterador.next(); 
      System.out.println(valor); 
    }
  } 
}

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

56
3
28


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

Como adicionar um ou mais elementos ao início de um vetor JavaScript usando o método unshift() do objeto Array - [Revisado]

Quantidade de visualizações: 6883 vezes
O método unshift(), presente no JavaScript desde sua versão 1.2, é usado quando queremos adicionar um ou mais elementos no início de um vetor (array). Veja:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

<script type="text/javascript">
  var valores = new Array(1, 2, 3, 4, 5);
  document.write("Valores no vetor: " + valores + "<br>");
  valores.unshift(6);
  document.write("Novos valores no vetor: " + valores);
</script>

Aqui nós adicionamos o valor 6 no início do vetor. Veja agora como adicionar três valores no início do vetor:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

<script type="text/javascript">
  var valores = new Array(1, 2, 3, 4, 5);
  window.alert("Valores no vetor: " + valores);
  valores.unshift(6, 7, 8);
  window.alert("Novos valores no vetor: " + valores);
</script>

É importante observar que a função unshift() modifica o vetor original, e seu retorno é a nova quantidade de elementos no vetor.


Dart ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle

Exercícios Resolvidos de Dart - Ler os lados de um triângulo e informar se ele é isósceles, escaleno ou equilátero

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

Um triângulo é uma forma geométrica (polígono) composta de três lados, sendo que cada lado é menor que a soma dos outros dois lados. Assim, para que um triângulo seja válido, é preciso que seus lados A, B e C obedeçam à seguinte regra:

A < (B + C), B < (A + C) e C < (A + B).

Escreva um programa Dart que leia os três lados de um triângulo e verifique se tais valores realmente formam um triângulo. Se o teste for satisfatório, informe se o triângulo é isósceles (dois lados iguais e um diferente), escaleno (todos os lados diferentes) ou equilátero (todos os lados iguais).

Sua saída deverá ser parecida com:

Informe o primeiro lado do triângulo: 30
Informe o segundo lado do triângulo: 40
Informe o terceiro lado do triângulo: 60
O triângulo é escaleno
Resposta/Solução:

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

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

// Vamos importar a biblioteca dart:io
import 'dart:io';
 
void main(){
  // vamos ler o primeiro lado do triângulo
  stdout.write("Informe o primeiro lado do triângulo: ");
  int lado_a = int.parse(stdin.readLineSync());

  // vamos ler o segundo lado do triângulo
  stdout.write("Informe o segundo lado do triângulo: ");
  int lado_b = int.parse(stdin.readLineSync());  

  // vamos ler o terceiro lado do triângulo
  stdout.write("Informe o terceiro lado do triângulo: ");
  int lado_c = int.parse(stdin.readLineSync());
  
  // os lados informados formam um triângulo?
  if((lado_a < (lado_b + lado_c)) && (lado_b < (lado_a + lado_c)) 
    && (lado_c < (lado_a + lado_b))){
    // é um triângulo equilátero (todos os lados iguais)?
    if((lado_a == lado_b) && (lado_b == lado_c)){
      stdout.write("\nO triângulo é equilátero\n");  
    }
    else{
      // é isósceles (dois lados iguais e um diferente)?
      if((lado_a == lado_b) || (lado_a == lado_c) || (lado_c == lado_b)){
        stdout.write("\nO triângulo é isósceles\n");  
      }
      else{
        // é escaleno
        stdout.write("\nO triângulo é escaleno\n");
      }
    }
  }
  else{
    stdout.write("\nOs lados informados não formam um triângulo.\n");
  }
}



Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Dart

Veja mais Dicas e truques de Dart

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



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