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

Exercice langage C
[tab name=’Exercice langage C’]

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.

[/tab][tab name=’Correction’]

[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 <= 90) {
        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).

LIRE AUSSI :  Exercice langage C: Déterminer les erreurs commises dans un programme

[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 <= 90; a = a + 15)
        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 <= b; a = a + p)
        printf("sin(%d) = %f\n", a, sin(a * pi / 180));
}

Exercice langage C

[/tab][end_tabset skin= »ginger » ]

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *