[ Home ] [ Das Niki - Menü ] [ Die Programmiersprache ] [ Syntax ] [ Aufgaben ] [ NIKI-Beispiele ]
Die NIKI-Sprache entspricht einer Untermenge von PASCAL. Als Grundelemente kommen nur die NIKI-Anweisungen in Betracht. Die Formulierung der Schlüsselwörter und der Programmanweisungen hängen von der gewählten Programmsprache ab. Je nach Einstellung im Optionen-Dialog können Sie englische oder deutsche Schlüsselwörter benutzen. Die folgenden Ausführungen basieren auf den englischen Bezeichnungen.
Jedes NIKI-Programm besteht aus einem Programmkopf und einem Programmrumpf. Der Programmkopf enthält das Schlüsselwort PROGRAM
und den Namen des Programms. Der Programmrumpf muss mit BEGIN
und END
geklammert und beinhaltet Anweisungen, die durch ein Semikolon getrennt werden. Ein Punkt markiert das Programmende.
Nach dem Programmkopf können Prozeduren folgen, die dem Aufbau von Programmen entsprechen. Der Prozedurkopf besteht aus dem Wort PROCEDURE
und dem Prozedurnamen, gefolgt von einem Anweisungsblock. Prozeduren können sich dabei selbst aufrufen (Rekursion)
An jeder beliebigen Stelle im Programm können Kommentare eingefügt werden. Beim Übersetzen des Programmtexts ignoriert der Compiler die Kommentare. Zwei Kommentarklammerungen sind möglich:
{ dies ist ein Kommentar mit geschweiften Klammern }
(* dies ist eine Klammer mit einem Stern *)
Beispiele für ein vollständiges NIKI-Programm in englisch und deutsch.
Die Formulierung der Kontrollstrukturen hängt von der gewählten Programmsprache ab. Es können je nach Einstellung im Optionen-Dialog englische oder deutsche Schlüsselwörter verwendet werden. Die Syntax entspricht der von PASCAL.
Folgende Kontrollstrukturen sind in der NIKI-Programmiersprache enthalten:
Verbund-Anweisung:
BEGIN Anweisungen END;
Schleife mit Eingangsbedingung:
WHILE Bedingung DO Anweisung;
Schleife mit Ausgangsbedingung:
REPEAT Anweisungen UNTIL Bedingung;
einseitige Entscheidungsanweisung:
IF Bedingung THEN Anweisung;
zweiseitige Entscheidungsanweisung:
IF Bedingung THEN Anweisung ELSE Anweisung;
Verbund-Anweisung:
BEGINN Anweisungen ENDE;
Schleife mit Eingangsbedingung:
SOLANGE Bedingung TUE Anweisung;
Schleife mit Ausgangsbedingung:
WIEDERHOLE Anweisungen BIS Bedingung;
einseitige Entscheidungsanweisung:
WENN Bedingung DANN Anweisung;
zweiseitige Entscheidungsanweisung:
WENN Bedingung DANN Anweisung SONST Anweisung;
Die folgenden Befehle bilden den Grundwortschatz.
vor | NIKI geht eine Stelle in Blickrichtung weiter |
drehe_links | NIKI dreht sich um 90° links |
nimm_auf | NIKI nimmt einen Gegenstand von seiner Position auf |
gib_ab | NIKI legt einen Gegenstand auf seiner Position ab |
Arbeitsfeld(Feld) | Das Arbeitsfeld Feld wird geladen |
abschalten | Das Programm wird beendet |
Der Befehl Arbeitsfeld dient zum Laden eines Arbeitsfeldes von Diskette oder Festplatte. Die Anweisung darf nur als erster Befehl in einem Block stehen, d.h. entweder erster Befehl im Hauptprogramm oder in einer Prozedur. Es wäre also denkbar, NIKI in einem Programm auf mehreren Arbeitsfeldern agieren zu lassen.
Die Anweisung abschalten kann an jeder beliebigen Stelle des Programms aufgerufen werden und schaltet den Roboter ab.
Seine `Intelligenz' erhält NIKI erst dadurch, daß er über Sensoren verfügt und mit diesen Sensoren flexibel auf seine Umgebung reagieren kann.
Wahr, wenn
vorne_frei | vor NIKI in Blickrichtung kein Hindernis steht |
rechts_frei | rechts neben NIKI kein Hindernis ist |
links_frei | links neben NIKI kein Hindernis ist |
Platz_belegt | sich auf Nikis Position mindestens ein Gegenstand befindet |
hat_Vorrat | NIKI mindestens einen Gegenstand als Vorrat besitzt |
nordwaerts | NIKI in Richtung Nord blickt |
suedwaerts | NIKI in Richtung Süd blickt |
westwaerts | NIKI in Richtung West blickt |
ostwaerts | NIKI in Richtung Ost blickt |
Die Sensoren können als Bedingungen in die Entscheidungsanweisungen und Wiederholungsanweisungen eingesetzt werden. Sie lassen sich mit NOT
negieren, bzw. mit AND
und OR
verknüpfen. Dabei gelten die in Pascal üblichen Vorrangregeln. Klammern binden stärker als NOT
, NOT
geht vor AND
und dieses vor OR
.
Beispiel:
WHILE vorne_frei AND NOT Platz_belegt DO vor;
In der vorliegenden Version ist eine Compileroption D zum Umschalten der NIKI-Programmsprache vorgesehen. Man kann so innerhalb eines Programms zwischen der Syntax für deutsche und englische Schlüsselwörtern wählen.
Compileroptionen stehen in Kommentarklammern, denen ein $-Zeichen folgt. Die folgenden Optionen sind möglich:
D+ schaltet auf deutsche Schlüsselwörter ein D- schaltet auf englische Schlüsselwörter ein D= schaltet zu der vor der letzten Compiler-Option gültigen Version
Gültige Ausdrücke sind z.B. {$ D+}
oder (*$ D= *)
.
Durch das Einbinden von Include-Dateien kann der Quelltext auf mehrere Dateien verteilt werden, was die Projektarbeit erheblich vereinfacht.
Mit der Compileroption „I“ gefolgt vom Dateiname der Include-Datei können Sie Include-Dateien in NIKI-Programme einfügen. Die Include-Datei wird dann auf dem aktuellem Pfad gesucht.
Beispielsweise wird durch „{$ IBASIS.PAS }
“ die Datei „BASIS.PAS“ zum Quelltext hinzugeladen. Auf diese Weise lassen sich auch Teach-in-Sequenzen zu einem Programmtext laden. Die Sequenz wird durch Aufruf des entsprechenden Dateinamens gestartet.
[ Home ] [ Das Niki - Menü ] [ Die Programmiersprache ] [ Syntax ] [ Aufgaben ] [ NIKI-Beispiele ]