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.
- 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 .
-
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.
-
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).
-
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 >