Stückweise Funktionen 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 man stückweise Funktionen in der C-Programmierung auswertet. Das Labor behandelt die Schritte zum Einlesen eines Eingabewerts, zur Verwendung von if/else-Anweisungen, um festzustellen, welche Formel anzuwenden ist, und zum Ausdrucken des ausgewerteten Ergebnisses. Sie beginnen damit, den Benutzer aufzufordern, einen Wert für die Variable x einzugeben, und implementieren dann eine stückweise Funktion mit verschiedenen Formeln basierend auf dem Eingabewert. Dieses Labor wird Ihnen helfen, Ihre Fähigkeiten im Umgang mit algebraischen Ausdrücken und bedingter Logik in C zu entwickeln.

Eingabewert x lesen

In diesem Schritt lernen Sie, wie Sie einen Eingabewert für eine stückweise Funktion in der C-Programmierung lesen. Wir erstellen ein einfaches Programm, das es Benutzern ermöglicht, einen numerischen Wert einzugeben, der zur Funktionsauswertung verwendet werden soll.

Erstellen Sie zunächst eine neue C-Datei im Projektverzeichnis:

cd ~/project
nano piecewise_function.c

Fügen Sie nun folgenden Code zur Datei hinzu:

#include <stdio.h>

int main() {
    double x;

    // Den Benutzer auffordern, einen Wert für x einzugeben
    printf("Geben Sie einen Wert für x ein: ");

    // Den Eingabewert lesen
    scanf("%lf", &x);

    // Den Eingabewert ausgeben, um die Eingabe zu bestätigen
    printf("Sie haben x = %.2f eingegeben\n", x);

    return 0;
}

Kompilieren Sie das Programm:

gcc piecewise_function.c -o piecewise_function

Führen Sie das Programm aus:

./piecewise_function

Beispielausgabe:

Geben Sie einen Wert für x ein: 5.5
Sie haben x = 5.50 eingegeben

Zerlegen wir den Code:

  • #include <stdio.h> beinhaltet die Standard-Eingabe/Ausgabe-Bibliothek
  • double x; deklariert eine Variable zum Speichern des Eingabewerts
  • printf() zeigt eine Aufforderung an den Benutzer an
  • scanf() liest den Eingabewert als Fließkommazahl doppelter Genauigkeit
  • %.2f formatiert die Ausgabe, um zwei Dezimalstellen anzuzeigen

if/else verwenden, um die anzuwendende Formel zu bestimmen

In diesem Schritt modifizieren Sie das vorherige Programm, um eine stückweise Funktion mithilfe von if/else-Anweisungen zu implementieren. Wir erstellen eine Funktion mit verschiedenen Formeln basierend auf dem Eingabewert x.

Aktualisieren Sie die Datei piecewise_function.c:

cd ~/project
nano piecewise_function.c

Ersetzen Sie den vorherigen Inhalt durch folgenden Code:

#include <stdio.h>

// Definition einer stückweisen Funktion
double piecewise_function(double x) {
    // Bedingung 1: Wenn x kleiner als 0 ist
    if (x < 0) {
        return x * x;  // f(x) = x^2 für x < 0
    }
    // Bedingung 2: Wenn x zwischen 0 und 5 liegt
    else if (x >= 0 && x < 5) {
        return 2 * x + 3;  // f(x) = 2x + 3 für 0 ≤ x < 5
    }
    // Bedingung 3: Wenn x größer oder gleich 5 ist
    else {
        return x - 2;  // f(x) = x - 2 für x ≥ 5
    }
}

int main() {
    double x;

    // Den Benutzer auffordern, einen Wert für x einzugeben
    printf("Geben Sie einen Wert für x ein: ");

    // Den Eingabewert lesen
    scanf("%lf", &x);

    // Berechnen und ausgeben des Ergebnisses der stückweisen Funktion
    double result = piecewise_function(x);
    printf("f(%.2f) = %.2f\n", x, result);

    return 0;
}

Kompilieren Sie das Programm:

gcc piecewise_function.c -o piecewise_function

Führen Sie das Programm mit verschiedenen Eingabewerten aus:

./piecewise_function

Beispielausgabe 1:

Geben Sie einen Wert für x ein: -2
f(-2.00) = 4.00

Beispielausgabe 2:

Geben Sie einen Wert für x ein: 3
f(3.00) = 9.00

Beispielausgabe 3:

Geben Sie einen Wert für x ein: 6
f(6.00) = 4.00

