loader

Machine de Turing Electronique Programmation d’Algorithmes

I ) Description :

Zone d’affichage (en haut) ;

La zone d’affichage contient 16 colonnes de voyants oranges, verts, et rouges + 16 petits voyants bleus dont un seul est allumé, indiquant la colonne active.

Sur la droite, les 4 boutons blancs servent à placer le voyant bleu et la couleur de la colonne : orange, vert, ou rouge.
L’appui prolongé sur le bouton de gauche ou de droite fait défiler rapidement vers la gauche ou la droite le voyant bleu.

Il faut choisir les couleurs de chaque colonne de la zone d’affichage et positionner correctement le voyant bleu (possible seulement quand le commutateur « Prog / Run » est sur « Prog ») avant d’exécuter l’algorithme (commutateur sur « Run »).

Zone de programmation (en bas) ;

La zone de programmation contient 6 afficheurs : 2 pour le numéro de l’état actuel (entre 1 et 12), 2 pour celui de l’état futur (entre 1 et 12), et 2 pour le numéro de programme (entre 1 et 50). Les différents boutons colorés et les voyants servent à saisir l’algorithme, ou le lire.

L’appui prolongé sur un bouton de sélection de programme (+ ou -) fait défiler rapidement le numéro de programme.

La saisie de l’algorithme se fait lorsque le commutateur est sur « Prog », et son exécution lorsqu’il est sur « Run ». Le bouton « Vitesse » permet de régler la vitesse d’exécution du programme (commutateur sur « Run »).

II ) Programme d’algorithme :

Catégories de programmes d’algorithmes ;

Il existe des dizaines d’algorithmes pour ce type de dispositif, dont le principe a été inventé par un célèbre mathématicien Anglais du 20ème siècle : Alan Turing.

Ces algorithmes existent depuis des dizaines d’années et ont majoritairement été trouvés par des mathématiciens ou des mathématiciennes.
On peut classer ces algorithmes en différentes catégories, comme par exemple :

Les animations lumineuses ;
Les calculs mathématiques (addition, soustraction, multiplication, division) ;
La détermination du PGCD de deux nombres ;
La divisibilité ou la non divisibilité entière ;
Les suites de nombres (entiers, suite de Fibonacci, etc…)

Pour les calculs mathématiques, les nombres sont représentés en format binaire : une colonne verte = chiffre 0 et une colonne rouge = chiffre 1. Dans ce cas, les voyants oranges ne sont pas utilisés pour coder les nombres, mais comme séparateurs.

De tels algorithmes se trouvent sur internet, avec leur programme respectif, mais l’objectif de ce montage est que vous trouviez par vous-même les programmes de vos algorithmes !

Programme numéro 1 (pré enregistré) : animation lumineuse « ping pong » ;

  1. Mettez le commutateur sur « Prog » ;
  2. Dans la zone d’affichage, mettez toutes les colonnes sur orange, sauf deux colonnes de votre choix, que vous mettez sur vert : par exemple, les colonnes 3 et 12 ;
  3. Utilisez les boutons de direction pour mettre le petit voyant bleu (colonne active) entre les colonnes en vert. Par exemple, si vous avez choisi de mettre en vert les colonnes 3 et 12, alors, choississez l’une des colonnes de 4 à 11 comme colonne active ;
  4. Mettez le commutateur sur « Run » ;
  5. Faites varier la vitesse d’exécution du programme en tournant le bouton de vitesse.

Tout comme les ordinateurs, cette machine de Turing électronique peut exécuter inlassablement le programme, sans se fatiguer ni se tromper, et très rapidement !
Avec une faible vitesse d’exécution, vous pouvez suivre le déroulement du programme en regardant la zone de programmation.

Lecture du code d’un programme d’algorithme ;

Pour lire un programme, le commutateur doit être sur « Prog ». Dans la zone « état actuel », sélectionnez le numéro d’état et une couleur : pour chaque état (entre 1 et 12) et chaque couleur actuelle (= couleur de la colonne en cours de traitement), on voit dans la zone « état futur » trois informations :

  1. La couleur que prendra la colonne en cours de traitement ;
  2. Quelle sera la colonne suivante qui sera traitée : celle à gauche ou celle à droite, ou la même que précédemment (flèche éteinte) ;
  3. Le numéro de l’état futur (voir plus loin pour plus d’explications).

Vous pouvez modifier les informations de l’état futur et les enregistrer en appuyant brièvement sur le bouton noir « Enter ».
Il y a donc en tout 12 états x 3 couleurs = 36 combinaisons possibles d’état actuel.

Principe de fonctionnement de cette machine de Turing électronique ;

Le principe de fonctionnement est exactement celui imaginé par Alan Turing, et qui est le principe de fonctionnement qui a permis de créer les ordinateurs, puis, plus tard, énormément de dispositifs électroniques comme par exemple les smartphones, les tablettes tactiles, mais aussi les fours à micro-ondes ou les lave-vaisselle !: tout ce qui contient un processeur.

