Prof. Dr. Franz Schweiggert Abteilung Angewandte
Informationsverarbeitung 08.02.2005
Norbert Heidenbluth Blatt 15
Allgemeine Informatik I für Mathematiker/Wirtschaftsmathematiker
(WS 2005/2006)
Der Stoff des Sommersemesters wird sich nahtlos an den des abgelaufenen
Semesters anschließen. Es ist daher unerläßlich, eventuell entstandene
Wissenslücken in unserer Vorlesung über die vorlesungsfreie Zeit zu
schließen. Das Sommersemester ist immer recht kurz, sodaß keine
Zeit für Wiederholungen zur Verfügung steht.
Die folgenden Themengebiete sollten bis zum Beginn des Sommersemesters
unbedingt präsent sein:
- Kontrollstrukturen
- Arrays
- Methoden, insbesondere:
- Parameterübergabe / Signaturen
- Rückgabewerte
- Verständnis von JavaDoc
- Rekursionen
- Abstrakte Datentypen nebst Grundwissen zur Objektorientierung
Am besten ist es, sich selbst zunächst kleine Aufgaben zu einem bestimmten
Themenbereich zu stellen und diese zu bearbeiten.
Für das Thema Arrays / Methoden wäre zum Beispiel
eine schöne (und sehr einfache Übung) ein Programm zu schreiben,
das Integer-Zahlen in ein Array einliest und durch Verwendung einer
entsprechenden Methode das Maximum bzw. Minimum dieser Zahlen ermittelt
und ausgibt.
Sie können Ihre Werke gerne an mich (nh) per E-Mail senden, dann schaue
ich mir sie an und kommentiere bzw. korrigiere sie. Ebenso können
Sie sich aber auch an mich wenden, wenn sie Anregungen für Aufgaben
erhalten möchten.
Zum Warmwerden geben wir eine Aufgabe (Themenbereich Arrays) vor:
Ein magisches Quadrat der Ordnung ist
- eine -Matrix,
- in der jede der Zahlen 1 bis genau einmal vorkommt und
- deren Zeilen-, Spalten- und Hauptdiagonalsummen jeweils
betragen.
Ein magisches Quadrat der Ordnung für ungerade kann wie
folgt erzeugt werden:
- Starte mit der 1 genau eine Position unterhalb der Mitte der
Matrix.
- Gehe für die Zahlen bis jeweils genau einen Schritt
nach unten und nach rechts.
- Wenn Du über den unteren Rand hinauskommst, beginne wieder in
der ersten Zeile.
- Beginne entsprechend wieder in der linken Spalte, wenn Du
über den rechten Rand hinauskommst!
- Wenn Du auf ein bereits besetztes Feld triffst, gehe - von
der zuletzt besetzten Position aus gesehen - zwei Schritte
nach unten!
Schreiben Sie ein Java-Programm, das von der Standardeingabe eine
(ungerade) Zahl einliest und dann aufgrund des vorstehend beschriebenen
Algorithmus ein magisches Quadrat der entsprechenden Ordnung ausgibt.
Auf unserer Homepage haben wir einige Beispiele für magische Quadrate
verschiedener Ordnungen verlinkt.
Quelle: Donald Knuth, The Art of computer programming,
Vol. 1, Seite 162
Wir wünschen Ihnen eine gute vorlesungsfreie Zeit!
Auf Wiedersehen im Sommersemester :-)
Norbert Heidenbluth
2006-02-08