Calculer le Sinus Inverse (arcsin) en C

CBeginner
Pratiquer maintenant

Introduction

Dans ce laboratoire, vous apprendrez à calculer la fonction sinus inverse (arcsin) en programmation C. Le laboratoire couvre deux étapes principales : la lecture d'une valeur d'entrée valide comprise entre -1 et 1, et l'utilisation de la fonction asin() de la bibliothèque math.h pour calculer l'arcsin de l'entrée. Le programme validera la plage d'entrée, puis affichera l'angle calculé en radians. Ce laboratoire vise à fournir une compréhension pratique des calculs trigonométriques en C et de l'utilisation de la fonction asin().

Lecture d'une valeur comprise entre -1 et 1

Dans cette étape, vous apprendrez à lire et valider une entrée numérique pour calculer la fonction sinus inverse (arcsin) en C. La fonction arcsin nécessite des valeurs d'entrée strictement comprises entre -1 et 1.

Tout d'abord, créez un nouveau fichier C pour le programme :

cd ~/project
nano arcsin_input.c

Maintenant, écrivez le code suivant pour lire et valider l'entrée :

#include <stdio.h>

int main() {
    double input;

    printf("Entrez une valeur comprise entre -1 et 1 pour le calcul de l'arcsin : ");
    scanf("%lf", &input);

    // Valider la plage d'entrée
    if (input < -1 || input > 1) {
        printf("Erreur : L'entrée doit être comprise entre -1 et 1.\n");
        return 1;
    }

    printf("Entrée valide reçue : %f\n", input);

    return 0;
}

Compilez et exécutez le programme :

gcc arcsin_input.c -o arcsin_input
./arcsin_input

Exemple de sortie :

Entrez une valeur comprise entre -1 et 1 pour le calcul de l'arcsin : 0.5
Entrée valide reçue : 0.500000

Dans ce code, nous :

  • Utilisons scanf() pour lire un nombre à virgule flottante double précision
  • Vérifions si l'entrée se trouve dans la plage valide de -1 à 1
  • Affichons un message d'erreur si l'entrée est en dehors de la plage valide
  • Confirmons l'entrée valide lorsqu'elle répond aux critères

Utilisation de la fonction asin()

Dans cette étape, vous apprendrez à utiliser la fonction asin() de la bibliothèque math.h pour calculer le sinus inverse (arcsin) d'une valeur d'entrée valide.

Tout d'abord, modifiez le programme précédent pour inclure la fonction asin() :

cd ~/project
nano arcsin_calculation.c

Écrivez le code suivant pour calculer et afficher le résultat de l'arcsin :

#include <stdio.h>
#include <math.h>

int main() {
    double input;

    printf("Entrez une valeur comprise entre -1 et 1 pour le calcul de l'arcsin : ");
    scanf("%lf", &input);

    // Valider la plage d'entrée
    if (input < -1 || input > 1) {
        printf("Erreur : L'entrée doit être comprise entre -1 et 1.\n");
        return 1;
    }

    // Calculer l'arcsin à l'aide de la fonction asin()
    double result = asin(input);

    printf("Entrée : %f\n", input);
    printf("Résultat arcsin : %f radians\n", result);

    return 0;
}

Compilez le programme avec la bibliothèque mathématique :

gcc arcsin_calculation.c -o arcsin_calculation -lm

Exécutez le programme et testez avec différentes entrées :

./arcsin_calculation

Exemple de sortie :

Entrez une valeur comprise entre -1 et 1 pour le calcul de l'arcsin : 0.5
Entrée : 0.500000
Résultat arcsin : 0.523599 radians

Points clés concernant la fonction asin() :

  • Définie dans la bibliothèque math.h
  • Prend une valeur comprise entre -1 et 1 en entrée
  • Renvoie l'angle en radians
  • Nécessite le flag -lm lors de la compilation.

Affichage de l'angle en radians

Dans cette étape, vous apprendrez à convertir et afficher le résultat de l'arcsin dans différentes représentations d'angle, y compris les radians et les degrés.

Modifiez le programme précédent pour inclure la conversion en degrés :

cd ~/project
nano arcsin_angle_conversion.c

Écrivez le code suivant pour afficher les angles en radians et en degrés :

#include <stdio.h>
#include <math.h>

#define PI 3.14159265358979323846

int main() {
    double input;

    printf("Entrez une valeur comprise entre -1 et 1 pour le calcul de l'arcsin : ");
    scanf("%lf", &input);

    // Valider la plage d'entrée
    if (input < -1 || input > 1) {
        printf("Erreur : L'entrée doit être comprise entre -1 et 1.\n");
        return 1;
    }

    // Calculer l'arcsin
    double radian_result = asin(input);

    // Convertir les radians en degrés
    double degree_result = radian_result * (180.0 / PI);

    // Afficher les résultats avec un formatage
    printf("Entrée : %f\n", input);
    printf("Résultat arcsin (radians) : %f\n", radian_result);
    printf("Résultat arcsin (degrés) : %f\n", degree_result);

    return 0;
}

Compilez le programme :

gcc arcsin_angle_conversion.c -o arcsin_angle_conversion -lm

Exécutez le programme et testez-le :

./arcsin_angle_conversion

Exemple de sortie :

Entrez une valeur comprise entre -1 et 1 pour le calcul de l'arcsin : 0.5
Entrée : 0.500000
Résultat arcsin (radians) : 0.523599
Résultat arcsin (degrés) : 30.000000

Points clés sur la conversion d'angles :

  • Les radians sont le type de retour par défaut de asin()
  • Conversion en degrés : multiplier par (180/π)
  • Utilisez #define PI pour une conversion précise
  • Le formatage améliore la lisibilité des résultats

Résumé

Dans ce laboratoire, vous avez appris à lire et valider une valeur numérique d'entrée comprise entre -1 et 1, ce qui est requis pour calculer la fonction sinus inverse (arcsin) en C. Vous avez ensuite utilisé la fonction asin() de la bibliothèque math.h pour calculer l'arcsin de l'entrée valide et afficher le résultat en radians.

Les points clés de l'apprentissage sont : 1) la validation de la plage d'entrée pour s'assurer qu'elle se situe dans la plage valide de -1 à 1, et 2) l'utilisation de la fonction asin() pour calculer le sinus inverse de la valeur d'entrée.