Voici ce que fait la machine de Turing quand elle exécute l’algorithme :

  1. Etat actuel : la machine « regarde » la couleur de la colonne en cours de traitement (c’est celle qui est indiquée par le petit voyant bleu) ;
  2. Etat actuel (suite) : la machine « regarde » le numéro d’état actuel dans laquelle elle se trouve (c’est là qu’Alan Turing a été ingénieux : c’est lui qui a inventé cette notion d’état !) ;
  3. En fonction de ce qu’elle a « vu » en a) et b), elle va exécuter le code qui est écrit dans la zone « état futur », c’est à dire qu’elle va faire trois choses, dans l’ordre suivant :

D’abord, elle va recopier la couleur indiquée dans l’état futur (en bas) dans la colonne en cours de traitement dans la zone d’affichage (en haut, repérée par le petit voyant bleu) ;
Ensuite, elle va soit changer de colonne (à gauche ou à droite : voir la flèche dans la zone « état futur », en bas) ou pas (flèche éteinte) ;
Enfin, elle va se mettre dans le numéro d’état futur indiqué en bas et poursuivre le programme en recommençant les étapes ci-dessus.

Saisir et enregistrer un programme d’algorithme ;

Avec l’habitude, vous saurez trouver par vous-même l’algorithme qui permet de faire ce que vous désirez. Certains algorithmes sont faciles à trouver par soi-même (animations lumineuses par exemple), d’autres demandent plus de réflexion. Pour certains algorithmes, c’est très difficile ! Heureusement, beaucoup de personnes ont déjà réfléchi et ont trouvé de nombreux algorithmes que vous trouverez aisément sur internet ou dans les exemples fournis avec votre machine. Certains algorithmes ne nécessitent qu’un seul état, ou deux, alors que d’autres ont besoin de nombreux états.
Un même algorithme peut être programmé de différentes façons. Par exemple, l’animation lumineuse du programme 1 peut être faite avec 4 états au lieu de 2. Plus on utilise la machine de Turing, plus on réfléchit, et plus on développe d’aptitudes à la programmation d’algorithmes. Plus on prend la peine de se creuser la tête, et plus cela devient facile !

Pour saisir un programme, mettez le commutateur sur « Prog » et choississez un numéro de programme (entre 1 et 50). Ensuite, pour chaque état actuel (numéro et couleur), que vous mettez en appuyant sur les boutons en bas à gauche, vous devez indiquer l’état futur complet : couleur, direction (flèche pour indiquer si la prochaine colonne à traiter est à gauche ou à droite), et enfin état (futur, évidemment !).
Il faut ensuite enregistrer ces instructions en appuyant brièvement sur le bouton noir, qui est l’équivalent du bouton « Entrée » ou  « Enter » d’un ordinateur.
Une fois que vous avez ainsi saisi toutes les instructions de votre algorithme, il faut enregistrer celui-ci dans la mémoire permanente EEPROM du montage, en appuyant pendant 3 secondes sur le bouton noir « Enter ». Si vous ne le faites pas, votre programme s’effacera quand vous éteindrez le montage en le débranchant… Le montage vous indiquera que l’enregistrement dans la mémoire EEPROM est terminé en écrivant 88 dans le numéro de programme, pendant 1 seconde. Désormais, vous pouvez débrancher le montage sans crainte : le programme est enregistré de façon permanente et vous n’aurez plus besoin de le saisir à nouveau. Bien sûr, vous pourrez toujours le modifier par la suite et le ré enregistrer de la même façon !

N’oubliez pas de régler l’état initial des couleurs de la zone d’affichage (commutateur sur « Prog ») et de placer correctement le petit voyant bleu de la colonne active avant de lancer l’exécution de votre algorithme (commutateur sur « Run »).

Si votre programme ne fonctionne pas comme prévu ;

Rassurez-vous, tout programmeur ou programmeuse a dû re vérifier son programme pour le faire fonctionner ! Relisez tranquillement votre programme (commutateur sur « Prog »), et faites le exécuter à vitesse minimale, pour voir en même temps le code de votre algorithme, en bas, et le résultat sur les voyants de la zone d’affichage, en haut. Modifier le code en conséquence (commutateur sur « Prog ») en validant chaque modification par un appui bref sur le bouton noir « Enter ».

Effacement de tous les programmes ;

L’appui prolongé sur le bouton du choix de la flèche (environ 5 secondes) provoque l’effacement de tous les programmes d’algorithmes de la mémoire permanente EEPROM, sauf le programme 1 (animation lumineuse « ping pong »).
Pendant l’effacement, le numéro de programme indiqué est 0.

Feuilles de code d’algorithmes ;

Ce montage est livré avec des feuilles de code d’algorithmes : des exemples et des feuilles vierges à compléter vous-même. N’hésitez pas à partager vos propres algorithmes !