Début de l’algorithme : ► Allouer une variable nommée lettre pouvant contenir le symbole numérique d’un caractère alphabétique (On considère que les symboles des caractères sont rangés dans l’ordre alphabétique de A à Z sur un intervalle) ► Allouer 8 variables pouvant chacune contenir un seizet, nommées : argument, bas, grade, haut, indice, nombre, ordre et retenue ► Si l’adaptation du supplément accélérateur de l’algorithme est réalisée (voir page 5) alors ▪ Allouer 6 variables pouvant chacune contenir un seizet, nommées : fort, pointeur, translation, usuel, vecteur et zone (Les 15 variables ci-dessus peuvent être initialisées à 0 ou toute autre valeur) ► Allouer la séquence de désignation initialement vide (sa taille finale restera inférieure à 256 octets) ► Allouer la séquence de sortie initialement vide (sa taille finale n’a pas de limite prédéfinie) ► Allouer un ensemble de seizets sous la forme d’un tableau de mémoire nommé contenu allant des indices 0 à maximum ; sa taille (maximum + 1) doit être au moins égale à (3 702 784 + t) seizets, avec t la taille d’une matrice d’image (taille maximale si elles ne sont pas toutes de mêmes dimensions), c’est-à-dire sa largeur multipliée par sa hauteur ► contenu[0..10] ← 25, 73, 16521, 122, 16384, 20, 16522, 138, 137, 16409, 26 ► contenu[11..21] ← 16524, 140, 16523, 37, 16387, 65521, 16, 16387, 49, 138, 16524 ► contenu[22..32] ← 140, 28, 16387, 64497, 64242, 64527, 65413, 31, 27, 16387, 29 ► contenu[33..43] ← 25, 16409, 16386, 40, 65504, 49025, 25, 73, 16409, 25, 65484 ► contenu[44..54] ← 121, 16525, 43, 127, 16526, 18, 16524, 140, 32799, 73, 16524 ► contenu[55..65] ← 140, 140, 140, 73, 65464, 32861, 142, 73, 16526, 142, 142 ► contenu[66..76] ← 16526, 142, 59, 16387, 5, 16387, 133, 0, 140, 73, 65447 ► contenu[77..87] ← 40458, 141, 73, 16525, 141, 141, 16525, 141, 76, 16387, 36 ► contenu[88..98] ← 16387, 134, 139, 16523, 16387, 44444, 33333, 33333, 33333, 33333, 33333 ► contenu[99..109] ← 33333, 33333, 33333, 33333, 33333, 33333, 33333, 33333, 33333, 33333, 33333 ► contenu[110..120] ← 138, 73, 16522, 138, 139, 135, 17, 16523, 139, 136, 16387 ► contenu[121..131] ← 4, 38, 3, 16387, 60, 16384, 52, 137, 73, 16409, 25 ► contenu[132..136] ← 16387, 56, 65530, 65427, 65517 (Les seizets des indices 137 à maximum du tableau de mémoire peuvent être initialisés à 0 ou toute autre valeur) ► indice ← 0 ► nombre ← 0 ► retenue ← 0 ► ordre ← 5 ► Tant que ordre ▪ Si ordre > 15 alors ◊ ordre ← ordre – 14 ◊ Si nombre > argument alors ● nombre ← (nombre – argument) – retenue ● retenue ← 0 ◊ Sinon si nombre = argument alors ● nombre ← retenue * 65535 ◊ Sinon ● nombre ← ((nombre + 1) – retenue) + (65535 – argument) ● retenue ← 1 ▪ Sinon si ordre ◊ argument ← contenu[indice] ◊ Si indice = 65535 alors ● indice ← 0 ◊ Sinon ● indice ← indice + 1 ◊ Si argument = 0 alors ● ordre ← ordre + 8 ◊ Sinon si argument ● argument ← contenu[argument] ● ordre ← ordre + 14 ◊ Sinon si argument = 16384 alors ● ordre ← ordre + 11 ◊ Sinon si argument = 16385 alors ● Si nombre o grade ← nombre ● Sinon o ordre ← ordre + 3 ◊ Sinon si argument = 16386 alors ● Si grade = 0 alors o bas ← nombre ● Sinon o haut ← nombre ● Si ((haut * 65536) + bas) > maximum alors o ordre ← ordre + 3 ◊ Sinon si argument = 16387 alors ● indice ← nombre ◊ Sinon si argument ● contenu[argument – 16384] ← nombre ◊ Sinon si argument ● argument ← contenu[(haut * 65536) + bas] ● ordre ← ordre + 14 ◊ Sinon ● contenu[(haut * 65536) + bas] ← nombre ▪ Sinon si ordre = 5 alors ◊ Si indice = 137 alors ● Si nombre = 0 alors o indice ← 0 o ordre ← 8 ● Sinon o Afficher à la ligne le message « Erreur(s) dans les valeurs au début de l’algorithme ! Veuillez les vérifier. » o ordre ← 20 ◊ Sinon ● argument ← contenu[indice] ● indice ← indice + 1 ● ordre ← 19 ▪ Sinon si ordre = 6 alors ◊ Afficher à la ligne le message « Erreur dans l’adaptation de l’algorithme ou tableau de mémoire trop petit ! » ◊ ordre ← 20 ▪ Sinon si ordre = 7 alors ◊ indice ← 8192 ◊ ordre ← 9 ▪ Sinon si ordre ◊ grade ← 0 ◊ haut ← 0 ◊ bas ← 0 ◊ ordre ← ordre – 5 ▪ Sinon si ordre = 11 alors ◊ lettre ← symbole numérique d’un caractère saisi par l’utilisateur ◊ Si lettre ● Si (lettre + 1) > (symbole numérique du caractère « A ») alors o Afficher le caractère saisi par l’utilisateur o argument ← lettre – (symbole numérique du caractère « A ») o ordre ← 17 ▪ Sinon si ordre ◊ argument ← seizet suivant dans la séquence d’entrée dans l’ordre du premier au dernier ◊ ordre ← (ordre – 10) * 9 ▪ Sinon ◊ ordre ← ordre – 11 ◊ Si nombre ● Ajouter l’octet contenu dans nombre à la suite dans la séquence de sortie ◊ Sinon si nombre ● Ajouter un octet de valeur (nombre – 256) à la suite dans la séquence de désignation ◊ Sinon si nombre = 512 alors ● ordre ← 20 ◊ Sinon si nombre = 2000 alors ● Si l’adaptation du supplément accélérateur de l’algorithme est réalisée (voir ci-dessous) alors o ordre ← 1 ◊ Sinon si nombre ● Afficher à la ligne la valeur contenue dans nombre ◊ Sinon si nombre = 4152 alors ● ordre ← 4 ◊ Sinon si nombre ● Afficher à la ligne la signification correspondant à la valeur du symbole (voir page 2) contenu dans nombre ▪ Si l’adaptation du supplément accélérateur de l’algorithme est réalisée (voir ci-dessous) alors ◊ Poursuivre l’exécution de l’algorithme à partir de la ligne « Tant que » en bas de la présente page 5 ► Fin Tant que (c’est-à-dire poursuivre l’exécution de l’algorithme à partir de la ligne « Tant que » en page 3) ► Terminer l’exécution de l’algorithme.