L'alternative

L'ordinateur est une machine très obéissante qui exécute scrupuleusement les ordres qu'on lui donne. Le traitement précédent ajoutera 32 au numéro du caractère en mémoire même si celui-ci n'est pas le numéro d'une lettre majuscule. Par exemple, le numéro 63 représente le point d'interrogation ? et, si on lui ajoutait 32 , on obtiendrait le caractère tiret bas _ , ce qui n'est pas le résultat attendu, donc un bug ! On doit donc ne réaliser cette opération que pour une majuscule. Pour cela, nous allons contrôler que le contenu de la mémoire correspond bien à une lettre majuscule avec l'algorithme suivant :

Accéder à l'adresse mémoire pour trouver le codage du numéro du symbole
Si le numéro est compris entre 65 et 90 Alors (si c'est une majuscule)
   Ajouter 32
   Ranger le résultat dans la mémoire a la même adresse
Fin du Si (sinon rien à faire -- laisser le contenu inchangé)

Cet algorithme est une séquence de deux instructions. La seconde instruction est un si qui est le représentant d'un deuxième mode de combinaison appelé alternative . L'ordinateur est capable d'exécuter cette alternative car l'unité de calcul sait faire des comparaisons et l'unité de contrôle est capable de sélectionner la prochaine instruction à exécuter selon la valeur de cette comparaison. Cela fait partie des fonctionnalités existantes de la machine. Donc selon le résultat de la condition du si , la machine exécutera différentes instructions. Sur notre algorithme, si le numéro du caractère en mémoire est compris entre 65 et 90, c'est-à-dire si le caractère est une majuscule, la machine exécutera les deux instructions pour remplacer la majuscule par la minuscule correspondante dans la mémoire. Dans le cas contraire, on ne fait rien mais nous aurions pu en toute généralité réaliser une autre suite d'instructions. L'alternative est le deuxième mode de combinaison utile pour décrire des algorithmes