Exercícios Resolvidos de cmath - Mais matemática com C++

Ver Teoria

Enunciado

Crie um programa que lê a hipotenusa h de um triângulo retângulo e o ângulo α em graus. Este ângulo é formado pela hipotenusa com um dos catetos. Em seguida, imprima o valor dos três lados deste triângulo em ordem crescente.

Dica: lembre-se que o cateto adjacente ao ângulo α terá tamanho c 1   = c o s   α   × h enquanto o cateto oposto terá tamanho c 2   = s e n   α   × h

Passo 1

Vamos lá pessoal. A questão quer que a gente receba a hipotenusa e um ângulo, e com isso calcule os catetos.

No nosso cabeçalho vamos inserir a < c m a t h > .

Então de cara vamos precisar de quatro variáveis do tipo f l o a t , a variável a l p h a para armazenar o ângulo, h para armazenar a hipotenusa, e c 1 e c 2 para guardar o valor dos catetos.

Também precisaremos do valor de π , então vamos criar uma constante f l o a t chamada p i que armazena o valor 3.1415

Passo 2

Agora temos que receber os valores do usuário. Com c o u t e c i n solicitamos que o usuário insira um valor para o ângulo e outro para a hipotenusa.

Passo 3

Belezinha, já temos os valores, então podemos efetuar os cálculos.

Primeiro vamos precisar converter o ângulo de graus para radianos. Da trigonometria, sabemos que para converter usamos a fórmula:

r a d = g r a u s ⋅ π 180

No código teremos:

Para o cálculo dos catetos vamos usar as funções c o s ⁡ ( ) e s i n ⁡ ( ) presentes na biblioteca < c m a t h >

c 1   = c o s c o s   (   a l p h a   )   * h

c 2   = s i n s i n   (   a l p h a   )   * h

No código vamos ter:

Passo 4

Mas a questão não acabou ainda. Agora precisamos exibir os valores de forma crescente!

A hipotenusa sempre é o maior valor, então ela deve ser o último valor a ser exibido. Mas para decidir qual dos catetos é menor ou maior, podemos usar as funções m a x e m i n presentes na biblioteca < c m a t h >

Então primeiro cateto a ser exibido é o menor entre os dois:

O segundo valor a ser exibido é o maior cateto:

E por último exibimos a hipotenusa:

E pronto! A questão está concluída.

Resposta