Elabore um programa que possua uma função definida pelo usuário Tabelaseno, que receba como entrada um vetor de ângulos de 0 a 360 graus, em que os ângulos distam entre si, de 3 graus. No fim da execução do programa, o seu programa deverá mostrar os valores dos ângulos e os senos correspondentes a esses ângulos.
Passo 1
O problema pede um programa em C que tenha uma função definida pelo usuário chamada ) e mostrar numa tabela cada ângulo e o respectivo seno. Para isso vamos precisar de:
Tabelaseno
. Essa função deve receber um vetor de ângulos (de 0 a 360 graus, em passos de
- Um loop em
main
para preencher o vetor de ângulos. - A função
Tabelaseno
que recebe o vetor e seu tamanho e, usando a funçãosin
da<math.h>
, imprime ângulo e seno (convertendo graus em radianos).
Passo 2
Dentro de
main
, declaramos o tamanho do vetor como#define PASSO 3
#define \(MAX_ANGULO\) 360
#define N ((\(MAX_ANGULO\))/PASSO \(+1\))
e criamos um vetor
int angulos[N]
. Usamos um for
para preencher:for (int i \(=0\); i < N; i\(++\)) {
angulos[i] = i * PASSO;
}
Passo 3
Declaramos o protótipo da função antes de
main
:void Tabelaseno(int n, int angulos[]);
e depois implementamos essa função convertendo cada ângulo para radiano via
radianos = angulos[i] * PI / 180.0;
e imprimindo com
printf("%3\(d\circ\)\t%.4f ", angulos[i], sin(radianos));
.Passo 4
Em
main
, após preencher o vetor, chamamos:Tabelaseno(N, angulos);
e encerramos o programa com
return 0;
.Resposta
#include <stdio.h>
#include <math.h>
#define PASSO 3
#define \(MAX_ANGULO\) 360
#define N ((\(MAX_ANGULO\))/PASSO \(+1\))
#define PI 3.141592653589793
/* Protótipo da função que exibe o ângulo e seu seno */
void Tabelaseno(int n, int angulos[]);
int main() {
int angulos[N];
/* Preenche o vetor com 0, 3, 6, ..., 360 */
for (int i \(=0\); i < N; i\(++\)) {
angulos[i] = i * PASSO;
}
/* Chama a função para imprimir a tabela de senos */
Tabelaseno(N, angulos);
return 0;
}
void Tabelaseno(int n, int angulos[]) {
double radianos;
printf("Ângulo\tSeno
");
printf("------\t----
");
for (int i \(=0\); i < n; i\(++\)) {
radianos = angulos[i] * PI / 180.0;
printf("%3\(d\circ\)\t%.4f
", angulos[i], sin(radianos));
}
}