Beispiel: Programmiertest
Bei dieser Aufgabe geht es um die Berechnung und Ausgabe einer Funktion.
Die Funktionswerte werden folgendermaßen berechnet (cos und cosh sind mathematische Standardfunktionen):
cosh ( √16 - x² ) falls -4 < x < 4 y =
cos ( √ x² - 16 ) sonst
• Grundaufgabe (Note 4): Schreiben Sie ein Programm, das einen x-Wert einliest und den zugehörigen Funktionswert ausgibt. Dies soll beliebig oft wiederholt werden können, wobei am Ende abgefragt wird, ob ein weiterer Funktionswert berechnet werden soll (Eingabe: j oder n). Beispiel:
x-Wert: 0
Funktionswert: 27.3082
Noch ein Funktionswert? [j/n] j x-Wert: 5.5
Funktionswert: -0.806064
Noch ein Funktionswert? [j/n] n
• Erweiterung 1 (Note 3): Es soll eine Funktionstabelle ausgegeben werden. Dabei sind Anfangs- und Endwert sowie Schrittweite der x-Werte einzugeben. Die Tabelle soll formatiert ausgegeben werden (siehe Beispiel) mit 2 Nachkommastellen für die x-Werte und 8 Nachkomma- stellen für die Funktionswerte. Berechnen Sie auch die Summe der Funktionswerte in der Tabelle und geben Sie diese am Ende aus.
Beispiel:
Anfangs-, Endwert, Schrittweite: 3.0 5.0 0.5 x y
3.00 7.08249107 3.50 3.53929458 4.00 1.00000000 4.50 -0.47129323 5.00 -0.98999250
Summe der y-Werte: 10.16049993
• Erweiterung 2a (Note 2): Setzen Sie zur Berechnung der oben angegebenen Funktion (mit der Fallunterscheidung) eine C++-Funktion coscosh() ein. Diese Funktion sollte den x-Wert als Parameter haben und den berechneten Funktionswert (y-Wert) mit return zurückgeben.
Rufen Sie die Funktion coscosh() im Hauptprogramm auf, um den y- Wert zu berechnen. Ein- und Ausgabe bleiben ungeändert.
• Erweiterung 2b (Note 2): Geben Sie in der Tabelle rechts neben den y- Werten einen Balken von der Länge y+2 aus. Zählen Sie außerdem, wie viele Funktionswerte ≥ 0 und wie viele < 0 sind und geben Sie dies am Ende aus. Beispiel:
Anfangs-, Endwert, Schrittweite: 0 10 2 x y
0.00 27.30823284 *****************************
2.00 15.98952331 *****************
4.00 1.00000000 ***
6.00 -0.23794839 * 8.00 0.79908899 **
10.00 -0.96648591 *
Summe der y-Werte: 43.89241083
4 Werte waren >= 0, 2 Werte waren < 0.
• Erweiterung 3 (Note 1): Geben Sie am Ende zusätzlich zunächst alle positiven, dann alle negativen Funktionswerte aus. Dies geht am
einfachsten, indem Sie alle positiven (≥ 0) Funktionswerte in ein Feld und alle negativen in ein anderes Feld (Feldgröße für beide Felder jeweils 100) schreiben und die Felder am Ende ausgeben. Beispiel: Mit der Eingabe von Erweiterung 3 wird am Ende zusätzlich folgendes ausgegeben:
Die positiven Werte:
27.30823284 15.98952331 1.00000000 0.79908899
Die negativen Werte:
-0.23794839 -0.96648591