Multiplication par la machine de Post-Wang

Pour effectuer le produit de 3 par 4, on commence par cocher 3 puis 4 cases consécutives (séparées par une seule case non cochée) de manière à avoir la suite "11101111". En plaçant Mario au-dessus de la première case cochée, il va effectuer le produit, en ayant coché autant de cases que le produite comporte d'unités (par exemple, 12 cases consécutives) à la fin. On pourrait fort bien écrire un seul programme (il suffit de copier-coller un programme complet dans une des fenêtre). Cependant, la complexité de l'algorithme incite à donner trois programmes successifs à exécuter, et c'est ce que l'on va faire ici à titre pédagogique :

  1. Comme la bande est binaire, il faut ajouter avant chaque nombre une case cochée supplémentaire, qui sert d'adresse mémoire. Le premier programme sert donc à préparer la suite, en cochant une case devant (ou derrière) chaque facteur, et une case pour l'instant seule, destinée à repérer le produit.
  2. Le second programme est le plus long, il fait une double boucle:
  3. Après l'exécution du programme 2, il y a donc, à cause du programme 1, une case de trop cochée pour le second facteur et le produit (le premier facteur a été effacé). Le troisième programme efface le second facteur et enlève la case de trop pour le produit, ce qui permet alors à Emilio de poser fièrement devant le produit.

Instructions du langage

Les programmes :

Programme 1 Programme 2 Programme 3

Ne pas oublier de stopper l'animation avant de changer de programme !

Numéro du programme actuellement exécuté :

1

Emilio lit la ligne 1 qui dit :"".

La représentation binaire des données est 0.

Vitesse de l'animation :