Rationale Ausdrücke in C auswerten

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 rationale Ausdrücke in der C-Programmierung ausgewertet werden. Das Labor behandelt die grundlegenden Schritte des Lesens des Zählers und Nenners, der sicheren Berechnung des Bruchs durch die Behandlung von Division durch Null und der Ausgabe des Endergebnisses. Diese praktische Übung hilft Ihnen, die notwendigen Fähigkeiten zu entwickeln, um mit algebraischen Ausdrücken in C zu arbeiten.

Das Labor beginnt mit der Anleitung zum Einlesen der Eingabe für Zähler und Nenner vom Benutzer und stellt sicher, dass die Werte korrekt im Programm gespeichert werden. Anschließend wird das Konzept der Behandlung von Division durch Null, einem häufigen Problem bei der Arbeit mit Brüchen, eingeführt und gezeigt, wie dieses Szenario angegangen wird. Schließlich behandelt das Labor die Berechnung des Bruchs und die Ausgabe des Endergebnisses.

Zähler- und Nennerausdrücke einlesen

In diesem Schritt lernen Sie, wie Sie Zähler- und Nennerausdrücke in C einlesen, eine grundlegende Fähigkeit zur Auswertung rationaler Ausdrücke.

Erstellen Sie zunächst eine neue C-Datei zur Implementierung der Eingabe rationaler Ausdrücke:

cd ~/project
nano rational_expressions.c

Fügen Sie nun den folgenden Code hinzu, um Zähler und Nenner einzulesen:

#include <stdio.h>

int main() {
    int numerator, denominator;

    printf("Geben Sie den Zähler ein: ");
    scanf("%d", &numerator);

    printf("Geben Sie den Nenner ein: ");
    scanf("%d", &denominator);

    printf("Zähler: %d\n", numerator);
    printf("Nenner: %d\n", denominator);

    return 0;
}

Kompilieren und führen Sie das Programm aus:

gcc rational_expressions.c -o rational_expressions
./rational_expressions

Beispielausgabe:

Geben Sie den Zähler ein: 10
Geben Sie den Nenner ein: 5
Zähler: 10
Nenner: 5

Zerlegung des Codes:

  • scanf() wird verwendet, um ganzzahlige Eingaben vom Benutzer zu lesen.
  • Der Formatbezeichner %d wird für die ganzzahlige Eingabe verwendet.
  • Zähler und Nenner werden in separaten ganzzahligen Variablen gespeichert.
  • printf() wird verwendet, um die eingegebenen Werte anzuzeigen.

Berechnung des Bruchs

In diesem Schritt lernen Sie, wie Sie den Bruchwert sicher berechnen, indem Sie eine mögliche Division durch Null behandeln und die Berechnung durchführen.

Aktualisieren Sie die vorherige Datei rational_expressions.c, um die Bruchberechnung einzuschließen:

cd ~/project
nano rational_expressions.c

Ändern Sie den Code, um den Bruchwert zu berechnen:

#include <stdio.h>

int main() {
    int numerator, denominator;
    float fraction_value;

    printf("Geben Sie den Zähler ein: ");
    scanf("%d", &numerator);

    printf("Geben Sie den Nenner ein: ");
    scanf("%d", &denominator);

    // Prüfung auf Division durch Null
    if (denominator == 0) {
        printf("Fehler: Division durch Null ist nicht erlaubt.\n");
        return 1;
    }

    // Berechnung des Bruchwerts
    fraction_value = (float)numerator / denominator;

    printf("Zähler: %d\n", numerator);
    printf("Nenner: %d\n", denominator);
    printf("Bruchwert: %.2f\n", fraction_value);

    return 0;
}

Kompilieren und ausführen des Programms:

gcc rational_expressions.c -o rational_expressions
./rational_expressions

Beispielausgabe:

Geben Sie den Zähler ein: 10
Geben Sie den Nenner ein: 4
Zähler: 10
Nenner: 4
Bruchwert: 2.50

