You are on page 1of 6

Impossible d'afficher l'image lie.

Le fichier a peut-tre t dplac,


reno mm ou sup prim. Vrifiez que
la liaison poin te vers le fichier et
l'emplacement corr ects.

Impossible d'afficher l'image lie. Le fichier a peut-tre t dplac,


reno mm ou sup prim. Vrifiez que la liaison p ointe ver s le fichier et
l'emplacement corr ects.

Impossible d'afficher l'image lie. Le fichier a p eut-tre t


dplac, reno mm ou sup prim. Vrifiez que la liaison p ointe
v ers le fichier et l'emplacement cor rects.

Impossible d'afficher l'image lie.


Le fichier a peut-tre t dplac,
reno mm ou sup prim. Vrifiez que
la liaison poin te vers le fichier et
l'emplacement corr ects.

Impossible d'afficher l'image lie.


Le fichier a peut-tre t dplac,
reno mm ou sup prim. Vrifiez que
la liaison poin te vers le fichier et
l'emplacement corr ects.

Qu'est-ce qu'une structure conditionnelle?


On appelle structure conditonnelle les instructions qui permettent de tester si une condition
est vraie ou non. Ces structures conditionnelles peuvent tre associes des structures qui se
rptent suivant la ralisation de la condition, on appelle ces structures des structures de
boucle

La notion de bloc
Une expression suivie d'un point-virgule est appele instruction. Par exemple a++; est une
instruction.
Lorsque l'on veut regrouper plusieurs instructions, on peut crer ce que l'on appelle un bloc,
c'est--dire un ensemble d'instructions (suivies respectivement par des point-virgules) et
comprises entre les accolades { et }.
Les instructions if, while et for peuvent par exemple tre suivies d'un bloc d'instructions
excuter...

L'instruction if
L'instruction if est la structure de test la plus basique, on la retrouve dans tous les langages
(avec une syntaxe diffrente...). Elle permet d'excuter une srie d'instruction si jamais une
condition est ralise.
La syntaxe de cette expression est la suivante:
if (condition ralise) {
liste d'instructions
}
else {
liste d'instructions
}
Remarques:

la condition doit tre entre des parenthses


il est possible de dfinir plusieurs conditions remplir avec les oprateurs ET et OU
(&& et ||)
par exemple:
if ((condition1)&&(condition2)) teste si les deux conditions sont vraies
if ((condition1)||(condition2)) excutera les instructions si l'une ou l'autre des deux
conditions est vraie
s'il n'y a qu'une instruction, les accolades ne sont pas ncessaires...
s'il n'y a qu'une instruction, les accolades ne sont pas ncessaires...

les instructions situes dans le bloc qui suit else sont les instructions qui seront
excutes si la ou les conditions ne sont pas remplies

L'instruction if ... else


L'instruction if dans sa forme basique ne permet de tester qu'une condition, or la plupart du
temps on aimerait pouvoir choisir les instructions excuter en cas de non ralisation de la
condition...
L'expression if ... else permet d'excuter une autre srie d'instruction en cas de non-ralisation
de la condition.
La syntaxe de cette expression est la suivante:
if (condition ralise) {
liste d'instructions
}
else {
autre srie d'instructions
}

une faon plus courte de faire un test (oprateur ternaire)


Il est possible de faire un test avec une structure beaucoup moins lourde grce la structure
suivante, appele oprateur ternaire:
(condition) ? instruction si vrai : instruction si faux
Remarques:

la condition doit tre entre des parenthses


Lorsque la condition est vraie, l'instruction de gauche est excute
Lorsque la condition est fausse, l'instruction de droite est excute

L'instruction switch
L'instruction switch permet de faire plusieurs tests de valeurs sur le contenu d'une mme
variable. Ce branchement conditionnel simplifie beaucoup le test de plusieurs valeurs d'une
variable, car cette opration aurait t complique (mais possible) avec des if imbriqus. Sa
syntaxe est la suivante:
switch (Variable) {
case Valeur1:
Liste d'instructions
break;
case Valeur1:
Liste d'instructions
break;
case Valeurs...:

Liste d'instructions
break;
default:
Liste d'instructions
break;
}
Les parenthses qui suivent le mot cl switch indiquent une expression dont la valeur est
teste successivement par chacun des case. Lorsque l'expression teste est gale une des
valeurs suivant un case, la liste d'instruction qui suit celui-ci est excut. Le mot cl break
indique la sortie de la structure conditionnelle. Le mot cl default prcde la liste
d'instructions qui sera excute si l'expression n'est jamais gale une des valeurs.
Impossible d'afficher l'image lie.
Le fichier a peut-tre t dplac,
reno mm ou sup prim. Vrifiez que
la liaison poin te vers le fichier et
l'emplacement corr ects.

N'oubliez pas d'insrer des instructions break entre chaque test, ce genre d'oubli est
difficile dtecter car aucune erreur n'est signale...

Les boucles
Les boucles sont des structures qui permettent d'excuter plusieurs fois la mme srie
d'instructions jusqu' ce qu'une condition ne soit plus ralise...
On appelle parfois ces structures instructions rptitives ou bien itrations.
La faon la plus commune de faire une boucle, est de crer un compteur (une variable qui
s'incrmente, c'est--dire qui augmente de 1 chaque tour de boucle) et de faire arrter la
boucle lorsque le compteur dpasse une certaine valeur.

