Niki – der Roboter
Mit Niki – der Roboter (oft auch Niki oder NIKI) wird eine Gruppe von Computerprogrammen bezeichnet, die auf der von Richard E. Pattis entwickelten Idee von „Karel, the robot“[1] basieren. Der Name Niki wurde gewählt, um den Informatiker Niklaus Wirth zu ehren.[2] Es handelt sich um bewusst rudimentär gehaltene Programmiersprachen (Minisprachen), die den Einstieg in die Algorithmik erleichtern sollen. Programmiert wird ein virtueller Roboter, der sich auf einem Kachelfeld bewegt und Gegenstände aufnehmen und abladen kann. Die Programmierung gibt Einsteigern einen ersten Einblick in die Welt der prozeduralen Programmierung.
Aufgrund der einfachen Bedienung und des begrenzten Befehlssatzes ist Niki für den Einstieg in die Programmierung gut geeignet, insbesondere zum Erlernen der zur strukturieren Programmierung von Niklaus Wirth entwickelten Lehrsprache Pascal.
Der Roboter
Der Roboter ist nur mit den nötigsten Fähigkeiten ausgestattet. Er kann sich nach links drehen, einen Schritt vorwärts bewegen, einen Gegenstand aufheben und einen Gegenstand abgeben. Kompliziertere Bewegungen können über die Kombination der einfachen Befehle erreicht werden.
Die Sprache
Die Sprache ist angelehnt an Pascal, jedoch wurde der Sprachumfang von Niki stark reduziert, um die Anfangsschwierigkeiten beim Erlernen der Programmierung möglichst gering zu halten.
Die Niki-Sprache umfasst Prozeduren, Rekursion, die Wiederholungsanweisungen Repeat Until
und While Do
, und die Verzweigung If Then Else
. Eine große Bedeutung hat dabei die frühe Einführung des Prozedur-Konzepts. Damit können die wenigen Niki-Anweisungen vor
, drehe_links
, nimm_auf
und gib_ab
wirkungsvoll erweitert werden.
Die Modi
Es gibt zwei Modi, mit welchen der kleine Roboter Niki gesteuert werden kann, die Handsteuerung und die Programmsteuerung.
Programmsteuerung
Der Aufbau eines Programms ist gleich wie in Pascal:
Kommentare beginnen mit {
und enden mit }
.
PROGRAM <programm-name>;
PROCEDURE drehe_rechts; BEGIN drehe_links; drehe_links; drehe_links; END;
BEGIN vor; drehe_rechts; {usw.} END.
Die Befehle, um den Roboter anzusprechen:
Befehl | Beschreibung |
---|---|
vor | gehe einen Schritt nach vorne |
drehe_links | Drehung um 90° nach links |
nimm_auf | nimm einen Gegenstand auf |
gib_ab | gib einen Gegenstand ab |
WHILE | Schleife, die nach Parametern (nicht) mind. einmal durchläuft |
REPEAT | Schleife, die nach Parametern mind. einmal durchläuft |
IF | Wenn-Abfrage |
Variationen
Neben Niki – der Roboter gibt es noch eine Vielzahl von Variationen der gleichen Idee. Neben dem Urahn Karel, the robot[3] sind vor allem Hamster[4], Kara, der Käfer[5], Robi, der Roboter[6] und Robot Karol bekannt. Deutlich komplexer ist die Programmiersprache Logo, basiert aber auf den gleichen Grundlagen (Turtle-Steuerung).
Siehe auch
Literatur
- Alfred Hermes, Dieter Stobbe et al. Eine Einführung in die Algorithmik mit dem Modell Niki der Roboter in: Neue Technologien Heft 1.2, Hrsg. Landesinstitut für Schule und Weiterbildung, Soest 1985.
- Alfred Hermes, Dieter Stobbe: Informatik Eins. Ernst Klett Verlag, Stuttgart 1988. ISBN 3-12-738400-9
Einzelnachweise
- Richard E. Pattis. Karel The Robot: A Gentle Introduction to the Art of Programming. John Wiley & Sons, 1981. ISBN 0471597252
- Niki der Roboter bei Zentrale für Unterrichtsmedien im Internet e. V.
- Roland H. Untch, Sprachgrundlage C++ und C, http://www.cs.mtsu.edu/~untch/karel/
- Dietrich Boles, Sprachgrundlage Java, http://www.java-hamster-modell.de
- Sprachgrundlage Java, http://www.swisseduc.ch/informatik/karatojava/kara/
- Sprachgrundlage JavaScript, http://www.sophie-scholl-schule.eu/joomla/index.php?option=com_content&view=article&id=80%3Arobi&catid=42%3Ainformatik&Itemid=84&lang=de