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-Bibliothekdouble x;deklariert eine Variable zum Speichern des Eingabewertsprintf()zeigt eine Aufforderung an den Benutzer anscanf()liest den Eingabewert als Fließkommazahl doppelter Genauigkeit%.2fformatiert 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 xif/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.



