Vous êtes sur la page 1sur 2

Les Branchements

Ds quon a des cas, des conditions, des possibilits, des selon que ,
des si , des suivant que
Choisir ses branchements : Les proprits des cas :
- Nombre de cas : On ne compte que ceux pour lequel il se passe quelque chose, et on regroupe
ensemble ceux pour lesquels ils se passent la mme chose
- Compatibles : Si plusieurs dentre eux peuvent tre vrais simultanment. Ils sont incompatibles sil ne
peut y en avoir quun seul de vrai la fois.
- Exhaustif : Si les cas choisis reprsentent la totalit des cas possibles. Ils ne sont pas exhaustifs sil
reste des cas pour lequel il ne se produit rien.
Choix du branchement :
Si les cas sont compatibles autant de if (then fi) quil y a de cas compatibles. Ni elif, ni else.
Sinon :
On peut utiliser des elif et/ou des else
Si les cas sont exhaustifs, le dernier branchement sera un else.
Sinon, pas de else.
Exemple avec 3 cas :
Compatibles
If fi
If fi
If fi

Incompatibles / pas exhaustifs


If
elif
elif
fi

Incompatibles/ Exhaustifs
If
elif
else
fi

IF:
Syntaxe: if < condition > then <instructions si vrai> fi:
Fonctionnement :Si la condition est vraie, les instructions entre le then et le fi sont excutes. Sinon, on passe
directement du then au fi.
IF ELSE
Syntaxe : if <condition > then <instructions si vrai > else <instructions si faux> fi :
Fonctionnement :Si la condition est vraie, les instructions entre le then et le else sont excutes, puis on passe
directement du else au fi.
Si la condition est fausse, on passe directement du then au else, et les instructions entre le else et le fi sont
excutes.
Remarque : Un des deux blocs dinstructions sera forcment excut, mais jamais les deux.
IF ELIF
Syntaxe : if <cas 1> then <instructions du cas 1> elif <cas 2> then <instructions du cas 2> elif <cas 3> then
<instructions du cas 3> [ ventuels autres elif] fi
Fonctionnement :Il regarde pour chaque cas si il est vrai. Si ce nest pas le cas, il passe au elif suivant. Ds quil
en trouve un vrai, il excute les instructions du then de ce cas et passe ensuite directement au fi.
Remarque : Seul le bloc dinstructions du premier cas vrai sera donc excut. Si aucun cas nest vrai, alors
aucun bloc ne sera excut.
IF ELIF ELSE
Syntaxe : if <cas 1> then <instructions du cas 1> elif <cas 2> then <instructions du cas 2> [ ventuels autres elif]
else <intructions si tout les cas sont faux> fi
Fonctionnement :Idem que le if elif sans else, mais cette fois ci, si aucun cas nest vrai, alors le bloc
dinstructions du else sera excut.
Remarque : Cette fois-ci un bloc et un seul sera forcment excut.
Le Si immdiat : `if `
Syntaxe : ` if ` (<condition> , valeur retourne si vrai, valeur retourne si faux )
Fonctionnement : Si la condition du 1er paramtre est vraie, la fonction retourne la valeur du 2 paramtre.
Sinon, cest la valeur du 3 paramtre qui est retourne.
Remarque : Le Si immdiat nest pas un branchement mais une fonction qui simule un branchement (un IF
ELSE), et qui retourne donc une valeur au choix parmi deux selon une condition.
Dimitri K. cours dinfo www.infodauphine.com
tl : 06 09 73 79 17 email/msn : dimitri@infodauphine.com

Les Boucles
Ds quon veut faire la mme chose plusieurs fois, on utilise une boucle.
Choix de la boucle :
Si on peut dterminer le nombre de fois o on va le faire : boucle FOR
Sinon, si il faut que tout ou partie des instructions faire plusieurs fois soit faites quoi quil arrive au moins une
fois : boucle DO
Sinon : boucle WHILE ( les instructions peuvent tre faites plusieurs fois, mais aussi 0 fois)
Principes communs :
Toutes les boucles ont :
- un point de dpart : do/ while/ for
cest ce point que reviendra Maple chaque tour. A part pour la boucle DO, le point dentre possde une
condition de sortie. Suivant cette condition, Maple peut soit continuer la boucle, soit sortir et continuer
lexcution partir du point de sortie.
- un point de fin : od
A chaque fois que Maple arrive sur un od dune boucle, il retourne son point dentre directement. Cest aussi
lendroit do Maple continuera sil doit sortir de la boucle.
- des conditions de sortie optionnelles : break
Gnralement plac lintrieur dun branchement. Si Maple arrive sur un break, il sort de la boucle et continue
donc directement partir du point de fin de cette boucle.
Boucle FOR
For < variable (gnralement i)> from <valeur de dbut> to <valeur de fin> [ by <valeur optionnelle de pas>]
do :
<instructions> :
od :
Exemple : For i from 1 to 5 by 2 do :
Condition de sortie : sort quand la variable est strictement suprieure la valeur aprs le to.
Mcanisme : La variable du for est initialise la valeur du from au premier tour. A chaque passage sur le od,
Maple revient au for et rajoute la valeur du by la variable ( 1 par dfaut). A chaque passage au for, Maple
vrifie que la variable nest pas strictement suprieur la valeur du to, et sort au od si cest le cas.
Utilisation : quand on sait combien de fois on veut faire des instructions.
Boucle WHILE
while < condition boolenne > do :
<instructions>
od:
Exemple: while x<= n do:
Condition de sortie: sort quand la boolenne est fausse.
Mcanisme : A chaque fois que Maple arrive sur le while, il regarde si la condition est vraie ou fausse. Si elle est
vraie, il va excute alors jusquau od, et revient au while.
Sinon, il sort de la boucle et continue dexcuter partir du od.
Utilisation : quand on veut que des instructions puissent tre faites plusieurs fois, mais ventuellement jamais.
Boucle DO
do :
<instructions>
<branchement avec un break>
<instructions ventuelles>
od :

Exemple :
do :
x= x* n :
if x>50 then break fi :
od :

Condition de sortie: pas de condition de sortie. Un break est donc obligatoirement prsent dans la boucle.
Mcanisme : A chaque fois que Maple arrive sur le do, il va excuter alors jusquau od, puis revient au do.. Sil
tombe sur un break, il sort de la boucle et continue dexcuter partir du od.
Utilisation : quand on veut que des instructions soient faites au minimum une fois. On place le break lendroit
partir duquel on souhaite que les instructions puissent ne jamais tre faites.

Dimitri K. cours dinfo www.infodauphine.com


tl : 06 09 73 79 17 email/msn : dimitri@infodauphine.com