Berechnung des Arkussinus (arcsin) in C

CCBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab lernen Sie, wie man die inverse Sinusfunktion (arcsin) in der C-Programmierung berechnet. Das Lab umfasst zwei Hauptschritte: die Eingabe eines gültigen Wertes zwischen -1 und 1 und die Verwendung der Funktion asin() aus der Bibliothek math.h, um den arcsin des Eingabewerts zu berechnen. Das Programm validiert den Eingabebereich und zeigt anschließend den berechneten Winkel in Radiant an. Dieses Lab zielt darauf ab, ein praktisches Verständnis trigonometrischer Berechnungen mit C und der Verwendung der Funktion asin() zu vermitteln.

Einen Wert zwischen -1 und 1 einlesen

In diesem Schritt lernen Sie, wie Sie eine numerische Eingabe zum Berechnen der inversen Sinusfunktion (arcsin) in C einlesen und validieren. Die arcsin-Funktion benötigt Eingabewerte, die streng zwischen -1 und 1 liegen.

Erstellen Sie zunächst eine neue C-Datei für das Programm:

cd ~/project
nano arcsin_input.c

Schreiben Sie nun den folgenden Code, um die Eingabe einzulesen und zu validieren:

#include <stdio.h>

int main() {
    double input;

    printf("Geben Sie einen Wert zwischen -1 und 1 für die arcsin-Berechnung ein: ");
    scanf("%lf", &input);

    // Eingabebereich validieren
    if (input < -1 || input > 1) {
        printf("Fehler: Die Eingabe muss zwischen -1 und 1 liegen.\n");
        return 1;
    }

    printf("Gültige Eingabe empfangen: %f\n", input);

    return 0;
}

Kompilieren und führen Sie das Programm aus:

gcc arcsin_input.c -o arcsin_input
./arcsin_input

Beispielausgabe:

Geben Sie einen Wert zwischen -1 und 1 für die arcsin-Berechnung ein: 0.5
Gültige Eingabe empfangen: 0.500000

In diesem Code:

  • Verwenden wir scanf(), um eine Fließkommazahl doppelter Genauigkeit einzulesen.
  • Wir prüfen, ob die Eingabe im gültigen Bereich von -1 bis 1 liegt.
  • Wir geben eine Fehlermeldung aus, wenn die Eingabe außerhalb des gültigen Bereichs liegt.
  • Wir bestätigen die gültige Eingabe, wenn sie die Kriterien erfüllt.

asin()-Funktion verwenden

In diesem Schritt lernen Sie, wie Sie die asin()-Funktion aus der Bibliothek math.h verwenden, um den Arkussinus (arcsin) eines gültigen Eingabewerts zu berechnen.

Ändern Sie zunächst das vorherige Programm, um die asin()-Funktion einzuschließen:

cd ~/project
nano arcsin_calculation.c

Schreiben Sie den folgenden Code, um das arcsin-Ergebnis zu berechnen und anzuzeigen:

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

int main() {
    double input;

    printf("Geben Sie einen Wert zwischen -1 und 1 für die arcsin-Berechnung ein: ");
    scanf("%lf", &input);

    // Eingabebereich validieren
    if (input < -1 || input > 1) {
        printf("Fehler: Die Eingabe muss zwischen -1 und 1 liegen.\n");
        return 1;
    }

    // arcsin mithilfe der asin()-Funktion berechnen
    double result = asin(input);

    printf("Eingabe: %f\n", input);
    printf("Ergebnis arcsin: %f Radiant\n", result);

    return 0;
}

Kompilieren Sie das Programm mit der Mathematikbibliothek:

gcc arcsin_calculation.c -o arcsin_calculation -lm

Führen Sie das Programm aus und testen Sie es mit verschiedenen Eingaben:

./arcsin_calculation

Beispielausgabe:

Geben Sie einen Wert zwischen -1 und 1 für die arcsin-Berechnung ein: 0.5
Eingabe: 0.500000
Ergebnis arcsin: 0.523599 Radiant

Wichtige Punkte zur asin()-Funktion:

  • Definiert in der Bibliothek math.h
  • Nimmt einen Wert zwischen -1 und 1 als Eingabe entgegen
  • Gibt den Winkel in Radiant zurück
  • Benötigt das Verlinken mit dem Flag -lm während der Kompilierung

Ausgabe des Winkels in Radiant

In diesem Schritt lernen Sie, wie Sie das arcsin-Ergebnis in verschiedene Winkeldarstellungen umrechnen und ausgeben, einschließlich Radiant und Grad.

Ändern Sie das vorherige Programm, um die Gradumrechnung einzubeziehen:

cd ~/project
nano arcsin_angle_conversion.c

Schreiben Sie den folgenden Code, um Winkel in Radiant und Grad anzuzeigen:

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

#define PI 3.14159265358979323846

int main() {
    double input;

    printf("Geben Sie einen Wert zwischen -1 und 1 für die arcsin-Berechnung ein: ");
    scanf("%lf", &input);

    // Eingabebereich validieren
    if (input < -1 || input > 1) {
        printf("Fehler: Die Eingabe muss zwischen -1 und 1 liegen.\n");
        return 1;
    }

    // arcsin berechnen
    double radian_result = asin(input);

    // Radiant in Grad umrechnen
    double degree_result = radian_result * (180.0 / PI);

    // Ergebnisse mit Formatierung ausgeben
    printf("Eingabe: %f\n", input);
    printf("Ergebnis arcsin (Radiant): %f\n", radian_result);
    printf("Ergebnis arcsin (Grad): %f\n", degree_result);

    return 0;
}

Kompilieren Sie das Programm:

gcc arcsin_angle_conversion.c -o arcsin_angle_conversion -lm

Führen Sie das Programm aus und testen Sie es:

./arcsin_angle_conversion

Beispielausgabe:

Geben Sie einen Wert zwischen -1 und 1 für die arcsin-Berechnung ein: 0.5
Eingabe: 0.500000
Ergebnis arcsin (Radiant): 0.523599
Ergebnis arcsin (Grad): 30.000000

Wichtige Punkte zur Winkelumrechnung:

  • Radiant ist der Standardrückgabetyp von asin().
  • Umrechnung in Grad: Multiplizieren Sie mit (180/π).
  • Verwenden Sie #define PI, um eine präzise Umrechnung zu gewährleisten.
  • Die Formatierung verbessert die Lesbarkeit der Ergebnisse.

Zusammenfassung

In diesem Labor haben Sie gelernt, wie man numerische Eingabewerte zwischen -1 und 1 liest und validiert, was für die Berechnung der inversen Sinusfunktion (arcsin) in C erforderlich ist. Anschließend haben Sie die asin()-Funktion aus der Bibliothek math.h verwendet, um den Arkussinus des gültigen Eingabewerts zu berechnen, und das Ergebnis in Radiant ausgegeben.

Die wichtigsten Lernpunkte sind: 1) die Validierung des Eingabebereichs, um sicherzustellen, dass er innerhalb des gültigen Bereichs von -1 bis 1 liegt, und 2) die Verwendung der asin()-Funktion zur Berechnung des Arkussinus des Eingabewerts.