2. Übung für Programmierpraktikum
Abgabetermin: 13. November 2003
Name:
Matrikelnummer: Punkte:
Die Übungen sind grundsätzlich allein zu machen. Gruppenarbeit ist nicht erlaubt. Abzugeben sind jeweils das sinnvoll dokumentierte Programmlisting mit Original-inputs und Original-outputs, falls angebracht für mehrere Testläufe mit unterschiedlichen Eingabedaten. Das Abgabeformat ist DIN A4. Heften Sie alle Unterlagen gemeinsam mit dem Übungsblatt zusammen !
- (8 P)
Die Glieder einer Zahlenfolge
{ai}i=0n seien
als
ai =
definiert, wobei q > 0 ist. Die Summation dieser Glieder erzeugt Partialsummen sk =
ai mit k = 0,..., n.
Schreiben Sie ein Programm, welches für die einzugebenden n und q (n und q seien als größer 0 vorausgesetzt) alle Glieder ai der Folge und alle Partialsummen sk berechnet und ausgibt. Für n < 30 sollen alle ai, sk ausgegebenen werden, ansonsten nur die letzten 10 (d.h., für Index n - 9,..., n).
Es werden keine Felder/Arrays benötigt und diese dürfen auch nicht benutzt werden.
Erstellen Sie (vor dem Quelltextschreiben) ein Struktogramm.
Eingabedaten (n, q): (20, 0.98), (200000, 0.999), (30, 0.5) - (10 P) Schreiben Sie ein Programm, welches 2 positive ganze Zahlen
a und b einliest und
- bei der Zahleneingabe für die erste Zahl nur eine positive Zahl akzeptiert und daher die Eingabe hierfür solange wiederholt, bis eine positive Zahl eingegeben wird.
- den größten gemeinsamen Teiler von a und b bestimmt und
zwar nach dem
Euklidischen Algorithmus
(erstellen Sie ein Struktogramm):
- setzte m = a und n = b
- ist m < n, so vertausche m und n
- berechne r = m - n
- setzte m = n und n = r
- ist r
0 fahre fort mit Schritt ii.
- testet, ob die beiden Zahlen befreundete Zahlen sind.
Zwei Zahlen a und b heißen befreundete Zahlen, wenn die Summe der Teiler von a (inkl. der 1, ohne a) gleich b ist und umgekehrt, z.B.:
Teiler von 220: 1 + 2 + 4 + 5 + 10 + 11 + 20 + 22 + 44 + 55 + 110 = 284
Teiler von 284: 1 + 2 + 4 + 71 + 142 = 220
(- 32, 1184, 1210), (74803, 52421), (17296, 18416), (9363584, 9437056) - (6 P)
Für x > 1 ist die Reihe
s : =
= 1 +
+
+
+
konvergent.
Berechnen Sie s solange, bis sowohl die relative als auch die absolute Änderung zweier nachfolgender Näherungen von s kleiner als= 10-5 (Konstante!) ausfällt.
Geben Sie den angenäherten Wert für s, als auch den Abbruchindex Ihres (abweisenden oder nichtabweisenden) Zyklus aus. [Wie groß sind die tatsächlichen abs./rel. Fehler?]
Eingabedaten (x): (3.0), (1.21), (1.002001),
Gundolf Haase : Thu Nov 6 09:09:38 CET 2003