„Innere Organe”
Ein teachSHARE zu den Themen „Herz-Kreislaufsystem” und „Atemsystem”
Robot Karol ist eine Programmierumgebung mit einer Programmiersprache, die für Schülerinnen und Schüler zum Erlernen des Programmierens und zur Einführung in die Algorithmik gedacht ist. Robot Karol folgt der Tradition der “Mini-Languages”. Dies sind Programmiersprachen, die bewusst über einen kleinen, übersichtlichen Sprachumfang verfügen, um den Einstieg in die Algorithmik zu erleichtern.
Dem Programm Robot Karol liegt die Idee von „Karel the Robot” zugrunde, wie sie zum ersten Mal von Richard E. Pattis in “Karel the Robot: A Gentle Introduction to the Art of Programming” veröffentlicht wurde. Die Idee ist, einen Roboter zu programmieren, der in einer “Bildschirmwelt” lebt. Wenn Karol-Programme ablaufen, sehen die Schülerinnen und Schüler an der Reaktion des Roboters sofort, was sie programmiert haben und ob ihr Programm die Aufgabenstellung erfüllt.
Robot Karol bietet eine Programmierumgebung mit:
Editor für die Sprache Karol, der Syntaxhervorhebung und Schlüsselwort-Ergänzungen erlaubt
Unterstützung bei der Eingabe des Programmtextes
Darstellung des Programmcodes als Struktogramm und als Code-übersicht
Syntaxüberprüfung mit Fehlerhinweisen
Programmablauf schnell, verzögert oder mit Einzelschritt
grafischen Darstellung einer 3D-Welt, die den Roboter Karol als Figur im Raum zeigt und diese je nach Anweisungen bewegt
grafischen Darstellung einer 2D-Welt
Das Hauptfenster der Programmierumgebung von Robot Karol umfasst die vier Teile Editor, Ansicht, Übersicht und Informationsfläche.
Karol ist eine Programmiersprache mit deutschen Schlüsselwörtern, die für Schülerinnen und Schüler zum Erlernen des Programmierens und zur Einführung in die Algorithmik gedacht ist.
Die Sprache Karol umfasst:
vordefinierte Anweisungen; eigene, selbstdefinierte Anweisungen;
vordefinierte Bedingungen; eigene, selbstdefinierte Bedingungen;
Kontrollstrukturen: bedingte Wiederholung; Wiederholung mit fester Anzahl; bedingte Anweisung;
schnelle, langsame Ausführung; diverse Erweiterungen
Der Roboter Karol kann als ein Objekt der Klasse ROBOTER betrachtet werden, mit folgender Struktur:
Eigenschaften (Attribute):
Position (mit X und Y); Blickrichtung; Geschwindigkeit; maximaleSprunghöhe; ZiegelImRucksack; RucksackGröße;
Methoden (Fähigkeiten):
Karol hat vordefinierte Methoden mit denen er bestimmte Vorgänge ausführen kann (zum Beispiel „einen Schritt nach vorne gehen“). Eine Anweisungen im Programm bedeutet das Senden einer Botschaft an das Objekt Karol, der mit der zugehörigen Methode darauf reagiert.
Eine neue Anweisung in der Sprache Karol festlegen (definieren) heißt, dem Roboter Karol eine neue Methoden beibringen, mit der er auf diese neue Anweisung reagieren kann.
Karol hat aber auch Methoden, mit denen er auf eine Anfrage mit WAHR oder FALSCH antwortet (zum Beispiel „stehst du vor der Wand?“). Der Aufruf einer Methode dieser Art heißt Bedingung. Neue Bedingungen in der Sprache Karol festlegen bedeutet dem Roboter Karol neue Methoden beibringen, mit denen er auf eine bestimmte Anfrage mit WAHR oder FALSCH antworten kann.
Roboter Karol macht einen Schritt bzw. mehrere Schritte in die Blickrichtung:
Schritt
Schritt(Anzahl)
Karol dreht sich nach links (um 90°):
LinksDrehen
Karol dreht sich nach rechts (um 90°):
RechtsDrehen
Karol legt vor sich einen roten Ziegel; eine Anzahl roter Ziegel; einen Ziegel der angegebenen Farbe:
Hinlegen
Hinlegen(Anzahl)
Hinlegen(Farbe)
Karol hebt einen Ziegel beliebiger Farbe auf, der vor ihm liegt; bzw. Anzahl Ziegel:
Aufheben
Aufheben(Anzahl)
Karol setzt an seiner Position eine gelbe Marke; eine Marke der angegebenen Farbe:
MarkeSetzen
MarkeSetzen(Farbe)
Karol löscht an seiner Position eine Marke:
MarkeLöschen
Karol wartet eine Sekunde; Anzahl Millisekunden:
Warten
Warten(Anzahl)
Karol gibt einen Ton von sich:
Ton
Karol stoppt den Programmablauf:
Beenden
Farben:
rot, gelb, blau, grün
Erfassung des Programmtextes
farbliche Hervorhebungen entsprechend der Syntax
Schnelleingabe der reservierten Wörter mit der rechten Maustaste
automatische Codeergänzung bei der Eingabe
Kopieren, Ausschneiden und Einfügen
Suchen und Ersetzen
automatische Formatierung des Programmtextes
einblendbare Zeilennummern
Speichern, Öffnen und Drucken des Programmtextes
Syntaxprüfung mit Fehlerhinweis und Markierung der betroffenen Zeile; Aufruf vor jedem Programmablauf oder gesondert
Ablauf mit Verzögerung; nach jeder Anweisung wartet Karol eine einstellbare Zeit
Schnellablauf ohne Verzögerung
manueller Einzelschritt
Pause und Programmstopp jederzeit möglich
Setzen von Stopppunkten im Programmtext
WAHR, wenn Karol vor der Wand oder vor einem Quader steht und in diese Richtung schaut:
IstWand
WAHR, wenn IstWand nicht zutrifft:
NichtIstWand
WAHR, wenn Karol vor einem Ziegel oder einem Ziegelstapel beliebiger Farbe steht und zu diesem schaut; wenn er vor einem Stapel mit Anzahl Ziegel steht; wenn er vor mindestens einem Ziegel der angegebenen Farbe steht:
IstZiegel
IstZiegel(Anzahl)
IstZiegel(Farbe)
WAHR, wenn IstZiegel nicht zutrifft:
NichtIstZiegel
NichtIstZiegel(Anzahl)
NichtIstZiegel(Farbe)
WAHR, wenn Karol auf einer Marke steht; Marke der angegebenen Farbe:
IstMarke
IstMarke(Farbe)
WAHR, wenn IstMarke nicht zutrifft:
NichtIstMarke
NichtIstMarke(Farbe)
WAHR, wenn Karol in diese Richtung schaut:
IstSüden/ IstNorden/ IstWesten/ IstOsten
WAHR, wenn Karol seine Tragfähigkeit erreicht hat:
IstVoll
WAHR, wenn IstVoll nicht zutrifft:
NichtIstVoll
WAHR, wenn Karol keinen Ziegel mit sich trägt:
IstLeer
WAHR, wenn IstLeer nicht zutrifft:
NichtIstLeer
WAHR, wenn Karol mindestens einen Ziegel mit sich trägt; genau Anzahl Ziegel mit sich trägt:
HatZiegel
HatZiegel(Anzahl)
Im Bereich der Ansicht sieht man Roboter Karol wahlweise in seiner 3D-Welt oder in einer 2D-Darstellung.
Darstellung von Karol, Wänden, Ziegeln, Marken und Quadern
Direktsteuerung von Roboter Karol durch Schaltflächen oder Tasten; direktes Setzen bzw. Entfernen von Ziegeln, Marken und Quadern
Darstellung der Veränderungen während des Programmlaufs
Speichern, Öffnen und Drucken von Karol-Welten
Leeren bzw. Wiederherstellen einer Karol-Welt
Das Karol-Programm kann auch als Struktogramm dargestellt werden.
Ausblendung der Karol-Welt und stattdessen Anzeige des Struktogramms
Speichern, Kopieren und Drucken des Struktogramms als Grafik
Bedingte Anweisung:
wenn Bedingung dann
Anweisungen
endewenn
Bedingte Anweisung zweiseitig:
wenn Bedingung dann
Anweisungen
sonst
Anweisungen
endewenn
Wiederholung mit fester Anzahl:
wiederhole Zahl mal
Anweisungen
endewiederhole
Bedingte Wiederholung mit Anfangsprüfung:
wiederhole solange
Bedingung
Anweisungen
endewiederhole
Bedingte Wiederholung mit Endprüfung:
wiederhole
Anweisungen
endewiederhole solange
Bedingung
Endlos-Wiederholung:
wiederhole immer
Anweisungen
endewiederhole
Auflistung aller Kontrollstrukturen
Auflistung aller vordefinierten Anweisungen und Bedingung
Auflistung der selbstdefinierten Anweisungen und Bedingungen
Darstellung des Programms in Form einer Baumstruktur
selbstdefinierte Anweisung festlegen:
Anweisung NamederAnweisung
Anweisungen
endeAnweisung
Einblendung der aktuellen Karol-Position und der Karol-Blickrichtung
auf Wunsch Einblendung der Ziegelanzahl die Karol momentan trägt
Anzeige der Dateinamen von Programm und Welt
Ausgabe von Fehlermeldungen, sowohl Syntaxfehler als auch Laufzeitfehler
selbstdefinierte Bedingung festlegen:
Bedingung NamederBedingung
Anweisungen
Programmzeilen mit WAHR bzw. FALSCH
endeBedingung
„Robot Karol 3.0“ ist eine komplette Neuprogrammierung der bisherigen „Robot Karol“-Versionen 1.0 bis 2.3 (unter Delphi). „Robot Karol 3.0“ ist auf allen Betriebssystemen (Windows, MacOS, OS X, Linux, Unix ...) lauffähig, die eine Java-Laufzeitumgebung (JRE, Java Runtime Environment) unterstützen. Voraussetzung ist eine auf dem Rechner installierte Java-Runtime in der „Version 8 Update 161“ oder neuer.
Installation: Übertragen Sie die Datei RobotKarol30_Windows_Setup.exe auf Ihren Rechner. Durch Doppelklick auf diese Datei wird das Installationsprogramm für RobotKarol gestartet und die Dateien dem Zielverzeichnis eingerichtet. Dieses Installationsverzeichnis hat üblicherweise den Ordnernamen RobotKarol3. (z. B. C:\Programme\RobotKarol3)
Start: Das Programm RobotKarol wird durch Doppelklick auf KarolProgVerz\RobotKarol.exe oder durch Doppelklick auf den Dektop-Link RobotKarol3 gestartet.
Installation: „Robot Karol 3.0“ wird in einer gepackten Datei RobotKarol30.zip ausgeliefert. Das Paket RobotKarol30.zip muss, einschließlich der enthaltenen Ordnerstruktur, in ein Verzeichnis auf dem Rechner entpackt werden z. B. /Users/Benutzername/RobotKarol3.
Gestartet wird das Programm „Robot Karol 3.0“ über RobotKarol.jar: Doppelklick auf RobotKarol.jar im Ordner KarolProgVerz, oder Doppelklick auf einen Link zur Datei RobotKarol.jar oder im Betriebssystem das Terminal- bzw. Konsolen-Fenster (Eingabeaufforderung, cmd) öffnen, in das Zielverzeichnis wechseln und den Befehl „java -cp RobotKarol.jar -jar RobotKarol.jar” eingeben.
Bei der Installation von Robot Karol werden viele Beispieldateien im Ordner BEISPIELE eingerichtet. Einige Freunde von Karol haben weitere schöne Beispiele eingeschickt, die zur allgemeinen Benutzung zur Verfügung stehen. Danke an die Autoren.
Die Beispiele werden in der gepackten Datei RobotKarol30_Beispiele.zip ausgeliefert. In der zip-Datei befindet sich ein Verzeichnis Uebersicht_Beispiele.pdf für diese Beispiele.
Robot Karol 3.0.4 vom 21.09.2019
Wünsche zur Erweiterung von Robot Karol und Meldungen über Fehler bitte per E-Mail an den Autor von Robot Karol 3.0. Wenn Sie interessante Karol-Programme und zugehörige, schöne Karol-Welten erstellt haben, so senden Sie diese bitte als Anhang, zusammen mit einer kurzen Erklärung, an meine E-Mail-Adresse.
Gute Beispiele zum Einsatz von Robot Karol werden dann in der Beispieldatei RobotKarol30_Beispiele.zip den anderen Schulen zur Verfügung gestellt.
Ulli Freiberger
Luitpold-Gymnasium
Seeaustr. 1
80538 München
Ein teachSHARE zu den Themen „Herz-Kreislaufsystem” und „Atemsystem”
„Think us, not me!“ - eine Aufgabe ohne arbeitsteilige Schritte gemeinsam lösen
Interaktive Simulationen aus dem Bereich Mathematik und Naturwissenschaften
In dem Projekt „AlgoKids” werden Grundschullehrkräfte durch die TU München didaktisch-methodisch beim Programmieren unterstützt.
BR-Hörspiele und Medienkunst aus den Bereichen Literatur, Doku, Pop und Sound Art
Wesentliche Ziele des Deutschunterrichts sind mündlicher und schriftlicher Sprachgebrauch, Sprachlehre, Literatur und Medien und in einem fächerübergreifenden Ansatz auch der Erwerb von Arbeitstechniken.