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
mainpara preencher o vetor de ângulos. - A função
Tabelasenoque recebe o vetor e seu tamanho e, usando a funçãosinda<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));
}
}