Übungsblatt zu ergebnisgesteuerten Schleifen



Aufgabe 1: Ratenzahlung

Angenommen, Sie schulden Ihrer Kreditkartengesellschaft €1000.00. Die Gesellschaft berechnet Ihnen monatlich 1.5% Zinsen auf den gewährten Kredit. Sie entscheiden sich, die Kreditkarte nicht mehr zu verwenden und Ihren Kredit monatlich mit einem bestimmten Betrag n zurückzuzahlen.

Schreiben Sie ein Programm, das nach dem monatlichen Rückzahlungsbetrag in ganzen Euros fragt, dann den Saldo und den aktuellen Gesamtbetrag der Zahlungen für jeden Monat ausgibt, bis der Saldo Null oder weniger beträgt.

Berechnen Sie die monatlichen Zinsen auf Grund des Saldos. Berechnen Sie dann den neuen Saldo, in dem Sie die Zinsen addieren und den zurückgezahlten Betrag subtrahieren.

Beispielablauf:

Bitte geben Sie den monatlichen Betrag ein: 100

Monat: 1, Saldo: 915.0, Gesamtbetrag: 100.0
Monat: 2, Saldo: 828.73, Gesamtbetrag: 200.0
Monat: 3, Saldo: 741.16, Gesamtbetrag: 300.0
Monat: 4, Saldo: 652.27, Gesamtbetrag: 400.0
Monat: 5, Saldo: 562.06, Gesamtbetrag: 500.0
Monat: 6, Saldo: 470.49, Gesamtbetrag: 600.0
Monat: 7, Saldo: 377.55, Gesamtbetrag: 700.0
Monat: 8, Saldo: 283.21, Gesamtbetrag: 800.0
Monat: 9, Saldo: 187.46, Gesamtbetrag: 900.0
Monat: 10, Saldo: 90.27, Gesamtbetrag: 1000.0
Monat: 11, Saldo: -8.38, Gesamtbetrag: 1100.0




Verwenden Sie für die Berechnungen der Einfachheit halber Gleitkommaarithmetik mit float.

Aufgabe 2: Wirksamkeit von Medikamenten

Jeden Monat, den ein bestimmtes Medikament gelagert wird, verliere es 4% seiner Wirksamkeit. Wenn seine Wirksamkeit unter 50% fällt, wird es als unbrauchbar eingestuft und sollte entsorgt werden. Schreiben Sie ein Programm, welches für jeden Monat den Verlust an Wirksamkeit ausgibt und beim Unterschreiten von 50% Wirksamkeit, dass das Medikament entsorgt werden sollte.

Programmausgabe:

Monat: 0, Effektivität: 100.0%
Monat: 1, Effektivität: 96.0%
Monat: 2, Effektivität: 92.16%
Monat: 3, Effektivität: 88.47%
Monat: 4, Effektivität: 84.93%
Monat: 5, Effektivität: 81.54%
Monat: 6, Effektivität: 78.28%
Monat: 7, Effektivität: 75.14%
Monat: 8, Effektivität: 72.14%
Monat: 9, Effektivität: 69.25%
Monat: 10, Effektivität: 66.48%
Monat: 11, Effektivität: 63.82%
Monat: 12, Effektivität: 61.27%
Monat: 13, Effektivität: 58.82%
Monat: 14, Effektivität: 56.47%
Monat: 15, Effektivität: 54.21%
Monat: 16, Effektivität: 52.04%
Monat: 17, Effektivität: 49.96%
Entsorgen!

Aufgabe 3: ex

Der Grund, warum Rechner den Wert von Funktionen wie ex berechnen können, liegt darin begründet, dass für diese Funktionen Reihenentwicklungen existieren.

Die Exponentialfunktion e x besitzt z. B. die folgende Potenzreihenentwicklung:

e x = 1 + x 1 ! + x 2 2 ! + x 3 3 ! + ... + x n n ! + ...

Dabei steht n ! für die Fakultät von n , d. h.:

n ! = n ( n 1 ) ( n 2 ) ... 1

Schreiben Sie ein Programm, welches einen Wert für x eingeben lässt und ebenfalls die gewünschte Genauigkeit y der Berechnung, in Stellen hinter dem Komma, und dann e x mit Hilfe einer Schleife berechnet, solange der in jeder Iteration zur Summe addierte Term größer ist als 10 y . Vergleichen Sie schließlich den von Ihrem Programm berechneten Wert mit dem von der offiziellen Mathematikmethode exp(x) berechneten Wert.

Zwischen dem n -ten und ( n 1 ) -ten Term besteht die folgende Beziehung:

x n n ! = x n 1 ( n 1 ) ! x n

Mit Hilfe dieser Beziehung können viele unnötige Berechnungen vermieden werden, sodass die Lösung dieser Aufgabe am Ende überraschend einfach ist.

Beispielablauf:







Aufgabe 4: sin(x)

Nicht nur für die Funktion e x existiert eine Reihenentwicklung. Auch für die trigonometrische Funktion sin(x), die schon Teil der Übungsaufgaben war, existiert eine Potenzreihe:

sin ( x ) = x x 3 3 ! + x 5 5 ! ... + 1 n x 2 n + 1 2 n + 1 ! ± ...

Schreiben Sie ein Programm für sin(x) entsprechend der Lösung zur vorigen Aufgabe.

Beispielablauf:



Wie Sie sehen, besitzt diese Reihe eine weitaus höhere Konvergenzgeschwindigkeit, als die Reihe der vorigen Aufgabe, was sich in der deutlich geringeren Anzahl an Iterationen äußert, die zur Erreichung der geforderten Genauigkeit erforderlich sind.