Vous cherchez un nouveau défi ?
Pourquoi pas la création d´un petit interpréteur d´un langage " basic" de votre invention ?
Le programme comporterait une pile pour les opérations mathématiques ( une simple variable ) et serait composé d´un tableau d´entier de 100 éléments qui contiendrait les instructions et les variables.
Les instructions seraient les suivantes :
10xx : Lit un entrée clavier et le stocke à l´emplacement xx de la mémoire.
11xx : Affiche le contenu de l´emplacement xx à l´écran.
20xx : Charge le contenu de l´addresse xx dans la pile.
21xx : Stocke lle contenu de la pille à l´addresse xx
30xx : Addition : ajoute le contenu de la variable xx à la pile.
31xx : Soustraction : retranche le contenu de la pile par la valeur contenue dans xx.
32xx : Multiplication : multiplie le contenu de la pile par la valeur stockée à l´emplacement xx.
33xx : Division...
40xx : Va à lemplacment xx de la mémoire( goto/branchement )
41xx : Va à lemplacment xx de la mémoire si la pile est négative.
42xx : Va à lemplacment xx de la mémoire si la pile est nulle.
43 : Fin du programme
Bon maintenant un petit exemple avec un programme qui calcule et affiche la somme de deux nombres entrés au clavier :
00 : 1007 // Entrée du premier nombre dans 07
01 : 1008 // Entrée du second nombre dans 08
02 : 2007 // Chargement de 07 dans la pile
03 : 3008 // Ajout de 08 à la pile
04 : 2109 // Stockage du résultat de la pile dans 09
05 : 1109 // Affichage de 09
06 : 43 // Fin du programme
Les deux chiffres ( 00 : , 01 : , 02 : ) ne doivent pas êtres tapés par l´utilisateur et représentent l´emplacement mémoire de l´instruction ( dans le tableau ) .
Comme on peut le voir dans cet exemple les case 00 à 06 contiennent le programme et les cases 07 à 09 contiendront les variables lors de son execution ( gracce aux instructions( 1007, 1008, 2109 )
Bien sur le langage développé ici est très simple et libre à vous de l´améloiorer par la suite, en ajoutant de nouvelles instructions, en permettant à l´utilisateur d´entré des mots pour les instructions ( ex : INPUT xx pour 10xx ) , en permettant de déclarer des variables, etc...
( Pour ceux qui possèdent " Comment programmer en c++, le projet devrait vous rappeler quelque chose
)
Bonne chance.