Académique Documents
Professionnel Documents
Culture Documents
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:
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 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);
}
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);
}