Académique Documents
Professionnel Documents
Culture Documents
TD 2 – exos corrigés
Structures conditionnelles
1) Bonjour Monsieur/Madame...................................................................................................................1
2) Tarif entrée au parc................................................................................................................................2
3) Mots par ordre alphabétique ?...............................................................................................................3
4) Mention en fonction de la moyenne de l’élève......................................................................................4
5) Quel tarif pour telle personne ?..............................................................................................................5
6) Accès à l’attraction selon l’âge et la taille.............................................................................................5
7) Mise en route / arrêt du chauffage.........................................................................................................8
8) Mini calculatrice..................................................................................................................................10
9) Quelle heure sera-t-il dans une minute ?..............................................................................................11
10) Droit au logement social....................................................................................................................12
Je vous donne des solutions. Ce ne sont pas toutes les solutions. Vous avez peut-être résolu un exercice
de manière différente.
1) Bonjour Monsieur/Madame
Écrire un algo qui affiche "Bonjour Monsieur" ou "Bonjour Madame" selon le sexe de
l'utilisateur.
Correction
On doit demander à l'utilisateur si c'est un homme ou une femme.
Variable genre: chaîne
Début
Écrire "Vous êtes un homme ou une femme ? (h/f)"
Lire genre
Si genre == "h" Alors
Écrire "Bonjour Monsieur"
Sinon
Écrire "Bonjour Madame"
Fin Si
Fin
Remarque : si on saisit "H", affichera "Bonjour Madame"
Autre solution qui permet de traiter le cas où l'utilisateur ne donne aucune réponse attendue.
Variable genre: chaîne
Début
Écrire "Vous êtes un homme ou une femme ? (h/f)"
Lire genre
Si genre == "h" Alors
Écrire "Bonjour Monsieur"
Sinon Si genre=="f" Alors
Écrire "Bonjour Madame"
Sinon
Écrire "Je n'ai pas compris votre réponse."
Fin Si
Fin
Une solution où on calcule et affiche le total directement dans les blocs d'instructions du SI.
Variables nbPers,total : entier
Début
Écrire "Combien de personnes ?"
Lire nbPers
Si nbPers<8 Alors
total ← 9 * nbPers
Écrire "Le total est de " , total , "euros"
Sinon
total ← 5 * nbPers
Écrire "Le total est de " , total , "euros"
Fin Si
Fin
Remarque : les 2 blocs d'instructions du SI sont quasi identiques, donc dans un cas comme dans l'autre les
mêmes instructions sont exécutées, la seule différence est le prix par personne 5 et 9. On peut donc mettre les
instructions hors su SI et laissé dans le SI seulement le choix de 5 ou 9.
Même solution mais sans utiliser de variable total. On affiche directement le résultat
Variables nbPers: entier
Début
Écrire "Combien de personnes ?"
Lire nbPers
Si nbPers<8 Alors
Écrire "Le total est de " , 9 * nbPers , "euros"
Sinon
Écrire "Le total est de " , 5 * nbPers , "euros"
Fin Si
Fin
Master Sciences du langage 3/15
Une solution où on détermine le prix par personne dans le SI, et on calcule le total après le SI.
Variables nbPers, prix, total: entier
Début
Écrire "Combien de personnes ?"
Lire nbPers
Si nbPers<8 Alors
prix ← 9
Sinon
prix ← 5
Fin Si
total ← prix * nb_pers
Écrire "Le total est de" , total , "euros"
Fin
Solution avec ET Je ne remets que la partie SI. Le reste de l’algo est comme précédemment.
Si mot1 < mot2 ET mot2 < mot3 Alors
Écrire "Les 3 mots sont dans l’ordre alphabétique"
Sinon
Écrire "Les 3 mots ne sont pas dans l’ordre alphabétique"
Fin Si
Solution avec OU
Si mot1 > mot2 OU mot2 > mot3 Alors
Écrire "Les 3 mots ne sont pas dans l’ordre alphabétique"
Sinon
Écrire "Les 3 mots sont dans l’ordre alphabétique"
Fin Si
Avec des Sinon Si et des ET (permet de ne pas suivre l’ordre croissant ou décroissant des notes.
Je ne remets que la partie SI car le reste de l’algo ne change pas.
Si moy < 10 Alors
Écrire "échec"
Sinon Si moy >= 16 ET moy < 18 Alors
Écrire "Très Bien"
Sinon Si moy >= 12 ET moy < 14 Alors
Écrire "Assez Bien"
Sinon Si moy ≥ 10 ET moy < 12 Alors
Écrire "Passable"
Sinon Si moy ≥ 18 Alors
Écrire "Félicitations !"
Sinon
Écrire "Bien"
Fin Si
Master Sciences du langage 5/15