2
 Seconde 
1
 Première 
T
Terminale

Partagez
Aller en bas
avatar
Maitre Casio
Maitre Casio
Date d'inscription : 22/10/2015
Voir le profil de l'utilisateur

4 : Les boucles de répétions

le Ven 20 Nov - 22:24
Vous savez effectuer une action seulement si une condition est vérifiée..
C'est pas mal, mais vous avez encore du boulot... Il vous manque une notion essentielle


Les boucles de répétition



Les boucles de répétiton, quézako ?
C'est tout simplement une boucle qui permet de répéter (en même temps..) une action jusqu'à ce qu'une condition soit vérifiée.
Il en existe plusieurs sortes :


La boucle While
C'est la boucle la plus utilisée.
Elle permet tout simplement de vérifier une condition, d’effectuer des actions puis de re-vérifier la condition, puis de refaire les actions etc...

La syntaxe :
Code:
While <conditions>
<actions>
WhileEnd

Maintenant, un exemple concret. Imaginons que vous vouliez demander à un joueur de continuer jusqu'à ce qu'il demande de quitter.
On va d'abord initialiser notre variable qui va servir pour la condition :

Code:
0 → A

Ensuite, on va créer notre boucle et demander à l'utilisateur s'il veut continuer ou non :

Code:
0 → A
While A = 0
"Continuer ?"
"0.OUI      1.NON"
? → A
WhileEnd

Vous avez compris ?
Très bien ! On passe à la suite.


La boucle Do
Bon, cette boucle fonctionne globalement de la même façon, sauf qu'elle ne teste la condition qu'à la fin des actions.
Inutile ? QUE NENNI ! Vous allez très vite comprendre.

Code:
Do
<actions>
LpWhile <conditions>

Imaginons que vous vouliez diviser un nombre par deux tant qu'il n'est pas inférieur à 1.

On commence par demander le nombre que l'utilisateur veut diviser.
Code:
? → A

Ensuite, on créer notre boucle.
Code:
? → A
Do
LpWhile A > 1

Et on remplit finalement par l'action qu'on veut effectuer, soit diviser A par deux.

Code:

? → A
Do
A/2 → A
LpWhile A > 1

Simple non ?
Pourtant, le code aurait été plus compliqué et moins simple à lire si on avait utilisé une boucle while classique.  Cela aurait donné :
Code:
? -> A
If A < 1
then A/2 -> A
IfEnd
While A <1
A/2 -> A
WhileEnd

Pourquoi ?
Parce que la condition est testée avant d'effectuer les actions, si A est initialement inférieur à 1, il n'est pas divisé par deux, il faut donc le diviser par deux dans ce cas là..
Bon, je suis mauvaise langue, il y a des moyens beaucoup plus simple de faire cet algo avec une boucle while, mais ça n'est pas toujours le cas..



La boucle FOR
Le boucle For permet de répéter un nombre défini de fois une action.
La syntaxe est :
Code:

For  <Pas> → A to <Limite>
<Actions>
Next

Le pas est le nombre que l'on va rajouter à A à chaque boucle.
Par exemple, pour faire un compteur qui va de deux en deux, on fera
Code:

For 2 → A To 100
Afficher A
Next

Voilà !

Note : J'utilise personnellement très peu la boucle for en basic Casio, mais il est important de la connaitre.



Mais ce n'est pas fini !
Pour vous exercer, la section exercices contient plusieurs programmes assez simple à réaliser pour vous entrainer !



En résumé :

- While "condition" "actions" WhileEnd Pour tester puis faire les actions
- Do  "action" LpWhile "conditions" Pour faire les actions puis tester
- For "pas" → "Variable" To "Limite" "actions" Next Pour répéter un nombre défini de fois une action



Poser une question
Pour poser une question sur ce cours, c'est ! ici !
Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum