• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Nuno_Martins

Calcular cosseno

8 mensagens neste tópico

Boas pessoal,

Tenho que fazer um exercicio que dado um angulo em graus calcule o cosseno, seno, tangente e cotangente.

Comecei apenas por tentar o cosseno, só que não estou a conseguir ter o valor correcto.

Eis o que tentei:

public class Exercicio9 {
public static void main(String[] args) {

	int graus = 45;
	double cosseno = 0, seno = 0, tangente = 0, cotangente = 0;

	cosseno = Math.cos(graus);		

	System.out.println("O cosseno de " +graus+ " graus é de " +cosseno);
}

}

Isto dá-me o valor de: 0.5253219888177297

Quando deveria ser: 0.707106....

Nas aulas teóricas da cadeira ainda não demos a biblioteca Math, mas a professora das práticas disse que podíamos usa-la.

Não sei se estou a usa-la de forma correcta... Alguém pode dar uma ajuda?

Cumps.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ui, quando li o tópico pensei que ias usar uma aproximação por série de Taylor e estavas com problemas nisso... Assim fico desiludido...

A razão pela qual estás a obter um valor incorrecto é porque as funções trigonométricas da Math recebem argumentos em radianos (i.e. multiplica o ângulo por pi/180 e calcula cos() disso).

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se tivesses lido a documentação com atenção, tinhas visto que o cos recebe o valor em radianos. :D

EDIT: Damn you, pedrosorio. :(

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se tivesses lido a documentação com atenção, tinhas visto que o cos recebe o valor em radianos. :D

EDIT: Damn you, pedrosorio. :(

I'll be damned!  =P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não li porque comecei à pouco a programar em Java e realmente o IDE quando vou colocando a biblioteca do Math depois diz os parâmetros e como funciona, mas escapou-me a parte das unidades.

De qualquer forma obrigado pela ajuda.

Ficou assim:

public class Exercicio9 {
public static void main(String[] args) {

	int graus = 45;
	double cosseno = 0, seno = 0, tangente = 0, cotangente = 0, radianos = 0;

	radianos = graus * (3.14159265 / 180);			//ou radianos = Math.toRadians(graus);

	cosseno = Math.cos(radianos);
	seno = Math.sin(radianos);
	tangente = Math.tan(radianos);
	cotangente = 1.0 / Math.tan(radianos);

	System.out.println("Para " +graus+ " graus:");
	System.out.println("Cosseno = " +cosseno);
	System.out.println("Seno = " +seno);
	System.out.println("Tangente = " +tangente);
	System.out.println("Cotangente = " +cotangente);
}

}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

graus * (3.14159265 / 180)

Como o graus é int, certifica-te q essa conta não passou para int.

Não me lembro ao certo como é q o java se comporta neste caso.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Obrigado Ferreira  :D

bruno1234 já verifiquei, o resultado sai em double  :(

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora