Page MenuHomePhabricator

Exercices avancés
Updated 55 Days AgoPublic

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 == "cisceaux") ET (b == "pierre" OU b == "papier" OU b == "cisceaux"):
    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
Last Author
Steve
Last Edited
Aug 25 2020, 11:30 AM

Event Timeline

Steve created this object.Aug 15 2020, 12:36 PM
Steve edited the content of this document. (Show Details)Aug 15 2020, 1:33 PM
Steve edited the content of this document. (Show Details)Aug 15 2020, 1:38 PM
Steve changed the title from Exo to Exercices avancés.Aug 15 2020, 1:41 PM
Steve edited the content of this document. (Show Details)
Steve edited the content of this document. (Show Details)Aug 15 2020, 3:06 PM
Steve edited the content of this document. (Show Details)
Steve edited the content of this document. (Show Details)Aug 15 2020, 3:25 PM
Steve edited the content of this document. (Show Details)
Steve edited the content of this document. (Show Details)Aug 15 2020, 3:45 PM
Steve edited the content of this document. (Show Details)Aug 16 2020, 3:32 PM
Steve edited the content of this document. (Show Details)Aug 25 2020, 11:30 AM