Niki – der Roboter
# 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“ basieren (siehe Robot Karol). Der Name Niki wurde gewählt, um den Informatiker Niklaus Wirth zu ehren. 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 }.

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 sind vor allem Hamster, Kara, der Käfer, Robi, der Roboter und Robot Karol bekannt. Deutlich komplexer ist die Programmiersprache Logo, basiert aber auf den gleichen Grundlagen (Turtle-Steuerung).

