Inverse Kosinus (arccos) in C berechnen

CCBeginner
Jetzt üben

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

Einführung

In diesem Labor lernen Sie, wie man die inverse Kosinusfunktion (arccos) in C berechnet. Das Labor umfasst zwei Hauptschritte: die Eingabe eines gültigen Wertes zwischen -1 und 1 und die Verwendung der Funktion acos() aus der C-Mathematkbibliothek, um den arccos des Eingabewerts zu berechnen. Die schrittweisen Anweisungen bieten eine umfassende Anleitung zur Eingabevalidierung und zur Durchführung der arccos-Berechnung, um sicherzustellen, dass Sie ein solides Verständnis dieser trigonometrischen Operation in der C-Programmierung haben.

Einen Wert zwischen -1 und 1 einlesen

In diesem Schritt lernen Sie, wie Sie einen gültigen Eingabewert für die Berechnung der inversen Kosinusfunktion (arccos) in C einlesen. Die arccos-Funktion benötigt Eingabewerte zwischen -1 und 1.

Erstellen Sie zunächst eine neue C-Datei, um die Eingabevalidierung zu demonstrieren:

cd ~/project
nano arccos_input.c

Fügen Sie nun folgenden Code in die Datei ein:

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

int main() {
    double input;

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

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

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

Kompilieren und führen Sie das Programm aus:

gcc arccos_input.c -o arccos_input -lm

Beispielausgaben:

Gültige Eingabe:

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

Ungültige Eingabe:

Geben Sie einen Wert zwischen -1 und 1 für die arccos-Berechnung ein: 2
Fehler: Die Eingabe muss zwischen -1 und 1 liegen

Dieser Code demonstriert:

  • Die Verwendung von scanf() zum Einlesen einer Fließkommazahl doppelter Genauigkeit
  • Die Validierung der Eingabe, um sicherzustellen, dass sie im gültigen Bereich für arccos liegt
  • Benutzerfreundliche Fehlermeldungen für ungültige Eingaben

acos()-Funktion verwenden

In diesem Schritt lernen Sie, wie Sie die acos()-Funktion aus der C-Mathematkbibliothek verwenden, um den inversen Kosinus (arccos) eines gegebenen Eingabewerts zu berechnen.

Arbeiten Sie im selben Projektverzeichnis weiter und modifizieren Sie das vorherige Programm:

cd ~/project
nano arccos_calculation.c

Fügen Sie folgenden Code hinzu, um die arccos-Berechnung zu implementieren:

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

int main() {
    double input;

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

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

    // arccos berechnen
    double winkel_in_radianten = acos(input);

    printf("Eingabewert: %f\n", input);
    printf("Arccos (in Radiant): %f\n", winkel_in_radianten);

    return 0;
}

Kompilieren Sie das Programm:

gcc arccos_calculation.c -o arccos_calculation -lm

Beispielausgaben:

Geben Sie einen Wert zwischen -1 und 1 für die arccos-Berechnung ein: 0.5
Eingabewert: 0.500000
Arccos (in Radiant): 1.047198
Geben Sie einen Wert zwischen -1 und 1 für die arccos-Berechnung ein: -0.5
Eingabewert: -0.500000
Arccos (in Radiant): 2.094395

Wichtige Punkte zu acos():

  • Teil der <math.h>-Bibliothek
  • Nimmt einen Wert zwischen -1 und 1 entgegen
  • Gibt den Winkel in Radiant zurück
  • Benötigt das Flag -lm während der Kompilierung, um die Mathematikbibliothek zu verknüpfen

Ausgabe des Winkels in Radiant

In diesem Schritt lernen Sie, wie Sie den arccos-Winkel in verschiedenen Formaten, einschließlich Radiant, Grad und einer lesbareren Darstellung, konvertieren und ausgeben.

Arbeiten Sie im selben Projektverzeichnis weiter:

cd ~/project
nano arccos_angle_print.c

Fügen Sie folgenden Code hinzu, um die Winkelanzeige zu demonstrieren:

#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 arccos-Berechnung ein: ");
    scanf("%lf", &input);

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

    // arccos berechnen
    double winkel_in_radianten = acos(input);

    // Radiant in Grad umrechnen
    double winkel_in_grad = winkel_in_radianten * (180.0 / PI);

    // Winkel in verschiedenen Formaten ausgeben
    printf("Eingabewert: %f\n", input);
    printf("Winkel in Radiant: %f\n", winkel_in_radianten);
    printf("Winkel in Grad: %f\n", winkel_in_grad);

    // Beschreibende Darstellung ausgeben
    printf("Winkelbeschreibung: %.2f Radiant (%.2f Grad)\n",
           winkel_in_radianten, winkel_in_grad);

    return 0;
}

Kompilieren Sie das Programm:

gcc arccos_angle_print.c -o arccos_angle_print -lm

Beispielausgaben:

Geben Sie einen Wert zwischen -1 und 1 für die arccos-Berechnung ein: 0.5
Eingabewert: 0.500000
Winkel in Radiant: 1.047198
Winkel in Grad: 60.000000
Winkelbeschreibung: 1.05 Radiant (60.00 Grad)
Geben Sie einen Wert zwischen -1 und 1 für die arccos-Berechnung ein: -0.5
Eingabewert: -0.500000
Winkel in Radiant: 2.094395
Winkel in Grad: 120.000000
Winkelbeschreibung: 2.09 Radiant (120.00 Grad)

Wichtige Punkte:

  • Die Konstante PI wurde für die Gradumrechnung verwendet.
  • Radiant wurde mithilfe von winkel_in_radianten * (180.0 / PI) in Grad konvertiert.
  • Verschiedene Formatierungsoptionen für die Winkelanzeige wurden demonstriert.
  • %.2f wurde für eine Genauigkeit von zwei Dezimalstellen verwendet.

Zusammenfassung

In diesem Labor haben Sie gelernt, wie man einen gültigen Eingabewert zwischen -1 und 1 für die Berechnung der inversen Kosinusfunktion (arccos) in C liest. Sie haben auch gelernt, wie man die acos()-Funktion aus der C-Mathematkbibliothek verwendet, um die arccos-Berechnung durchzuführen und den Winkel in Radiant auszugeben.

Die wichtigsten Erkenntnisse aus diesem Labor sind die Eingabevalidierung, um sicherzustellen, dass die Eingabe im gültigen Bereich liegt, und die Verwendung der acos()-Funktion zur Berechnung des arccos des gegebenen Wertes.