Robot Karol für Delphi Reinhard Nitzsche, OSZ Handel I Version 0.1 vom 24. Januar 2003 Zusammenfassung Nach der Einführung in die (variablenfreie) Programmierung mit Robot Karol von Freiberger und Krško muss irgendwann der Umstieg auf eine echte Programmiersprache vorgenommen werden. Karol für Delphi ermöglicht es, diesen Umstieg sanft zu gestalten. Die Quelltexte der Units erheben nicht den Anspruch, als vorbildliche objektorientierte Architektur im Unterricht behandelt zu werden. Inhaltsverzeichnis 1 Einleitung 2 1.1 Wieso Karol für Delphi?..................... 2 1.2 Das Konzept von Karol für Delphi............... 2 1.3 Wofür Karol für Delphi nicht gedacht ist............ 3 1.4 Lieferumfang........................... 4 1.5 Installation............................. 4 2 Ideen für den Delphi-Einstieg mit Karol 4 2.1 Ein Karol-Navigator....................... 4 2.2 Bestehende Programme übersetzen............... 4 2.3 Weiterführende Aufgaben.................... 5 1
3 Klassen 5 4 Versionsgeschichte 6 1 Einleitung 1.1 Wieso Karol für Delphi? Die integrierte Entwicklungsumgebung Robot Karol von Freiberger und Krško mit ihrer deutschsprachigen Programmiersprache stellt eine Möglichkeit dar, Anfangsunterricht Informatik mit variablenfreier Programmierung zu gestalten. Zumindest in der Sekundarstufe II ist es zur Erreichung der Unterrichtsziele aber nötig, früher oder später auf eine andere, echte, Programmiersprache umzusteigen. Robot Karol für Delphi soll den Umstieg auf das am Berliner Oberstufenzentrum Handel I im Unterricht verwendete Delphi erleichtern. Es ist aber durchaus denkbar, den Anfangsunterricht gleich mit Karol für Delphi zu beginnen und auf den Einsatz des Original-Karols zu verzichten. 1 Den Schülerinnen und Schülern 2 soll die Möglichkeit gegeben werden, dass mit Robot Karol Erlernte möglichst ohne Bruch auf Delphi zu übertragen. Dies geschieht mit Hilfe der Klasse ckarol, deren Methoden semantisch und syntaktisch so weit wie möglich mit dem Original übereinstimmen. 1.2 Das Konzept von Karol für Delphi Bei der Realisierung einer Karol-Klasse sind wie immer viele Architekturen denkbar. Eine Möglichkeit wäre beispielsweise gewesen, eine Delphi- Komponente zu entwickeln, die die Schüler dann aus der Komponenten- Leiste auf ihr Formular holen können. Neben der technisch gesehen etwas aufwändigen Umsetzung dieser Idee sprach dagegen, dass dies nicht ohne Eingriff in die Delphi-Installation möglich gewesen wäre. In vielen Installationen hätten dann alle Benutzer diese Karol-Komponente zu sehen bekommen. Eine schnelle Anpassung der Units wäre nicht möglich gewesen. Das realisierte Karol-Objekt bringt nun ein eigenes Formular mit. (Siehe Tabelle 1.2.) Hierdurch wird den Schülern besonders deutlich, dass Karol ein 1 für die komfortable Erstellung von Welten für Karol für Delphi ist jedoch eine Robot- Karol-Installation notwendig, da Karol für Delphi keinen eigenen Welteditor hat. 2 Aus Gründen der besseren Lesbarkeit verwende ich im Folgenden die männliche Form gleichermaßen für Schülerinnen und Schüler. 2
Tabelle 1: Gewaltenteilung bei Karol für Delphi. Links das von der ckarol- Klasse geöffnete Formular, rechts eine selbstprogrammierte Fernsteuerung. eigenes Objekt ist, dass sie mit Hilfe ihres selbst programmierten Formulars steuern können. Um beim Einstieg nicht zu viel Objektorientierung und Formalien betreiben zu müssen, wird beim Aufruf eines der beiden Kreatoren zugleich das Spielfeld erzeugt und dieses auch angezeigt. Dies hat den Nachteil, dass die Schüler die Zerlegung des Spielfeldes in weitere Objekte nicht sehen, dafür werden aber Fehlerquellen ausgeschaltet. Ein weiterer Nachteil ist, dass es so in jeder Welt nur einen Karol geben kann. Es erscheint zwar reizvoll, mehrere Karols in einer Welt zu haben, jedoch ergeben sich sinnvolle Anwendungen erst bei nebenläufiger Programmierung, die im Rahmen des Anfangsunterrichts nicht sinnvoll ist. 1.3 Wofür Karol für Delphi nicht gedacht ist Die vorliegende Implementation erhebt nicht den Anspruch, als besonders gutes Beispiel für ein objektorientiertes System zu dienen. Im Rahmen der Binnendifferenzierung im Unterricht kann es sich aber durchaus ergeben, einzelnen Schülern die Quellen zum Studium zu überlassen. 3
1.4 Lieferumfang Karol für Delphi besteht aus folgenden Dateien: [To be coming soon... ] 1.5 Installation [To be coming soon... ] 2 Ideen für den Delphi-Einstieg mit Karol 2.1 Ein Karol-Navigator Die Schüler programmieren ein Formular, mit dem Karol gesteuert werden kann. Neben den Basismethoden können auch eigene Erweiterungen vorgenommen werden, z. B.: Laufe bis zur nächsten Wand (oder Ziegelstapel, allgemeines Hindernis oder Marke). Laufe n Schritte oder lege n Ziegel ab. Einen Ziegestapel auf eine durch ein Edit-Feld angegebene Höhe auffüllen. Um einen Hindernis herumlaufen. Hier müssen allerdings Einschränkungen hinsichtlich der Form, Größe und Lage des Hindernisses gemacht werden. An einer Wand aus Ziegelsteinen bis zu ihrem Ende laufen. Einen Turm oder eine Treppe bestimmter Maße bauen. Eine Wand bestimmter Länge und Höhe bauen. 2.2 Bestehende Programme übersetzen Die bisher mit Karol geschriebenen Programme werden nach Delphi übersetzt. Dabei lernen die Schüler die Kontrollstrukturen von Delhi kennen. Es erscheint zweckmäßig, die Programme in OnClick-Methoden zu implementieren. 4
2.3 Weiterführende Aufgaben Von ckarol kann eine eigene Klasse cmykarol abgeleitet werden, die um einige Methoden erweitert wird. Denkbar ist, Vorschläge aus Abschnitt 2.1 als Methode zu implementieren. 3 Klassen Tabelle 2: Klassen von Karol für Delphi Die implementierten Klassen können Tabelle 3 entnehmen werden. Bei ckarol sind eine Reihe privater Methoden nicht genannt. Jede der Klassen befindet sich in einer Unit für sich. 5
4 Versionsgeschichte Version 0.1 (24.01.2003): Erste lauffähige Version mit allen wichtigen Basisfunktionen. Literatur [FREIBERGER 2002] FREIBERGER, ULLI UND ONDREIJ KRŠKO (2002). Robot Karol. Eine Programmiersprache für Schülerinnen und Schüler. Version 2.1. Verfügbar unter http://www.schule.bayern.de/karol/. 6