Die Steigung einer Geraden 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 Lab lernen Sie, wie Sie die Steigung einer Geraden mit der Programmiersprache C berechnen. Das Lab umfasst zwei Hauptschritte: das Einlesen zweier Punkte (x1, y1) und (x2, y2) aus der Benutzereingabe und dann die Berechnung der Steigung mit der Formel (y2-y1)/(x2-x1). Das Programm wird auch den Sonderfall einer senkrechten Geraden behandeln. Am Ende dieses Labs werden Sie besser verstehen, wie Sie mit Konzepten der Analysis und analytischen Geometrie in C arbeiten können.

Zwei Punkte (x1,y1) und (x2,y2) einlesen

In diesem Schritt lernen Sie, wie Sie die Koordinaten zweier Punkte aus der Benutzereingabe in einem C-Programm einlesen, um die Steigung einer Geraden zu berechnen. Wir werden ein einfaches Programm erstellen, das den Benutzer auffordert, die x- und y-Koordinaten für zwei Punkte einzugeben.

Zuerst erstellen wir eine neue C-Datei im Projektverzeichnis:

cd ~/project
nano slope_calculator.c

Geben Sie jetzt den folgenden Code ein, um zwei Punkte einzulesen:

#include <stdio.h>

int main() {
    float x1, y1, x2, y2;

    // Aufforderung an den Benutzer, die Koordinaten des ersten Punktes einzugeben
    printf("Geben Sie die x-Koordinate des ersten Punktes (x1) ein: ");
    scanf("%f", &x1);
    printf("Geben Sie die y-Koordinate des ersten Punktes (y1) ein: ");
    scanf("%f", &y1);

    // Aufforderung an den Benutzer, die Koordinaten des zweiten Punktes einzugeben
    printf("Geben Sie die x-Koordinate des zweiten Punktes (x2) ein: ");
    scanf("%f", &x2);
    printf("Geben Sie die y-Koordinate des zweiten Punktes (y2) ein: ");
    scanf("%f", &y2);

    // Ausgabe der eingegebenen Koordinaten
    printf("Erster Punkt: (%.2f, %.2f)\n", x1, y1);
    printf("Zweiter Punkt: (%.2f, %.2f)\n", x2, y2);

    return 0;
}

Kompilieren und starten Sie das Programm:

gcc slope_calculator.c -o slope_calculator
./slope_calculator

Beispielausgabe:

Geben Sie die x-Koordinate des ersten Punktes (x1) ein: 1
Geben Sie die y-Koordinate des ersten Punktes (y1) ein: 2
Geben Sie die x-Koordinate des zweiten Punktes (x2) ein: 4
Geben Sie die y-Koordinate des zweiten Punktes (y2) ein: 6
Erster Punkt: (1.00, 2.00)
Zweiter Punkt: (4.00, 6.00)

Steigung berechnen = (y2-y1)/(x2-x1)

In diesem Schritt werden Sie das vorherige Programm so ändern, dass die Steigung einer Geraden mit der Punkt-Steigungs-Formel berechnet wird. Wir werden die Steigungsberechnung hinzufügen und den Sonderfall einer senkrechten Geraden behandeln.

Öffnen Sie die vorherige Datei und aktualisieren Sie den Code:

cd ~/project
nano slope_calculator.c

Ersetzen Sie den Inhalt durch den folgenden Code:

#include <stdio.h>

int main() {
    float x1, y1, x2, y2, slope;

    // Aufforderung an den Benutzer, die Koordinaten des ersten Punktes einzugeben
    printf("Geben Sie die x-Koordinate des ersten Punktes (x1) ein: ");
    scanf("%f", &x1);
    printf("Geben Sie die y-Koordinate des ersten Punktes (y1) ein: ");
    scanf("%f", &y1);

    // Aufforderung an den Benutzer, die Koordinaten des zweiten Punktes einzugeben
    printf("Geben Sie die x-Koordinate des zweiten Punktes (x2) ein: ");
    scanf("%f", &x2);
    printf("Geben Sie die y-Koordinate des zweiten Punktes (y2) ein: ");
    scanf("%f", &y2);

    // Prüfung auf senkrechte Gerade (unendliche Steigung)
    if (x2 == x1) {
        printf("Die Steigung ist undefiniert (senkrechte Gerade)\n");
        return 0;
    }

    // Steigung berechnen
    slope = (y2 - y1) / (x2 - x1);

    // Ergebnisse ausgeben
    printf("Erster Punkt: (%.2f, %.2f)\n", x1, y1);
    printf("Zweiter Punkt: (%.2f, %.2f)\n", x2, y2);
    printf("Steigung: %.2f\n", slope);

    return 0;
}

Kompilieren und starten Sie das Programm:

gcc slope_calculator.c -o slope_calculator
./slope_calculator

Beispielausgabe:

