Aufgabe 1: (Berechnung von ln(2))
Eine schnell konvergierende Reihe zur Berechnung des natürlichen Logarithmus von 2 ist folgende:
2 |
1 · 31 |
2 |
3 · 33 |
2 |
5 · 35 |
Entwerfen Sie ein Iterationsschema für die Berechnung. Leiten Sie daraus die Iterationsgleichungen und Initialisierungen ab. Programmieren Sie eine entsprechende While-Schleife zur Berechnung von ln(2).
Aufgabe 2: (Fibonacci-Zahlen)
Erstellen Sie ein Iterationsschema für die Berechnung der Fibonacci-Zahlen, das mit nur drei Variablen i, f und g auskommt.
Leiten Sie aus dem Iterationsschema die Iterationsgleichungen und Initialisierungen ab. Programmieren Sie eine entsprechende While-Schleife zur Berechnung der n-ten Fibonacci-Zahl.
Aufgabe 3: (Berechnung des größten gemeinsamen Teilers)
Der größte gemeinsame Teiler zweier nichtnegativer ganzer Zahlen x und y lässt sich mithilfe folgender Iterationsgleichungen berechnen:
Als Initialisierung wird gesetzt:
Erstellen Sie das zugehörige Iterationsschema mit x = 17 und y = 5. Programmieren Sie eine entsprechende While-Schleife. Wie lautet die Schleifenbedingung der While-Schleife? Welche Variable enthält zum Schluss das Ergebnis?
Fügen Sie die While-Schleife in eine Funktion ggt(x, y) ein, die den größten gemeinsamen Teiler von x und y berechnet.
Aufgabe 4: (Quadratwurzel)
Die iterative Berechnung der Quadratwurzel a = f nach dem Verfahren von Heron
beruht auf folgenden Iterationsgleichungen eines sequentiellen Iterationsschemas:
mit den Initialisierungen
Setzen Sie diese Iterationsgleichungen in eine While-Schleife um. Brechen Sie die Iteration ab, wenn sich a und b um weniger als 10-12 unterscheiden.
Aufgabe 5: (Berechnung der Sinusfunktion)
Die Sinusfunktion sin(x) lässt sich mithilfe folgender Reihe berechnen:
x2n+1 |
(2n+1)! |
Entwerfen Sie ein Iterationsschema für die Berechnung und verwenden Sie dabei folgende Variablen:
v | Vorzeichen des Summanden | |
i | Wert von 2n+1 | |
s | Summand ohne Vorzeichen | |
p | Partialsumme |
Wie geht der jeweils nächste Summand s aus dem vorhergehenden Summanden s' hervor?
Iterationsschema:
n | 0 | 1 | 2 | 3 |
---|---|---|---|---|
v | ||||
i | ||||
s | ||||
p |
Leiten Sie aus dem Iterationsschema die zugehörigen Initialisierungen und Iterationsgleichungen ab. Programmieren Sie eine entsprechende While-Schleife zur Berechnung von sin(x). Brechen Sie die Schleife ab, wenn der neu hinzugekommene Summand kleiner als 10-14 ist.