Exercices avancés
Exercices avancés
Les alternatives imbriquées
Les structures alternatives peuvent également être imbriquées les une dans les autres. Ainsi, il n'est pas rare de voir des algorithmes plus évolués utilisant ce principe. Dans un tel cas de figure, il faut lire l'alternative de haut en bas. Lorsque la première condition d'un niveau de profondeur est remplie, il n'est plus nécessaire d'évaluer les expressions suivantes. Par exemple, l'algorithme suivant affichera uniquement "Vous êtes un homme", bien que la 2ᵉ condition au même niveau est également vrai.
DÉBUT VARIABLE age: ENTIER VARIABLE sexe: BOOLÉEN age<-21 sexe<-VRAI SI a > 18: SI b EST VRAI: ECRIRE "Vous êtes un homme" SINON ECRIRE "Vous êtes une femme" FIN SI SINON SI a > 0: SI b == 0: ECRIRE "Vous êtes un garcon" SINON ECRIRE "Vous êtes une fille" FIN SI SINON ECRIRE "Vous êtes encore un bébé" FIN SI FIN
Il est préférable d'avoir toujours un niveau d'indentation cohérent pour faciliter la lecture de l'algorithme. Cela permet de comprendre instinctivement où se trouve le niveau d'imbrication et le début et la fin de chacune des alternatives.
Exercices
- Écrivez un algorithme qui détermine lequel des deux nombres entrés par l'utilisateur est le plus grand. Prévenez l'utilisateur si les nombres sont égaux.
lequel est le plus grand
DÉBUT VARIABLE a, b: ENTIER LIRE "Quelle est la valeur de a:", a LIRE "Quelle est la valeur de b?", b SI a == b: ECRIRE "Les valeurs sont identiques" SINON SI a > b: ECRIRE "a est plus grand que b" SINON ECRIRE "b est plus grand que a" FIN SI FIN
- Écrivez un algorithme qui détermine si la série de trois nombres entrés par l'utilisateur est croissante, décroissante, ou indéterminée.
La série est-elle croissante ou décroissante
DÉBUT VARIABLE a, b, c: ENTIER LIRE "Quelle est la valeur de a:", a LIRE "Quelle est la valeur de b?", b LIRE "Quelle est la valeur de c?", c SI a == b ET b == a: ECRIRE "La série de nombre est égale" SINON SI a <= b ET b <= c: ECRIRE "La série est croissante" SINON SI a >= b ET b >= c : ECRIRE "a est plus grand que b" SINON: ECRIRE "La série de nombre n'est ni croissante, ni décroissante" FIN SI FIN
- Écrivez un algorithme qui détermine lequel des trois nombres entrés par l'utilisateur est le plus grand.
lequel est le plus grand
DÉBUT VARIABLE a, b, c: ENTIER LIRE "Quelle est la valeur de a:", a LIRE "Quelle est la valeur de b?", b LIRE "Quelle est la valeur de c?", c SI a == b et b == C: ECRIRE "Les trois nombres sont égaux." SINON: SI a >= b ET a >= c: ECRIRE "a est le plus grand" SINON SI b >= a ET b >= c: ECRIRE "b est le plus grand" SINON: ECRIRE "c est le plus grand" FIN SI FIN
- Écrivez un algorithme qui affiche les 2 nombres les plus grands des trois nombres entrés par l'utilisateur.
lesquels sont les plus grand
DÉBUT VARIABLE a, b, c: ENTIER LIRE "Quelle est la valeur de a:", a LIRE "Quelle est la valeur de b?", b LIRE "Quelle est la valeur de c?", c SI a == b ET a == c,: ECRIRE "Les trois nombres sont égaux." SINON: SI a <= b ET a <= c: ECRIRE "b et c sont les plus grands" SINON SI b <= a ET b <= c: ECRIRE "a et c sont les plus grands" SINON: ECRIRE "a et b sont les plus grands" FIN SI FIN
- Écrivez un algorithme qui arbitre le jeu "Pierre, Papier, Ciseaux"
Pierre papier cisceau
DÉBUT VARIABLE a, b: CHAINE LIRE "Quelle est le choix du joueur 1:", a LIRE "Quelle est le choix du joueur 2:", b SI (a == "pierre" OU a == "papier" OU a == "ciseaux") ET (b == "pierre" OU b == "papier" OU b == "ciseaux"): SI (a == "pierre" ET b == "ciseaux") OU (a == "papier" ET b == "pierre") OU (a == "ciseaux" et b == "papier"): ECRIRE "Le joueur 1 gagne la manche" SINON SI (b == "pierre" ET a == "ciseaux") OU (b == "papier" ET a == "pierre") OU (b == "ciseaux" et a == "papier"): ECRIRE "Le joueur 2 gagne la manche" SINON: ECRIRE "Il y'a égalité" FIN SI SINON: ECRIRE "Il y'a une erreur de saisie." FIN SI FIN
Tags
None
Subscribers
None
- Last Author
- kossolax
- Last Edited
- Oct 29 2020, 2:15 PM