Prof. Dr. Franz Schweiggert Abteilung Angewandte Informationsverarbeitung 26. November 2003
Dr. Andreas Borchert, Michael Wiedemann Blatt 7


Uni Logo



Allgemeine Informatik I (WS 2003/2004)


Abgabetermin: 3. Dezember 2003

15 Quadratisch, praktisch, gut - 4 Punkte

Nachdem wir beim ersten richtigen Oberon-Blatt mit Zahlen gespielt haben, wollen wir diesem Trend folgen. Ihr werdet im Laufe Eures Studiums noch mit vielen Arten von Zahlen zu kämpfen haben, unter anderem mit Quadratzahlen. Uns interessieren nun nicht die Quadratzahlen an sich, sondern folgende:

$\forall i>0$ betrachte $i^{2}-1$

Wir schreiben also nun ein kleines Oberon Programm, das folgendes erledigen sollte: Beispiel:
Angegeben als Grenze n wird 10.
$1^{2}-1 = 0$ ist durch 7 teilbar.
$6^{2}-1 = 35$ ist durch 7 teilbar.
$8^{2}-1 = 63$ ist durch 7 teilbar.


Tipps: Ihr braucht eine IF Abfrage, um zu klären, ob die Zahl n positiv ist. Anschliessend könnt Ihr mit einer WHILE Schleife die Zahlen berechnen. Eine passende MOD Abfrage liefert Euch die gewünschten Zahlen, teilbar durch 7.

16 Harmonie, wohin man schaut - 4 Punkte

Nach knapp 6 Wochen Uni müsste Euch der Begriff der harmonischen Reihe eigentlich etwas sagen. Nein? Nun gut.

Als harmonische Reihe bezeichnet man die folgende Reihe: $\sum\limits_{i=1}^{\infty} \frac{1}{i}$, es werden also nacheinander folgende Zahlen aufaddiert: $1+\frac{1}{2}+\frac{1}{3}+\frac{1}{4}+\dots$.
Die Reihe divergiert, d.h. es existiert kein Grenzwert für diese Reihe. Dies wollen wir anhand eines Programmes nachvollziehen.
Schreibt also bitte ein Programm, dass eine positive ganze Zahl n erhält. Dies sollte wiederum überprüft werden. Nun sollte die Reihe solange berechnet werden, bis der augenblickliche Wert der Reihe die angegebene Zahl n übersteigt. Ausgegeben werden sollte der aktuelle Wert der Reihe, die Zahl n sowie der Index, an dem die Reihe den Wert n das erste Mal übersteigt.

Beispiele:
i = 5: Die Reihe übersteigt mit dem Wert 5.002068D+0000 bei Element 83 zum ersten Mal die gegebene Schranke 5
i = 10: Die Reihe übersteigt mit dem Wert 1.000004D+0001 bei Element 12367 zum ersten Mal die gegebene Schranke 10
i = 15: Die Reihe übersteigt mit dem Wert 1.500000D+0001 bei Element 1835421 zum ersten Mal die gegebene Schranke 15
Achtung: verwendet zum Testen keine höheren Zahlen als 15, da dann die Berechnung sehr lange dauern kann.

17 Eine Alternative - 2 Punkte

Die harmonische Reihe kann leicht abgeändert werden, so dass sie konvergiert. Dazu verwandeln wir sie in eine alternierende harmonische Reihe, das bedeutet, es wird abwechselnd addiert und subtrahiert: $1-\frac{1}{2}+\frac{1}{3}-\frac{1}{4}+\dots$
Ändert also Euer Programm dahingehend ab, dass zum einen statt eines Grenzwertes ein Index eingelesen wird, bis zu dem der Wert der Reihe berechnet und ausgegeben werden soll. Zum anderen sollte natürlich statt der harmonischen die alternierende harmonische Reihe berechnet werden.

Tipps:
Überlegt Euch, bei welchen Indices addiert und bei welchen subtrahiert wird, danach kann eine einfache IF Abfrage zum Erfolg führen.




Generelle Tipps zum Programmieren:
Geht schrittweise vor. Das heisst, Ihr verfahrt am besten mit dem E V A Prinzip - Eingabe, Verarbeitung, Ausgabe.
Lest Euch die Aufgaben genau durch und überlegt Euch, was Ihr bekommt und was Ihr liefern sollt.
Schaut Euch die Beispiele und Tipps auf der Homepage an.
Und nicht verzweifeln, wenn beim ersten Mal nicht alles gewünscht läuft, jeder fängt mal klein an.


Viel Erfolg!



Michael Wiedemann 2003-11-26