Das folgende Kapitel setzt Kenntnisse einer höheren Programmiersprache voraus. Verzweigungen und Schleifen werden nicht erklärt, sondern als bekannt vorausgesetzt. Hier soll nur beschrieben werden, wie diese Konstrukte in der mapleeigenen Programmiersprache umgesetzt werden.
Verzweigungen werden mit den Schlüsselworten if, then, elif, else und fi gebildet. Sie können beliebig verschachtelt werden.
if und fi bilden Anfang und Ende der Verzweigungsanweisung. then leitet den Zweig ein, der ausgeführt wird, wenn die Bedingung erfüllt ist. Ist die Bedingung nicht erfüllt, werden die auf else folgenden Anweisungen berücksichtigt.
elif ist eine Abkürzung für else if und hat dieselbe Bedeutung. Zur Beendigung einer elif-Verzweigung ist kein fi nötig.
Die allgemeine Form einer Verzweigung lautet also:
if bed_1
then kommando; ... kommando;
elif bed_2
then kommando; ... kommando;
elif ...
...
else kommando; ... kommando;
fi;
Als Trennzeichen zwischen den Kommandos kann : oder ; stehen. Das Abschlußzeichen hinter dem fi entscheidet, ob Ergebnisse erscheinen oder nicht.
Bedingung werden aus boolschen Ausdrücken gebildet. Ein boolscher Ausdruck kann die Werte true oder false annehmen. Boolsche Ausdrücke können mit and und or verknüpft werden bzw. mit not verneint.
Ein boolscher Ausdruck kann z.B. aus Gleichungen oder Ungleichungen gebildet werden.
![]() |
Verzweigungen |
Schleifen werden mit den Schlüsselwörtern for, from, to, by, in, while, do und od gebildet.
do und od bilden Anfang und Ende des Schleifenkörpers. Der Schleifenkopf wird durch for eingeleitet, gefolgt von der Schleifenvariablen. Der Startwert der Variablen steht hinter from, der Endwert hinter to, das Inkrement kann hinter by angegeben werden. Standardmäßig wird um eins hochgezählt.
Die Grundform der Schleife lautet also:
for var
from a
to b
by c
do
kommando_1; ...; kommando_n;
od;
![]() |
Die Schleifenvariable kann nur den Datentyp integer oder float annehmen. Es sind keine algebraischen Ausdrücke möglich. |
Alternativ kann die Schleifenvariable alle Werte einer Liste annehmen. Dazu dient das Schlüsselwort in, also:
for var
in liste
do
kommando_1; ...; kommando_n;
od;
In diesem Fall können in der Liste beliebige Datentypen stehen.
![]() |
Wenn die Schleifenvariable aus vorherigen Zuweisungen einen Wert hat, wird die for-Schleife trotzdem erwartungsgemäß ausgeführt. Anschließend ist der Wert der Variablen aber durch die for-Schleife verändert. |
![]() |
Schleifen |
Alle Schlüsselworte bis auf do und od können entfallen. Folgende Standardwerte werden ergänzt, wenn die entsprechenden Schlüsselworte fehlen:
Schlüsselwort | Default |
from | from 1 |
to | to infinity |
by | by 1 |
Wenn das Schlüsselwort for entfällt, hat die Schleife keine Schleifenvariable. Auf diese Weise lassen sich leicht Endlosschleifen oder Schleifen ohne Sinn erzeugen!
![]() |
Schleifen mit wenigen Schlüsselworten |
Zusätzlich zu den bisher beschriebenen gibt es das Schlüsselwort while, dem eine Bedingung folgt. Die Anweisungen im Schleifenkörper werden ausgeführt, sofern die Bedingung den Wert true ergibt. Ergibt die Bedingung den Wert false, bricht die Schleife ab. Dieser Schleifentyp wird abweisende Schleife genannt.
In der allgemeinen Form lautet eine while-Schleife:
while bed
do
kommando; ... kommando;
od;
Die Schlüsselwörter der for-Schleife können mit while kombiniert werden. So ergibt sich eine zusätzliche Abbruchbedingung für die Schleife.
![]() |
Eine einfache while-Schleife |