Wichtige Punkte im Code:

  • Hinzugefügte Prüfung auf Division durch Null, um Laufzeitfehler zu vermeiden.
  • Verwendung der Typumwandlung (float), um eine Fließkommadivision sicherzustellen.
  • Anzeige des Bruchwerts mit zwei Dezimalstellen mithilfe von %.2f.

Ausgabe des Ergebnisses oder Behandlung von Division durch Null

In diesem Schritt erweitern Sie das Programm für rationale Ausdrücke, um eine robustere Fehlerbehandlung und Ergebnisdarstellung zu implementieren.

Aktualisieren Sie die Datei rational_expressions.c, um die Ausgabe und Fehlerbehandlung zu verbessern:

cd ~/project
nano rational_expressions.c

Ändern Sie den Code, um eine erweiterte Fehlerbehandlung und Ergebnisformatierung einzuschließen:

#include <stdio.h>
#include <stdlib.h>

int main() {
    int numerator, denominator;

    // Eingabevalidierung und Fehlerbehandlung
    printf("Geben Sie den Zähler ein: ");
    if (scanf("%d", &numerator) != 1) {
        printf("Fehler: Ungültige Zählereingabe.\n");
        return 1;
    }

    printf("Geben Sie den Nenner ein: ");
    if (scanf("%d", &denominator) != 1) {
        printf("Fehler: Ungültige Nenner-Eingabe.\n");
        return 1;
    }

    // Umfassende Behandlung von Division durch Null
    if (denominator == 0) {
        printf("Fehler: Division durch Null nicht erlaubt. Der Nenner muss ungleich Null sein.\n");
        return 1;
    }

    // Berechnung und Ausgabe der Ergebnisse mit verschiedenen Formaten
    double fraction_value = (double)numerator / denominator;

    printf("\n--- Ergebnisse des rationalen Ausdrucks ---\n");
    printf("Zähler:      %d\n", numerator);
    printf("Nenner:      %d\n", denominator);
    printf("Bruchwert: %.2f\n", fraction_value);
    printf("Ganzzahl-Ergebnis: %d\n", numerator / denominator);
    printf("Rest:      %d\n", numerator % denominator);

    return 0;
}

Kompilieren und ausführen des Programms:

gcc rational_expressions.c -o rational_expressions
./rational_expressions

Beispielausgaben:

Erfolgreiche Berechnung:

Geben Sie den Zähler ein: 10
Geben Sie den Nenner ein: 4

--- Ergebnisse des rationalen Ausdrucks ---
Zähler:      10
Nenner:      4
Bruchwert: 2.50
Ganzzahl-Ergebnis: 2
Rest:      2

Division durch Null:

Geben Sie den Zähler ein: 10
Geben Sie den Nenner ein: 0
Fehler: Division durch Null nicht erlaubt. Der Nenner muss ungleich Null sein.

Ungültige Eingabe:

Geben Sie den Zähler ein: abc
Fehler: Ungültige Zählereingabe.

Wichtige Verbesserungen:

  • Hinzugeführte Eingabevalidierung mithilfe des Rückgabewerts von scanf().
  • Erweiterte Fehlermeldungen für verschiedene Szenarien.
  • Bereitstellung verschiedener Ergebnisdarstellungen.
  • Verwendung von double für genauere Fließkommaberechnungen.

Zusammenfassung

In diesem Labor haben Sie gelernt, wie man Zähler- und Nennerausdrücke in C liest, eine grundlegende Fähigkeit zur Auswertung rationaler Ausdrücke. Sie haben auch gelernt, wie man den Bruchwert sicher berechnet, indem man eine mögliche Division durch Null behandelt und die Berechnung durchführt. Schließlich haben Sie die Fähigkeit implementiert, das Ergebnis auszugeben oder eine Division durch Null zu behandeln. Diese Schritte bilden eine solide Grundlage für die Arbeit mit rationalen Ausdrücken in der C-Programmierung.