|
C-KURS WS 01/02 - Übungen7 - Ergänzungen zur VorlesungAUTHOR: Gerd Döben-Henisch DATE OF FIRST GENERATION: Nov-12, 2001 DATE OF LAST CHANGE: Nov-14, 2001 EMAIL: Gerd Döben-Henisch |
In
Ergänzung zur Vorlesung soll hier anhand von
Beispielprogrammen gezeigt werden, wie (i) sich das Konzept des
2D-Arrays mit einem Zufallsgenerator verknüpfen lässt,
wie (ii) der Datentyp enum und struct verwendet werden kann und
(iii) wie sich das Konzept einer 2D-Welt mit dem Datentyp struct
deutlicher komplexer aufbauen lässt. Dazu weitere
Aufgaben. |
randstar1.c: ein Zufallsgenerator ersetzt die Tatstatureingabe Im Programm randstar1.c wurde der 2D-Array von starmove2.c so mit dem Zufallsgenerator aus random1.c bzw. random3.c verknuepft, dass damit die Tastatureingabe uerflüssig wurde. Besonderheit: es ist notwendig, den Rechner in diesem Program 30 Mio. Operationen 'auf der Stelle treten zu lassen', da die Anzeige sonst für das menschliche Auge zu schnell wäre. Im Programm randstar2.c wird jedes Feld markiert, das vom Stern einmal besucht worden ist. Im Programm randstar3.c wird zusätzlich pro Runde der Anteil der markierten Felder an allen Feldern ausgewertet. Das nebenstehende Diagramm zeigt exemplarisch den Kurvenverlauf für drei Läufe des Programms randstar3.c für 11x11 Felder. Mit 'ANZAHL' ist die Anzahl der zufallsgesteuerten Bewegungen gemeint, die in der Fläche (beginnend im Zentrum an der Koordinate (5,5) ) ausgeführt wurden. (Anmerkung:
Das Diagramm wurde mit einer Tabelle von StarOffice 5.2 erzeugt,
als GIF abgespeichert und von dem Programm gimp formatiert. Alles
unter Linux SuSe7.2) |
|
|
Beispiele zu enum und struct Im
Demoprogram enumstruct1.c sind
zahlreiche kleine Beispiele aufgeführt, wie man enum und
struct verwenden kann.
|
world1.c: Skizze für ein World-Programm Mit dem Datentyp struct eröffnen sich ganz neuartige Möglichkeiten, um Eigenschaften der Welt zu modellieren. Im Programm world1.c findet man eine Skizze zu einem möglichen Weltprogramm auf der Basis einer 2D-Ebene. |
Verschiedene Aufgaben
|