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
Eingabedaten (a, [a,] b):
(- 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