AlgoBox

Tutoriel

3. Instructions conditionnelles
Comme nous l'avons déjà vu, un algorithme permet d'exécuter une liste d'instructions les unes à la suite des autres.
Mais on peut aussi "dire" à un algorithme de n'exécuter des instructions que si une certaine condition est remplie.
  • Cela se fait grâce à la commande SI...ALORS que l'on peut insérer dans AlgoBox à l'aide du bouton Ajouter SI...ALORS.
    On obtient alors la structure suivante :
  • Il est aussi possible d'indiquer en plus à l'algorithme de traiter le cas où la condition n'est pas vérifiée.
    (cela se fait en cochant l'option Ajouter SINON dans la boîte de dialogue correspondante à cette commande)
    On obtient alors la structure suivante :
Regardons sur deux exemples, comment cela se passe en pratique.
Exemple 3.1 : Comment créer un algorithme qui demande un nombre à l'utilisateur et qui affiche la racine carrée de ce nombre s'il est positif.
  1. Il va nous falloir deux variables contenant des nombres : une pour le nombre entré par l'utilisateur que nous allons appeler x et une autre pour le résultat que nous allons appeler racine.
    Après avoir lancé AlgoBox (ou cliqué sur le bouton Nouveau si le programme est déjà lancé) :
    • On clique sur le bouton Déclarer nouvelle variable .
    • Dans le champ Nom de la variable, on entre x, on vérifie que le Type de la variable est bien sur NOMBRE et on clique sur OK .
    • On clique de nouveau sur le bouton Déclarer nouvelle variable .
    • Dans le champ Nom de la variable, on entre racine, on vérifie que le Type de la variable est bien sur NOMBRE et on clique sur OK .
  2. Il faut maintenant permettre à l'utilisateur d'entrer le nombre dont on veut la racine :
    • Avec la souris, on se place (si ce n'est pas déjà le cas) sur la ligne DEBUT_ALGORITHME, puis on clique sur le bouton Nouvelle Ligne.
    • On clique alors sur le bouton Ajouter LIRE variable.
    • Dans le champ LIRE la variable, on vérifie que x est bien sélectionné et on clique sur OK.
  3. Il faut maintenant ajouter la commande SI...ALORS :
    • Avec la souris, on se place (si ce n'est pas déjà le cas) sur la ligne LIRE x, puis on clique sur le bouton Nouvelle Ligne.
    • On clique alors sur le bouton Ajouter SI...ALORS.
    • Dans le champ après Si la condition :, on entre x>=0 (c'est notre condition pour pouvoir calculer la racine) et on clique sur OK (la case Ajouter SINON n'étant pas cochée).
  4. Détaillant maintenant les instructions que l'algorithme doit suivre quand notre condition est vérifiée :
    • En étant bien positionné sur la ligne vide (entre la ligne DEBUT_SI et la ligne FIN_SI), on clique alors sur le bouton AFFECTER valeur à variable.
    • Pour La variable, on sélectionne racine, puis dans le champ après prend la valeur, on entre sqrt(x) et on clique sur le bouton OK.
    • En étant bien positionné sur la ligne racine PREND_LA_VALEUR sqrt(x), on clique sur le bouton Nouvelle Ligne.
    • Il n'y a plus qu'à cliquer sur le bouton Ajouter AFFICHER variable, puis sélectionner racine après AFFICHER la variable et cliquer sur OK.
Notre algorithme est fini et devrait correspondre à ça :

Cliquer ici pour voir l'ensemble des étapes en vidéo.

Fichier de l'exemple : exemple3_1.alg
(faire un clic-droit et utiliser l'option enregistrer sous pour télécharger le fichier)


Exemple 3.2 : Conception d'un algorithme qui demande à l'utilisateur d'entrer deux nombres (stockés dans les variables x et y) et qui affiche le plus grand des deux.
Analyse du problème :
  • Il va falloir d"abord déclarer les deux variables x et y du type NOMBRE (bouton Déclarer nouvelle variable), puis LIRE le contenu de ces deux variables (bouton Ajouter LIRE variable) .
  • On utilise ensuite le raisonnement suivant :
    • SI x>y alors le plus grand des deux nombres correspond à la valeur de x qu'on affiche.
    • SINON (dans la cas contraire), le plus grand des deux nombres correspond à la valeur de y qu'on affiche.
    Concrètement avec AlgoBox :
    • on crée une nouvelle ligne (bouton Nouvelle Ligne) après les lignes LIRE x et LIRE y, puis on clique sur le bouton Ajouter SI...ALORS.
    • Dans le champ après SI la condition de la boîte de dialogue, on entre x>y et on coche la case Ajouter SINON avant de cliquer sur OK.
    • On se place sur la ligne vide entre DEBUT_SI et FIN_SI, puis on clique sur Ajouter AFFICHER variable et on sélectionne x comme variable à afficher.
    • On se place sur la ligne vide entre DEBUT_SINON et FIN_SINON, puis on clique sur Ajouter AFFICHER variable et on sélectionne y comme variable à afficher.
L'algorithme devrait correspondre à ça :

Cliquer ici pour voir l'ensemble des étapes en vidéo.

Fichier de l'exemple : exemple3_2.alg
(faire un clic-droit et utiliser l'option enregistrer sous pour télécharger le fichier)

Activité 3.1 :
On considère l'algorithme ci-dessous :

Déterminer quelles sont les valeurs des variables A et B à la fin de l'exécution de l'algorithme.

Cliquer ici pour voir la correction.


Activité 3.2 :
Concevoir avec AlgoBox un algorithme correspondant au problème suivant :
  • on demande à l'utilisateur d'entrer un nombre (qui sera représenté par la variable x)
  • si le nombre entré est différent de 1, l'algorithme doit stocker dans une variable y la valeur de 1/(x-1) et afficher la valeur de y (note : la condition x différent de 1 s'exprime avec le code x!=1). On ne demande pas de traiter le cas contraire.

Cliquer ici pour voir la correction.

Sommaire | Page suivante >


© 2009 / - Pascal Brachet
L'auteur est professeur de mathématiques au lycée Bernard Palissy d'Agen.
Ce programme est distribué selon les termes de la licence libre GPL.