turing() interpretiert Turingtafeln fr eindimensionale Turingmaschinen von folgendem Schema:

     | "0"      | "1"
--------------------------
"Z1" | "1;Z2;R" | "1;Z3;L"
--------------------------
"Z2" | "1;Z3;R" | "1;Z2;S"
--------------------------
"Z3" | "1;Z1;L" | "0;Z2;L"


"0", "1", "#", ... : Alphabet (beliebiges einzelnes Zeichen)

Z1,Z2,Z3,... : Zustnde

R: rechts
L: links
S: Stop

Die Funktion verlangt drei Parameter: ein Speicherband (LIST), das Schaltwerk (MAT) und die Anfangsposition des Lese-/Schreibkopfs.

z.B.: turing({"0","0","0","0","0","0","0","0","0","0"},biber3,5)

Ziffern mssen nicht als Strings bergeben werden also: z.B. {0,0,0,0,0,0,0,0,0,0}

Beispielprogramme:
biber2.9xm: "Fleiiger Biber" mit zwei Zustnden
biber3.9xm: "Fleiiger Biber" mit drei Zustnden

bei allgemeinen Fragen zum Thema Turingmaschinen oder zum Programm:

>> mackz@mackzweb.com
<< www.mackzweb.com