02.12.2012 Aufrufe

Lehr- Lernprozesse im Informatik-Anfangsunterricht

Lehr- Lernprozesse im Informatik-Anfangsunterricht

Lehr- Lernprozesse im Informatik-Anfangsunterricht

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!