Lehr- Lernprozesse im Informatik-Anfangsunterricht
Lehr- Lernprozesse im Informatik-Anfangsunterricht
Lehr- Lernprozesse im Informatik-Anfangsunterricht
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Unterrichtserfahrungen und Praxiskonzepte<br />
Ein ähnliches Muster findet man bei Fleischer (1998, S. 32f), der jedoch der Erstellung der<br />
grafischen Oberfläche eine Phase zur Analyse der Problemstellung voranstellt.<br />
An einem Beispiel von Modrow (1999, S.26ff) können die Überlegungen und typische Programmstrukturen<br />
dieser Herangehensweise aufgezeigt werden. Das Beispiel ist ein kleines<br />
Programm, mit dem ein Nutzer Memory spielen kann.<br />
Die Oberfläche besteht aus einem Fenster mit einigen Einträgen zum Spielstand (Anzahl Versuche,<br />
Anzahl Treffer, ...) und aus schachbrettartig angeordneten Bildern, die anklickbar sind.<br />
Diese Grafikobjekte sind von einer Standardklasse geerbt und <strong>im</strong>plementieren gleichzeitig die<br />
Programmlogik. Eine Memorykarte ist ein an der Oberfläche sichtbares grafisches Element,<br />
das anklickbar ist und den entsprechenden Ereignisbehandler <strong>im</strong>plementiert. Das Hauptprogramm<br />
ist das Fenster, in dem einige Prozeduren (nicht Methoden <strong>im</strong> Sinne der<br />
Objektorientierung) und globale Variablen zur Spielsteuerung <strong>im</strong>plementiert werden (Tabelle<br />
3).<br />
tKarte Hauptprogramm<br />
Nummer // Kartenpaarbezeichner<br />
Xpos // X-Koordinate <strong>im</strong> Fenster<br />
Ypos // Y-Koordinate <strong>im</strong> Fenster<br />
verdeckt // Zustand<br />
ZeigeDich // Darstellung<br />
BeiClick // Ereignisbehandler<br />
Globale Variablen:<br />
ErsteKarte // Zustand: eine Karte aufgedeckt?<br />
N1 // Nummer der ersten aufg. Karte<br />
i1, j1 // Position der ersten Karte<br />
tKarten // Zweid<strong>im</strong>ensinales Feld der Memorykarten<br />
Globale Prozeduren<br />
schreibeNachricht // setzt die weiteren Anzeigen<br />
BehandleErsteKarte // Zustand ändern und Karte aufdecken<br />
BehandleZweiteKarte // Karten vergleichen und Spielzug<br />
aus werten<br />
Tabelle 3 Klassendesign eines Memoryspiels mit Delphi (nach Modrow 2000, S. 30ff)<br />
Der Programmablauf sieht wie folgt aus: „Der zeitliche Ablauf des Memoryspiels wird durch<br />
die BeiKlick-Methode unserer Kartenobjekte festgelegt“ (Modrow 2000, S. 33):<br />
„In dieser ['Bei-Click-Methode'; C. S.] wird (nach den Spielregeln von Memory) zwischen dem<br />
Ziehen der ersten bzw. der zweiten Karte unterschieden. Wird die erste Karte gezogen, dann wird<br />
in ein entsprechendes Unterprogramm [BehandleErsteKarte, C.S.] verzweigt. Be<strong>im</strong> Ziehen<br />
der zweiten Karte wird die Karte aufgedeckt und angezeigt. Danach wird ein T<strong>im</strong>er gestartet, um<br />
das Bild für kurze Zeit zu bewahren. In der T<strong>im</strong>er-Methode des T<strong>im</strong>ers wird (nach der Wartezeit)<br />
das Unterprogramm zur Behandlung der zweiten Karte aufgerufen“ (Modrow 2000, S.31).<br />
Die globale Prozedur BehandleErsteKarte setzt die globalen Zustandsvariablen und<br />
ruft die Methode zeigeDich auf. Die Prozedur BehandleZweiteKarte <strong>im</strong>plementiert<br />
zusätzlich die Funktionalität zum Vergleichen der beiden aufgedeckten Karten und das Auswerten<br />
des Vergleichs.<br />
Die Programmstruktur bzw. das Design ist direkte Folge des Vorgehens be<strong>im</strong> Entwickeln.<br />
Das Design der Anwendung weist einige Auffälligkeiten auf:<br />
• Logik (bzw. Fachmodell) und grafische Oberfläche sind nicht getrennt. Eigentlich existiert<br />
gar keine Logikschicht.<br />
• Funktionalitäten sind nicht eindeutig zugeordnet. Beispiel: Eine Karte reagiert selbst auf<br />
ein Ereignis, arbeitet jedoch nur Teile der Funktionalität ab, 'umgedreht' wird die Karte<br />
durch eine 'BehandleKarte'-Prozedur <strong>im</strong> Hauptprogramm.<br />
19