From 2dee810ffd9468cb092d100102349427a6baa992 Mon Sep 17 00:00:00 2001 From: gwen Date: Thu, 27 Apr 2017 11:55:24 +0200 Subject: [PATCH] exercices sur les structures de controle de base --- algorithmique/cours/control.txt | 135 ++++++++++++++++++++++++++++++ algorithmique/cours/programme.txt | 28 +++++++ 2 files changed, 163 insertions(+) diff --git a/algorithmique/cours/control.txt b/algorithmique/cours/control.txt index 86435d1..350e648 100644 --- a/algorithmique/cours/control.txt +++ b/algorithmique/cours/control.txt @@ -82,6 +82,34 @@ On appelle structure conditionnelle les instructions qui permettent de tester si \end{algorithm} + +.. ifconfig:: exercice + + **Exercice** : Compacter l'algorithme suivant en une seule condition de test:: + + Si il fait trop chaud Alors + Si il ne pleut pas Alors + Ouvrir la fenêtre + Sinon + Fermer la fenêtre + Finsi + Sinon + Fermer la fenêtre + Finsi + +.. ifconfig:: correction + + **Correction** : + + :: + + Si il fait trop chaud ET il ne pleut pas Alors + Ouvrir la fenêtre + Sinon + Fermer la fenêtre + Finsi + + L'instruction switch -------------------- @@ -128,6 +156,45 @@ La boucle **pour** (for) \end{algorithmic} \end{algorithm} + + + + +.. ifconfig:: exercice + + **Exercice** : Ecrire un algorithme qui demande successivement 20 nombres à l’utilisateur, + et qui lui dise ensuite quel était le plus grand parmi ces 20 nombres + +.. ifconfig:: correction + + **Correction** : + :: + + Variables N, i, PG en Entier + Debut + PG <- 0 + Pour i <- 1 à 20 + Ecrire "Entrez un nombre : " + Lire N + Si i = 1 ou N > PG Alors + PG <- N + FinSi + Ecrire "Le nombre le plus grand était : ", PG + Fin + + +.. attention:: ne jamais manipuler le compteur dans une boucle + +:: + + Variable Truc en Entier + Début + Pour Truc <- 1 à 15 + Truc <- Truc * 2 + Ecrire "Passage numéro : ", Truc + Truc Suivant + Fin + La boucle tant que (while) ~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -145,6 +212,74 @@ La boucle tant que (while) \end{algorithmic} \end{algorithm} +.. ifconfig:: exercice + + **Exercice** : Ecrire un algorithme de validation d'une entrée utilisateur + + :: + + "Voulez vous un café ? (O/N)" + +.. ifconfig:: correction + + **Correction** : deux solutions possibles, une + + :: + + Variable Rep en Caractère + Début + Rep <- "" + Ecrire "Voulez vous un café ? (O/N)" + TantQue Rep <> "O" et Rep <> "N" + Lire Rep + Si Rep <> "O" et Rep <> "N" Alors + Ecrire "Saisie Erronée, Recommencez" + FinSi + FinTantQue + Fin + + :: + + Variable Rep en Caractère + Début + Ecrire "Voulez vous un café ? (O/N)" + Lire Rep + TantQue Rep <> "O" et Rep <> "N" + Ecrire "Vous devez répondre par O ou N. Recommencez" + Lire Rep + FinTantQue + Ecrire "Saisie acceptée" + Fin + + +FIXME + +.. ifconfig:: exercice + + **Exercice** : "C'est plus, C'est moins", c'est-à-dire Ecrire un algorithme qui demande à l’utilisateur + un nombre compris entre a et b jusqu’à ce que la réponse convienne. + +.. ifconfig:: correction + + **Correction** : + + :: + + Variable N en Entier + Debut + N <- 0 + Ecrire "Entrez un nombre entre 10 et 20" + TantQue N < 10 ou N > 20 + Lire N + Si N < 10 Alors + Ecrire "Plus grand !" + SinonSi N > 20 Alors + Ecrire "Plus petit !" + FinSi + FinTantQue + Fin + + Et les autres boucles : répéter... jusqu'à, etc... .. raw:: latex diff --git a/algorithmique/cours/programme.txt b/algorithmique/cours/programme.txt index 64ee270..f6d8b55 100644 --- a/algorithmique/cours/programme.txt +++ b/algorithmique/cours/programme.txt @@ -60,6 +60,34 @@ Autres exemples d'expressions : Les expressions se complexifient avec la complexification des données et des traitements, mais le principe de l'expressivité d'un langage reste le même. + +.. ifconfig:: exercice + + **Exercice** : + Le parenthésage et les opérateurs booléens:: + + Variables A, B, C, D, E en Booléen + Variable X en Entier + Début + Lire X + A <- X > 12 + B <- X > 2 + C <- X < 6 + D <- (A ET B) OU C + E <- A ET (B OU C) + Ecrire D, E + Fin + + **Que valent D et E si X = 3 ?** + + +.. ifconfig:: correction + + **Correction** : D sera VRAI alors que E sera FAUX + + + + Les déclarations -----------------