exercices sur les structures de controle de base
This commit is contained in:
parent
ae3cdd92b3
commit
13ca1532ce
@ -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
|
||||
|
@ -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
|
||||
-----------------
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user