Geben Sie die x-Koordinate des ersten Punktes (x1) ein: 1
Geben Sie die y-Koordinate des ersten Punktes (y1) ein: 2
Geben Sie die x-Koordinate des zweiten Punktes (x2) ein: 4
Geben Sie die y-Koordinate des zweiten Punktes (y2) ein: 6
Erster Punkt: (1.00, 2.00)
Zweiter Punkt: (4.00, 6.00)
Steigung: 1.33

Die Steigung ausgeben

In diesem letzten Schritt verbessern Sie das Programm zur Steigungsberechnung, indem Sie detailliertere Ausgaben hinzufügen und die Darstellung der Steigung formatieren. Wir werden die Benutzererfahrung verbessern, indem wir klare und informative Steigungsinformationen bereitstellen.

Öffnen Sie die vorherige Datei und aktualisieren Sie den Code:

cd ~/project
nano slope_calculator.c

Ersetzen Sie den Inhalt durch den folgenden Code:

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

int main() {
    float x1, y1, x2, y2, slope;

    // Aufforderung an den Benutzer, die Koordinaten des ersten Punktes einzugeben
    printf("Steigungsrechner\n");
    printf("================\n");
    printf("Geben Sie die x-Koordinate des ersten Punktes (x1) ein: ");
    scanf("%f", &x1);
    printf("Geben Sie die y-Koordinate des ersten Punktes (y1) ein: ");
    scanf("%f", &y1);

    // Aufforderung an den Benutzer, die Koordinaten des zweiten Punktes einzugeben
    printf("Geben Sie die x-Koordinate des zweiten Punktes (x2) ein: ");
    scanf("%f", &x2);
    printf("Geben Sie die y-Koordinate des zweiten Punktes (y2) ein: ");
    scanf("%f", &y2);

    // Prüfung auf senkrechte Gerade (unendliche Steigung)
    if (x2 == x1) {
        printf("\nErgebnis:\n");
        printf("Erster Punkt:  (%.2f, %.2f)\n", x1, y1);
        printf("Zweiter Punkt: (%.2f, %.2f)\n", x2, y2);
        printf("Steigung: Undefiniert (senkrechte Gerade)\n");
        return 0;
    }

    // Steigung berechnen
    slope = (y2 - y1) / (x2 - x1);

    // Detaillierte Ergebnisse ausgeben
    printf("\nErgebnis:\n");
    printf("Erster Punkt:  (%.2f, %.2f)\n", x1, y1);
    printf("Zweiter Punkt: (%.2f, %.2f)\n", x2, y2);
    printf("Steigungsberechnung: (%.2f - %.2f) / (%.2f - %.2f) = %.2f\n",
           y2, y1, x2, x1, slope);

    // Zusätzliche Interpretation der Steigung
    if (slope > 0) {
        printf("Steigungsinterpretation: Positive Steigung (Gerade steigt von links nach rechts)\n");
    } else if (slope < 0) {
        printf("Steigungsinterpretation: Negative Steigung (Gerade fällt von links nach rechts)\n");
    } else {
        printf("Steigungsinterpretation: Horizontale Gerade (Steigung ist Null)\n");
    }

    return 0;
}

Kompilieren und starten Sie das Programm:

gcc slope_calculator.c -o slope_calculator
./slope_calculator

Beispielausgabe:

Steigungsrechner
================
Geben Sie die x-Koordinate des ersten Punktes (x1) ein: 1
Geben Sie die y-Koordinate des ersten Punktes (y1) ein: 2
Geben Sie die x-Koordinate des zweiten Punktes (x2) ein: 4
Geben Sie die y-Koordinate des zweiten Punktes (y2) ein: 6

Ergebnis:
Erster Punkt:  (1.00, 2.00)
Zweiter Punkt: (4.00, 6.00)
Steigungsberechnung: (6.00 - 2.00) / (4.00 - 1.00) = 1.33
Steigungsinterpretation: Positive Steigung (Gerade steigt von links nach rechts)

Zusammenfassung

In diesem Lab lernen Sie, wie Sie die Koordinaten zweier Punkte aus der Benutzereingabe einlesen und dann die Steigung einer Geraden mit der Punkt-Steigungs-Formel in einem C-Programm berechnen. Das Programm wird den Benutzer auffordern, die x- und y-Koordinaten für zwei Punkte einzugeben und dann die Steigung der Geraden berechnen und anzeigen. Darüber hinaus wird das Programm den Sonderfall einer senkrechten Geraden behandeln, bei der die Steigung undefiniert ist.

Das Lab umfasst die folgenden Schlüssel-Schritte: 1) Einlesen zweier Punkte (x1, y1) und (x2, y2) aus der Benutzereingabe und 2) Berechnen der Steigung mit der Formel (y2 - y1) / (x2 - x1). Das Programm wird dann die berechnete Steigung ausgeben.