Exercice langage C : programme qui affiche les valeurs du sinus de tous les angles de 0 à 90 degrés

A. Ecrivez un programme qui affiche les valeurs du sinus de tous les angles de 0 à 90 degrés, par pas de 15 degrés.

On souhaite un affichage de la forme :

sin(0) = 0.000000

sin(15) = 0.258819

sin(30) = 0.500000

sin(90) = 1.000000

B. Modifiez le programme précédent, de sorte qu’il affiche les valeurs du sinus des angles de 0 à 90 degrés, par pas de degrés, où ? est une valeur lue au clavier.

C. Modifiez le programme précédent, afin qu’il affiche les valeurs du sinus des angles de h à i degrés, par pas de degrés, où h, i et ? sont des valeurs lues au clavier.

[1] La seule difficulté est de se rappeler que les fonctions trigonométriques de la bibliothèque requièrent leur argument exprimé en radians (180 degrés = PI radians) alors que nous devons l'afficher en degrés. D'où une conversion à faire au moment de l'appel de la fonction sin :

#include
#include
int a, pi = 4 * atan(1);
main() {
a = 0;
while (a printf("sin(%d) = %f\n", a, sin(a * (pi / 180)));
a = a + 15;
}
}

Notez que ce programme n'a aucune chance de fonctionner si on oublie la ligne « #include » . Cela est dû à la fonction sin, dont la déclaration est donnée dans le fichier math.h (sans cette déclaration le compilateur fait l'hypothèse que sin rend un int, cela ne peut pas être juste).

[2] La bibliothèque mathématique standard ne comporte pas de définition de la constante pi (3.141592653589793 etc.). Une manière d'en obtenir une expression en accord avec les besoins de la bibliothèque consiste à le faire calculer par une fonction de la bibliothèque. Si on se souvient que la tangente de pi / 4 est 1 on en déduit que pi vaut quatre fois l'arc tangente de 1.

[3] On peut rendre ce programme encore plus compact avec l'instruction for

...
main() {
for (a = 0; a printf("sin(%d) = %f\n", a, sin(a * pi / 180));
}

[4] Les versions B et C demandées sont d'infimes variations de ce qui précède. Par exemple, la version C peut être ainsi écrite :

#include
#include
int a, b, p, pi = 4 * atan(1);
main() {
printf("donnez a b p : ");
scanf("%d%d%d", &a, &b, &p);
for ( ; a printf("sin(%d) = %f\n", a, sin(a * pi / 180));
}

Article publié le 25 Février 2012 Mise à jour le Lundi, 07 Novembre 2022 13:45 par BENKIRANE Fatima Ezzahra