Zerlegen wir den Code:

  • piecewise_function() implementiert drei verschiedene Formeln basierend auf dem Wert von x
  • if/else-Anweisungen prüfen die Bedingungen und wenden die entsprechende Formel an
  • Die Funktion gibt den berechneten Wert basierend auf der Eingabe x zurück

Ausgabe des Auswertungsresultats

In diesem letzten Schritt erweitern Sie das Programm für die stückweise Funktion, um detailliertere Ausgaben zu liefern und das Verhalten der Funktion in verschiedenen Eingabebereichen zu demonstrieren.

Ändern Sie die Datei piecewise_function.c, um die Ausgabe des Ergebnisses umfassender zu gestalten:

cd ~/project
nano piecewise_function.c

Aktualisieren Sie den Code mit folgender Implementierung:

#include <stdio.h>

// Definition einer stückweisen Funktion
double piecewise_function(double x) {
    // Bedingung 1: Wenn x kleiner als 0 ist
    if (x < 0) {
        return x * x;  // f(x) = x^2 für x < 0
    }
    // Bedingung 2: Wenn x zwischen 0 und 5 liegt
    else if (x >= 0 && x < 5) {
        return 2 * x + 3;  // f(x) = 2x + 3 für 0 ≤ x < 5
    }
    // Bedingung 3: Wenn x größer oder gleich 5 ist
    else {
        return x - 2;  // f(x) = x - 2 für x ≥ 5
    }
}

int main() {
    double x;

    // Den Benutzer auffordern, einen Wert für x einzugeben
    printf("Auswerter für stückweise Funktionen\n");
    printf("Funktionsregeln:\n");
    printf("  f(x) = x^2      für x < 0\n");
    printf("  f(x) = 2x + 3   für 0 ≤ x < 5\n");
    printf("  f(x) = x - 2    für x ≥ 5\n\n");

    printf("Geben Sie einen Wert für x ein: ");

    // Den Eingabewert lesen
    scanf("%lf", &x);

    // Das Ergebnis der stückweisen Funktion berechnen
    double result = piecewise_function(x);

    // Detaillierte Ausgabe bereitstellen
    printf("\nEingabeanalyse:\n");
    printf("  Eingabewert x: %.2f\n", x);

    // Bestimmen und ausgeben der angewendeten Formel
    if (x < 0) {
        printf("  Angewandte Formel: f(x) = x^2\n");
    }
    else if (x >= 0 && x < 5) {
        printf("  Angewandte Formel: f(x) = 2x + 3\n");
    }
    else {
        printf("  Angewandte Formel: f(x) = x - 2\n");
    }

    // Das Endergebnis ausgeben
    printf("  Ergebnis f(x): %.2f\n", result);

    return 0;
}

Kompilieren Sie das Programm:

gcc piecewise_function.c -o piecewise_function

Führen Sie das Programm mit verschiedenen Eingabewerten aus:

./piecewise_function

Beispielausgabe 1 (x < 0):

Auswerter für stückweise Funktionen
Funktionsregeln:
  f(x) = x^2      für x < 0
  f(x) = 2x + 3   für 0 ≤ x < 5
  f(x) = x - 2    für x ≥ 5

Geben Sie einen Wert für x ein: -3

Eingabeanalyse:
  Eingabewert x: -3.00
  Angewandte Formel: f(x) = x^2
  Ergebnis f(x): 9.00

... (weitere Beispielausgaben)
...

Wichtige Verbesserungen in diesem Schritt:

  • Detaillierte Erklärung der Funktionsregeln hinzugefügt
  • Eingabeanalyse mit der angewendeten Formel bereitgestellt
  • Lesbarkeit der Ausgabe verbessert
  • Verhalten der stückweisen Funktion in verschiedenen Eingabebereichen demonstriert

Zusammenfassung

In diesem Labor haben Sie gelernt, wie man einen Eingabewert für eine stückweise Funktion in der C-Programmierung liest und wie man mit if/else-Anweisungen bestimmt, welche Formel basierend auf dem Eingabewert angewendet werden soll. Sie haben ein einfaches Programm erstellt, das es Benutzern ermöglicht, einen numerischen Wert einzugeben, und dann die stückweise Funktion mit verschiedenen Formeln ausgewertet, abhängig vom Wert von x. Die wichtigsten Lernpunkte sind die Eingabe von Benutzerdaten, die Implementierung von bedingter Logik mit if/else-Anweisungen und die Anwendung verschiedener mathematischer Formeln innerhalb einer stückweisen Funktion.