Ce petit applet simule une machine de Turing. Le programme est indiqué
dans le tag et la bande infinie d'entrée/sortie est saisie dans une fenêtre de texte.
Ainsi, une machine est déclarée de la façon suivante:
<APPLET WIDTH="200" HEIGHT="100" CODE="TuringApplet.class" ALIGN="MIDDLE">
<param name=etats value="-4">
<param name=alphabet value="Bac">
<param name=transitions
value="0-B-G-0,0-c-G-0,0-a-G-1,1-a-G-1,1-c-a-2,2-a-D-2,2-c-G-3,2-B-G-3,3-a-c-3,3-c-D-3,3-B-G-0">
Cette machine est celle qui a été proposée dans le corrigé du partiel:
- l'alphabet est {a, c, B}
- les états sont {q0, q1, q2, q3}
- programme:
- (q0 B G q0) (q0 c G q0) (q0 a G q1)
- (q1 a G q1) (q1 c a q2) (q1 B B q1)
- (q2 a D q2) (q2 c G q3) (q2 B G q3)
- (q3 a c q3) (q3 c D q3) (q3 B G q0)
- cette machine remplace chaque occurence de "ca"
par "ac" et recommence jusqu'à ce qu'il
n'y en ait plus. L'état terminal est l'état q1.
Cette machine peut être essayée sur des chaines du genre:
...BBaacacccBB...,
...BBacaacccBB...,
...BBcacacacaBB....