#Projet VISIT CMI INFO #Méthode de turing """ Pour ajouter 1 : E0 : VIDE VIDE GAUCHE E1 E1 : 0 0 GAUCHE E1 1 1 GAUCHE E1 VIDE VIDE DROITE E2 E2 : 0 1 DROITE FIN 1 0 DROITE E2 VIDE 1 DROITE FIN """ #Pour lancer le programme : #etat1(tab,0) #Exemple de tableau tab=[-1,1,0,0,0,1,-1] tab1=[-1,1,1,1,-1] tab2=[-1,1,0,0,1,0,-1] tab3=[-1,0,0,0,0,-1] def etat1(tab,lire): """ tab : un tableau d'entier lire : 0 car c'est le premier indice du tableau""" """ c'est l'état 1 : VIDE VIDE GAUCHE E2""" if tab[lire] == -1: # la tete de lecture lit VIDE tab[lire]=-1 # elle ecrit VIDE lire+=1 # elle se depalce à droite etat2(tab,lire) # elle passe à l'état 2 def etat2(tab,lire): """ c'est l'état 2 : 0 0 GAUCHE E2 1 1 GAUCHE E2 VIDE VIDE DROITE E3 """ if tab[lire]==0: # la tete de lecture lit 0 tab[lire]=0 # elle ecrit 0 lire+=1# elle se depalce à droite etat2(tab,lire) # elle passe a l'état 2 elif tab[lire]==1: # la tete de lecture lit 1 tab[lire]=1 # elle ecrit 1 lire+=1 # elle se deplace à droite etat2(tab,lire) # elle passe à l'état 2 elif tab[lire]==-1: # la tete de lecture lit VIDE tab[lire]=-1 #elle ecrit VIDE lire-=1 # elle se deplace à gauche etat3(tab,lire) # elle passe à l'état 3 def etat3(tab,lire): """ C'est l'état 3 : 0 1 DROITE FIN 1 0 DROITE E3 VIDE VIDE DROITE FIN""" if tab[lire]==0: #la tete de lectre lit 0 tab[lire]=1 # elle ecrit 1 lire-=1 # elle se deplace à gauche print(tab) return tab # Fin du programme elif tab[lire]==1: # la tete de lecture lit 1 tab[lire]=0 # elle ecrit 0 lire-=1 # elle se deplace à gauche etat3(tab, lire) # elle passe à l'état 3 elif tab[lire] ==-1: #la tete de lecture lit VIDE tab[lire]=1 # elle ecrit VIDE lire-=1 # elle se deplace à gauche print(tab) return tab # Fin du programme