Maxima Manual: Einführung in die Programmierung

Next: Funktionen und Variablen der Programmierung, Previous: Lisp und Maxima, Nach oben: Programmierung [Inhalt][Index]

### 27.2 Einführung in die Programmierung

In Maxima können Programme geschrieben werden. Alle Maxima-Funktionen und Maxima-Variablen können in Programmen verwendet werden. Maxima hat einen Übersetzer, um Maxima-Programme in Lisp-Programme zu übersetzen, und einen Compiler, um die übersetzten Programme zu kompilieren. Siehe dazu das Kapitel Übersetzer.

Maxima-Programme bestehen aus Funktionen und Makros, die im Kapitel Funktionsdefinitionen beschrieben sind. Die Funktionen werden aus Ausdrücken der Form `(expr_1, expr_2, ..., expr_n)` oder `block`-Anweisungen zusammengesetzt. Mit der Anweisung `local` werden Variablen definiert, deren Werte und Eigenschaften lokal zu einem Block sind.

Konditionale Verzweigen werden mit der Anweisung `if` definiert und haben die Form `if ... then ... else`.

Maxima kennt die sehr allgemeine Anweisung `for`, um Schleifen zu programmieren. Schlüsselworte für die Programmierung von Schleifen sind `while`, `unless`, `do` sowie `thru`, `step`, `in`.

Mit der Sprunganweisung `return` kann ein Block verlassen werden und mit der Sprunganweisung `go` wird innerhalb eines Blockes zu eine Marke verzweigt. Nicht-lokale Rücksprünge aus Funktionen werden mit den Anweisungen `catch` und `throw` programmiert.

Die Anweisung `errcatch` fängt Fehler ab, so dass die Ausführung eines Programms nicht abgebrochen wird. Mit der Anweisungen `error` und `break` wird ein Programm abgebrochen. Im ersten Fall kann eine Fehlermelung ausgegeben werden und das Programm kehrt zur Maxima-Kommandozeile zurück. Mit `break` wird der Maxima-Debugger gestartet.

Maxima kennt die folgenden Anweisungen und Variablen um Programme zu definieren:

       backtrace    block        break
       catch        do           eval_when
       errcatch     error        error_size
       error_syms   errormsg     for
       go           if           local
       return       throw        unless
       while

Next: Funktionen und Variablen der Programmierung, Previous: Lisp und Maxima, Nach oben: Programmierung [Inhalt][Index]