La boucle for
L'instruction for permet d'excuter plusieurs fois la mme srie d'instructions: c'est une
boucle!
Dans sa syntaxe, il suffit de prciser le nom de la variable qui sert de compteur (et
ventuellement sa valeur de dpart, la condition sur la variable pour laquelle la boucle s'arrte
(basiquement une condition qui teste si la valeur du compteur dpasse une limite) et enfin une
instruction qui incrmente (ou dcrmente) le compteur.
La syntaxe de cette expression est la suivante:
for (compteur; condition; modification du compteur) {
liste d'instructions
}
Par exemple:
for (i=1; i
printf("%d", i);
}
Cette boucle affiche 5 fois la valeur de i, c'est--dire 1,2,3,4,5
Elle commence i=1, vrifie que i est bien infrieur 6, etc... jusqu' atteindre la valeur i=6,
pour laquelle la condition ne sera plus ralise, la boucle s'interrompra et le programme
continuera son cours.

D'autre part, le langage C++ autorise la dclaration de la variable de boucle dans l'instruction
for elle-mme!
Par exemple:
for (int i=0; i
printf("%d", i);
}

Impossible d'afficher l'image lie.


Le fichier a peut-tre t dplac,
reno mm ou sup prim. Vrifiez que
la liaison poin te vers le fichier et
l'emplacement corr ects.

il faudra toujours vrifier que la boucle a bien une condition de sortie (i.e le
compteur s'incrmente correctement)
une instruction printf(); dans votre boucle est un bon moyen pour vrifier la
valeur du compteur pas pas en l'affichant!
il faut bien compter le nombre de fois que l'on veut faire excuter la boucle:
o for(i=0;i<10;i++) excute 10 fois la boucle (i de 0 9)
o for(i=0;i<=10;i++) excute 11 fois la boucle (i de 0 10)
o for(i=1;i<10;i++) excute 9 fois la boucle (i de 1 9)
o for(i=1;i<=10;i++) excute 10 fois la boucle (i de 1 10)

L'instruction while
L'instruction while reprsente un autre moyen d'excuter plusieurs fois la mme srie
d'instructions.
La syntaxe de cette expression est la suivante:
while (condition ralise) {
liste d'instructions
}
Cette instruction excute la liste d'instructions tant que (while est un mot anglais qui signifie
tant que) la condition est ralise.
Impossible d'afficher l'image lie.
Le fichier a peut-tre t dplac,
reno mm ou sup prim. Vrifiez que
la liaison poin te vers le fichier et
l'emplacement corr ects.

La condition de sortie pouvant tre n'importe quelle structure conditionnelle, les risques
de boucle infinie (boucle dont la condition est toujours vraie) sont grands, c'est--dire
qu'elle risque de provoquer un plantage du navigateur!

Saut inconditionnel
Il peut tre ncessaire de faire sauter la boucle une ou plusieurs valeurs sans pour autant
mettre fin celle-ci.
La syntaxe de cette expression est "continue;" (cette instruction se place dans une boucle!), on
l'associe gnralement une structure conditionnelle, sinon les lignes situes entre cette
instruction et la fin de la boucle seraient obsoltes.
Exemple: Imaginons que l'on veuille imprimer pour x allant de 1 10 la valeur de 1/(x-7) ... il
est vident que pour x=7 il y aura une erreur. Heureusement, grce l'instruction continue il
est possible de traiter cette valeur part puis de continuer la boucle!

x=1
while (x<=10) {
if (x == 7) {
printf("Division par zro!");
continue;
}
a = 1/(x-7);
printf("%d", a);
x++
}
Il y avait une erreur dans ce programme... peut-tre ne l'avez-vous pas vue:
Lorsque x est gal 7, le compteur ne s'incrmente plus, il reste constamment la valeur 7, il
aurait fallu crire:
x=1
while (x<=10) {
if (x == 7) {
printf("division par 0");
x++;
continue;
}
a = 1/(x-7);
printf("%d", a);
x++
}

Arrt inconditionnel
A l'inverse, il peut tre voulu d'arrter prmaturment la boucle, pour une autre conditon que
celle prcis dans l'en-tte de la boucle. L'instruction break permet d'arrter une boucle (for
ou bien while). Il s'agit, tout comme continue, de l'associer une structure conditionnelle, sans
laquelle la boucle ne ferait jamais plus d'un tour!
Dans l'exemple de tout l'heure, par exemple si l'on ne savait pas quel moment le
dnominateur (x-7) s'annule (bon...OK...pour des quations plus compliques par exemple) il
serait possible de faire arrter la boucle en cas d'annulation du dnominateur, pour viter une
division par zro!
for (x=1; x<=10; x++) {
a = x-7;
if (a == 0) {
printf("division par 0");
break;
}
printf("%d", 1/a);
}

Impossible d'afficher l'image lie.


Le fichier a peut-tre t dplac,
reno mm ou sup prim. Vrifiez que
la liaison poin te vers le fichier et
l'emplacement corr ects.

Impossible d'afficher l'image lie.


Le fichier a peut-tre t dplac,
reno mm ou sup prim. Vrifiez que
la liaison poin te vers le fichier et
l'emplacement corr ects.

You might also like