Guru
Date of registration: Dec 11th 2001
Location: Hämelerwald
Occupation: Wissenschaftlicher Mitarbeiter (Forschungszentrum L3S, TU Braunschweig)
Das Zeichen, das sich "unter" dem Lesekopf befindet, ist *immer* das Zeichen, das rechts neben der Zustandsangabe steht.Quoted
Original von Yann
Quoted
#|0 s0 |# und jetzt hab ich:
(s0, 0, s1, c, l)
Wie sieht dann die nächste Zeile aus. Wenn ich nach rechts gehe ist mir das klar, aber wie sieht das aus wenn ich nach links gehe?"
Der näste eintrag sieht so aus: #| s1 c |#.
Du betrachtest nur die Zeichen die in der bewehgungs richtung sind... also hier nach links.
Guru
Date of registration: Dec 11th 2001
Location: Hämelerwald
Occupation: Wissenschaftlicher Mitarbeiter (Forschungszentrum L3S, TU Braunschweig)
Ist aber nicht ganz der Algorithmus, der von TM verwendet wird. Du vermindert x2 jeweils blockweise um 3 und prüfst, ob das Ende erreicht ist. TM liest x2 aber in Einzelschritten und verändert dabei zyklisch den aktuellen Zustand. Ist x2 vollständig eingelesen, wird je nach Zustand die Ausgabe geschrieben.Quoted
Original von KreiS
zu 4c) hab ich nun nen Loop programm geschrieben
[Programm]
Source code |
|
1 2 3 4 5 6 7 8 |
read(x1, x2); loop x2 do x0 := x0 + 1; if x0 = 3 then x0 := 0 endif end; write(x0) |
Quoted
loop x2 do
x0 := x0 + 1;
if x0 = 3 then x0 := 0
end;
Quoted
Original von KreiS
In Aufgabe 6 habe ich nun 10 zustände, aber das ding funktioniert :-D ist es egal wo ich es auf dem Tape die 1 oder 0 reinschreibe? hauptsache drumrum blankzeichen?! ;-)
Quoted
if x3 = x1 then x4 := x4 +1;
if x3 = x1 then x4 := 0;
Guru
Date of registration: Dec 11th 2001
Location: Hämelerwald
Occupation: Wissenschaftlicher Mitarbeiter (Forschungszentrum L3S, TU Braunschweig)
Habe leider das endif vergessen. Ist oben jetzt korrigiert. Die Trennung durch Semikolon ist richtig. Ein Semikolon dient nur zur Trennung von Anweisungen, daher muß ans Ende eines Blockes kein Semikolon (es muß ja nichts mehr abgetrennt werden).Quoted
Original von KreiS
Quoted
loop x2 do
x0 := x0 + 1;
if x0 = 3 then x0 := 0
end;
zu deinem Vorschlag, vorm end; und endinf kommt kein ; ?!also wie bei Pascal?!