SlideShare une entreprise Scribd logo
1  sur  43
Télécharger pour lire hors ligne
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 1
Chapitre 7:
Les instructions de
contrôle
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 2
▪ Nous commencerons par apprendre à utiliser des
structures de contrôle conditionnelles, aussi
appelées alternatives, du fait que leur forme
généralisée permet de faire un choix entre
plusieurs portions de code à exécuter.
▪ La forme la plus simple d’une structure
conditionnelle est d'exécuter quelque chose dans le
cas où une condition est vraie.
▪ Pour cela, on utilisera la structure de contrôle if,
dont la syntaxe est la suivante :
L’instruction de contrôle if
Chapitre 7: Les instructions de contrôle Instructions alternatives
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 3
if (expression)
{
Instruction1;
Instruction2;
}
else
{
Instruction3;
Instruction4;
}
Syntaxe
if (expression)
{
Instruction1;
Instruction2;
}
N.B. Bien sur on peut faire des tests (if) imbriqué
L’instruction de contrôle if
Chapitre 7: Les instructions de contrôle Instructions alternatives
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 4
Exemple
L’instruction de contrôle if
Chapitre 7: Les instructions de contrôle Instructions alternatives
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 5
L’instruction de contrôle if
Chapitre 7: Les instructions de contrôle Instructions alternatives
Exemple
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 6
1. La syntaxe de l’instruction if n’impose aucun point
virgule.
2. Dans le cas d’imbrication des instructions if, un else
se rapporte toujours au dernier if rencontré auquel
un else n’a pas encore été attribué.
3. La condition doit être entre parenthèses.
4. Il est possible de définir plusieurs conditions à
remplir avec les opérateurs && et ||.
5. La condition peut être une combinaison de plusieurs
conditions.
Remarques
L’instruction de contrôle if
Chapitre 7: Les instructions de contrôle Instructions alternatives
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 7
▪ Considérons l’instruction suivante :
if (expression)
instruction1;
else
intruction2;
▪ En langage C, il est possible, grâce à l’aide de l’opérateur
conditionnel, de traduire cette instruction de la manière
suivante:
expression ? instruction1 : instruction2;
Autre façon d’écriture du if..else
Chapitre 7: Les instructions de contrôle Instructions alternative
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 8
Exemple
Autre façon d’écriture du if..else
Chapitre 7: Les instructions de contrôle Instructions alternatives
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 9
Exemple
Autre façon d’écriture du if..else
Chapitre 7: Les instructions de contrôle Instructions alternatives
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 10
▪ L’instruction switch permet de faire plusieurs tests de
valeurs sur le contenu d’une même variable.
▪ Ce branchement conditionnel simplifie beaucoup le
test de plusieurs valeurs d’une variable ou
expression, car cette opération aurait compliquée
avec des if imbriqués.
▪ La syntaxe de switch est la suivante:
L’instruction de contrôle switch
Chapitre 7: Les instructions de contrôle Instructions alternatives
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 11
switch(expression)
{
case valeur_1 : liste d’instruction_1 ;
break ;
case valeur_2 : liste d’instruction_2 ;
break ;
.
.
case valeur_n : liste d’instruction_n ;
break ;
default : liste d’instruction_Comp ;
}
Type: char ou int
Expression constante
entière
L’instruction de contrôle switch
Chapitre 7: Les instructions de contrôle Instructions alternatives
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 12
Exemple : système feu rouge
L’instruction de contrôle switch
Chapitre 7: Les instructions de contrôle Instructions alternatives
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 13
▪ Les boucles sont des structures qui permettent
d’exécuter plusieurs fois la même série
d’instructions jusqu’à qu’une condition ne soit plus
réalisable.
▪ En C, nous allons voir trois type de boucles:
✓ la boucle for (pour),
✓ la boucle while (tant que… faire…),
✓ La boucle do … while (répéter … tant que).
Les boucles
Chapitre 7: Les instructions de contrôle Instructions itératives
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 14
▪ L'instruction for permet l'exécution répétitive d'une
instruction ou d'un bloc d'instructions un nombre
bien déterminé de fois et cela grâce à un compteur.
▪ Le compteur a une valeur de départ, une valeur
d’arrêt et une instruction d’incrémentation ou
décrémentation.
▪ La structure for est une boucle qui teste une
condition avant d’exécuter les instructions. Ces
instructions sont exécutées (répétées) tant que la
condition est remplie (VRAI).
La boucle for
Chapitre 7: Les instructions de contrôle Instructions itératives
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 15
Syntaxe
for(expression_I ; expression_C ; expression_R)
{
instruction_1 ;
instruction_2 ;
…..
}
✓ expression_I : Initialise le compteur.
✓ expression_C: Condition de bouclage.
✓ expression_R: Réinitialisation du compteur
(incrémentation ou décrémentation).
La boucle for
Chapitre 7: Les instructions de contrôle Instructions itératives
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 16
Exemple
La boucle for
Chapitre 7: Les instructions de contrôle Instructions itératives
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 17
Exemple
La boucle for
Chapitre 7: Les instructions de contrôle Instructions itératives
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 18
Exemple
La boucle for
Chapitre 7: Les instructions de contrôle Instructions itératives
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 19
Exemple
La boucle for
Chapitre 7: Les instructions de contrôle Instructions itératives
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 20
Exemple
Programme qui calcul la somme:
La boucle for
Chapitre 7: Les instructions de contrôle Instructions itératives
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 21
✓ Boucles infinie et boucles vide
for( ; ; )
{
printf("boucle infinie.n") ;
}
Ou bien
for( ; -3 ; )
{
printf("boucle vide.n") ;
}
La boucle for
Chapitre 7: Les instructions de contrôle Instructions itératives
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 22
La structure while ou boucle while permet de faire
répéter l’exécution d’instructions tant qu’une certaine
condition est remplie (vraie). Avec la syntaxe:
while (expression)
{
instruction_1 ;
instruction_1 ;
……….
instruction_n ;
}
La boucle while
Chapitre 7: Les instructions de contrôle Instructions itératives
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 23
▪ Le mot clé while est suivi d’une expression entre
parenthèses représentant la condition de la boucle
(critère de bouclage). Viennent ensuite les
instructions qui doivent être exécutées en fonction
de cette condition. Si l’instruction est unique, les
accolades sont facultatives.
▪ La portion: while(expression) est appelée en-tête de
boucle. La ou les instructions venant après forment
ce qu’on appelle le corps de la boucle.
La boucle while
Chapitre 7: Les instructions de contrôle Instructions itératives
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 24
Exemple
int a=3 ;
while(a > 0)
{
printf("%d n", a) ;
a-- ;
}
3
2
1
La boucle while
Chapitre 7: Les instructions de contrôle Instructions itératives
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 25
▪ Contrairement aux structures for et while, la
boucle do… while teste sa condition après
l’exécution des instructions du corps de la boucle.
▪ Syntaxe
do
{
Instruction_1 ;
Instruction_2 ;
……
} while( expression) ;
La boucle do…while
Chapitre 7: Les instructions de contrôle Instructions itératives
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 26
▪ La boucle do …while ressemble à while, mais les
instructions sont au moins exécutées une seule
fois.
▪ Remarquez qu’il faut ajouter le point-virgule à
la fin de la boucle.
La boucle do…while
Chapitre 7: Les instructions de contrôle Instructions itératves
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 27
#include <stdio.h>
int main(void)
{
int a;
do {
puts("veuillez entrer le nombre 482");
scanf("%d",&a);
} while (a!=482);
puts("Oui C’est bien 482");
getch();
}
La boucle do…while
Chapitre 7: Les instructions de contrôle Instructions itératives
Exemple
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 28
Exemple
La boucle do..while
Chapitre 7: Les instructions de contrôle Instructions itératives
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 29
▪ Les instructions de branchement transfèrent le
contrôle du programme d’une instruction à une
autre, cette dernière n’étant pas directement écrite
après l’exécution précédemment effectuée. Nous
examinerons trois instructions:
✓ break
✓ continue
✓ goto
▪ Il existe encore l’instruction return que nous
traiterons dans le chapitre des fonctions.
Instructions de branchement
Chapitre 7: Les instructions de contrôle
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 30
▪ Elle ne peut s’utiliser qu’à l’intérieur d’une structure
for, while, do … while ou switch. Elle provoque
l’arrêt avant de terminer l’exécution de toutes les
instructions. Pour ce qui concerne l’instruction
switch, nous avons déjà étudié ce mécanisme.
▪ Elle est limitée à un seul niveau d'imbrication.
L’instruction break (interrompre)
Chapitre 7: Les instructions de contrôle Instructions de branchement
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 31
Exemple
L’instruction break (interrompre)
Chapitre 7: Les instructions de contrôle Instructions de branchement
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 32
L’instruction break (interrompre)
Chapitre 7: Les instructions de contrôle Instructions de branchement
Exemple
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 33
Exemple
L’instruction break (interrompre)
Chapitre 7: Les instructions de contrôle Instructions de branchement
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 34
▪ Cette instruction provoque le passage à la
prochaine itération d'une boucle.
▪ Dans le cas d'un white ou do … white, nous
obtenons un saut vers l'évaluation du test de
sortie de boucle.
▪ Dans le cas d'un for on passe à l'expression
d'incrémentation puis au test de bouclage.
▪ En cas de boucles imbriquées, permet
uniquement de continuer la boucle la plus
interne.
L’instruction continue (continuer)
Chapitre 7: Les instructions de contrôle Instructions de branchement
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 35
Exemple
L’instruction continue (continuer)
Chapitre 7: Les instructions de contrôle Instructions de branchement
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 36
Exemple
L’instruction continue (continuer)
Chapitre 7: Les instructions de contrôle Instructions de branchement
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 37
Exemple
L’instruction continue (continuer)
Chapitre 7: Les instructions de contrôle Instructions de branchement
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 38
Exemple
L’instruction continue (continuer)
Chapitre 7: Les instructions de contrôle Instructions de branchement
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 39
▪ L’instruction goto provoque un saut à un endroit du
programme repéré par une étiquette (label). Le
programme continue alors à l’instruction qui se
trouve à cet endroit-là. Voici la syntaxe de goto:
goto étiquette;
▪ étiquette peut être n’importe quel libellé par le
langage (un mot par exemple). L’instruction
identifier par l’étiquette doit avoir la forme
syntaxique suivante.
Étiquette : instruction;
Instruction goto (aller à)
Chapitre 7: Les instructions de contrôle Instructions de branchement
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 40
Instruction goto (aller à)
Chapitre 7: Les instructions de contrôle Instructions de branchement
Exemple
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 41
Exemple
Instruction goto (aller à)
Chapitre 7: Les instructions de contrôle Instructions de branchement
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 42
Exemple
Instruction goto (aller à)
Chapitre 7: Les instructions de contrôle Instructions de branchement
M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 43
Exemple
Instruction goto (aller à)
Chapitre 7: Les instructions de contrôle Instructions de branchement

Contenu connexe

Similaire à Chapitre 7 - Les instructions de contrôle.pdf

Python appliqué en apprentissage automatique (Applied Python in Machine Learn...
Python appliqué en apprentissage automatique (Applied Python in Machine Learn...Python appliqué en apprentissage automatique (Applied Python in Machine Learn...
Python appliqué en apprentissage automatique (Applied Python in Machine Learn...
Guillaume Chevalier
 
0006- Les instructions Itératives (Boucles) - Pour - Tantque - Répéter.ppsx
0006- Les instructions Itératives (Boucles) - Pour - Tantque - Répéter.ppsx0006- Les instructions Itératives (Boucles) - Pour - Tantque - Répéter.ppsx
0006- Les instructions Itératives (Boucles) - Pour - Tantque - Répéter.ppsx
BenacerLeila
 
1 analyse-et-mesure-des-performances
1 analyse-et-mesure-des-performances1 analyse-et-mesure-des-performances
1 analyse-et-mesure-des-performances
m.a bensaaoud
 

Similaire à Chapitre 7 - Les instructions de contrôle.pdf (20)

Algorithme & structures de données Chap II
Algorithme & structures de données Chap IIAlgorithme & structures de données Chap II
Algorithme & structures de données Chap II
 
Chapitre 1 - Algorithmique.pdf
Chapitre 1 - Algorithmique.pdfChapitre 1 - Algorithmique.pdf
Chapitre 1 - Algorithmique.pdf
 
Formation Langage c.pptx
Formation Langage c.pptxFormation Langage c.pptx
Formation Langage c.pptx
 
Tests unitaires : Utilisation de la librairie CUnit
Tests unitaires : Utilisation de la librairie CUnitTests unitaires : Utilisation de la librairie CUnit
Tests unitaires : Utilisation de la librairie CUnit
 
Chapitre 03 : Structures de contrôle
Chapitre 03 : Structures de contrôleChapitre 03 : Structures de contrôle
Chapitre 03 : Structures de contrôle
 
DartttttttttttttttttttttttversionFinal.pdf
DartttttttttttttttttttttttversionFinal.pdfDartttttttttttttttttttttttversionFinal.pdf
DartttttttttttttttttttttttversionFinal.pdf
 
Python appliqué en apprentissage automatique (Applied Python in Machine Learn...
Python appliqué en apprentissage automatique (Applied Python in Machine Learn...Python appliqué en apprentissage automatique (Applied Python in Machine Learn...
Python appliqué en apprentissage automatique (Applied Python in Machine Learn...
 
Language-C.ppt
Language-C.pptLanguage-C.ppt
Language-C.ppt
 
Cours - TC - Histoire Algorithmique.pdf
Cours - TC - Histoire Algorithmique.pdfCours - TC - Histoire Algorithmique.pdf
Cours - TC - Histoire Algorithmique.pdf
 
Chapitre 10 - Les chaines de characteres.pdf
Chapitre 10 - Les chaines de characteres.pdfChapitre 10 - Les chaines de characteres.pdf
Chapitre 10 - Les chaines de characteres.pdf
 
Ch4- les structures répétitives.pdf
Ch4- les structures répétitives.pdfCh4- les structures répétitives.pdf
Ch4- les structures répétitives.pdf
 
System c eniso_jan_fev_07
System c eniso_jan_fev_07System c eniso_jan_fev_07
System c eniso_jan_fev_07
 
Cours de C++, en français, 2002 - Cours 1.5
Cours de C++, en français, 2002 - Cours 1.5Cours de C++, en français, 2002 - Cours 1.5
Cours de C++, en français, 2002 - Cours 1.5
 
Support programmation orientée objet c# .net version f8
Support programmation orientée objet c#  .net version f8Support programmation orientée objet c#  .net version f8
Support programmation orientée objet c# .net version f8
 
Cours algorithme: structures répétitives
Cours algorithme: structures répétitivesCours algorithme: structures répétitives
Cours algorithme: structures répétitives
 
0006- Les instructions Itératives (Boucles) - Pour - Tantque - Répéter.ppsx
0006- Les instructions Itératives (Boucles) - Pour - Tantque - Répéter.ppsx0006- Les instructions Itératives (Boucles) - Pour - Tantque - Répéter.ppsx
0006- Les instructions Itératives (Boucles) - Pour - Tantque - Répéter.ppsx
 
Cours structures des données (langage c)
Cours structures des données (langage c)Cours structures des données (langage c)
Cours structures des données (langage c)
 
Scripting Linux avec Python partie1.pptx
Scripting Linux avec Python partie1.pptxScripting Linux avec Python partie1.pptx
Scripting Linux avec Python partie1.pptx
 
1 analyse-et-mesure-des-performances
1 analyse-et-mesure-des-performances1 analyse-et-mesure-des-performances
1 analyse-et-mesure-des-performances
 
11-Concurrence-Section critiques.pdf
11-Concurrence-Section critiques.pdf11-Concurrence-Section critiques.pdf
11-Concurrence-Section critiques.pdf
 

Chapitre 7 - Les instructions de contrôle.pdf

  • 1. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 1 Chapitre 7: Les instructions de contrôle
  • 2. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 2 ▪ Nous commencerons par apprendre à utiliser des structures de contrôle conditionnelles, aussi appelées alternatives, du fait que leur forme généralisée permet de faire un choix entre plusieurs portions de code à exécuter. ▪ La forme la plus simple d’une structure conditionnelle est d'exécuter quelque chose dans le cas où une condition est vraie. ▪ Pour cela, on utilisera la structure de contrôle if, dont la syntaxe est la suivante : L’instruction de contrôle if Chapitre 7: Les instructions de contrôle Instructions alternatives
  • 3. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 3 if (expression) { Instruction1; Instruction2; } else { Instruction3; Instruction4; } Syntaxe if (expression) { Instruction1; Instruction2; } N.B. Bien sur on peut faire des tests (if) imbriqué L’instruction de contrôle if Chapitre 7: Les instructions de contrôle Instructions alternatives
  • 4. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 4 Exemple L’instruction de contrôle if Chapitre 7: Les instructions de contrôle Instructions alternatives
  • 5. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 5 L’instruction de contrôle if Chapitre 7: Les instructions de contrôle Instructions alternatives Exemple
  • 6. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 6 1. La syntaxe de l’instruction if n’impose aucun point virgule. 2. Dans le cas d’imbrication des instructions if, un else se rapporte toujours au dernier if rencontré auquel un else n’a pas encore été attribué. 3. La condition doit être entre parenthèses. 4. Il est possible de définir plusieurs conditions à remplir avec les opérateurs && et ||. 5. La condition peut être une combinaison de plusieurs conditions. Remarques L’instruction de contrôle if Chapitre 7: Les instructions de contrôle Instructions alternatives
  • 7. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 7 ▪ Considérons l’instruction suivante : if (expression) instruction1; else intruction2; ▪ En langage C, il est possible, grâce à l’aide de l’opérateur conditionnel, de traduire cette instruction de la manière suivante: expression ? instruction1 : instruction2; Autre façon d’écriture du if..else Chapitre 7: Les instructions de contrôle Instructions alternative
  • 8. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 8 Exemple Autre façon d’écriture du if..else Chapitre 7: Les instructions de contrôle Instructions alternatives
  • 9. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 9 Exemple Autre façon d’écriture du if..else Chapitre 7: Les instructions de contrôle Instructions alternatives
  • 10. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 10 ▪ L’instruction switch permet de faire plusieurs tests de valeurs sur le contenu d’une même variable. ▪ Ce branchement conditionnel simplifie beaucoup le test de plusieurs valeurs d’une variable ou expression, car cette opération aurait compliquée avec des if imbriqués. ▪ La syntaxe de switch est la suivante: L’instruction de contrôle switch Chapitre 7: Les instructions de contrôle Instructions alternatives
  • 11. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 11 switch(expression) { case valeur_1 : liste d’instruction_1 ; break ; case valeur_2 : liste d’instruction_2 ; break ; . . case valeur_n : liste d’instruction_n ; break ; default : liste d’instruction_Comp ; } Type: char ou int Expression constante entière L’instruction de contrôle switch Chapitre 7: Les instructions de contrôle Instructions alternatives
  • 12. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 12 Exemple : système feu rouge L’instruction de contrôle switch Chapitre 7: Les instructions de contrôle Instructions alternatives
  • 13. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 13 ▪ Les boucles sont des structures qui permettent d’exécuter plusieurs fois la même série d’instructions jusqu’à qu’une condition ne soit plus réalisable. ▪ En C, nous allons voir trois type de boucles: ✓ la boucle for (pour), ✓ la boucle while (tant que… faire…), ✓ La boucle do … while (répéter … tant que). Les boucles Chapitre 7: Les instructions de contrôle Instructions itératives
  • 14. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 14 ▪ L'instruction for permet l'exécution répétitive d'une instruction ou d'un bloc d'instructions un nombre bien déterminé de fois et cela grâce à un compteur. ▪ Le compteur a une valeur de départ, une valeur d’arrêt et une instruction d’incrémentation ou décrémentation. ▪ La structure for est une boucle qui teste une condition avant d’exécuter les instructions. Ces instructions sont exécutées (répétées) tant que la condition est remplie (VRAI). La boucle for Chapitre 7: Les instructions de contrôle Instructions itératives
  • 15. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 15 Syntaxe for(expression_I ; expression_C ; expression_R) { instruction_1 ; instruction_2 ; ….. } ✓ expression_I : Initialise le compteur. ✓ expression_C: Condition de bouclage. ✓ expression_R: Réinitialisation du compteur (incrémentation ou décrémentation). La boucle for Chapitre 7: Les instructions de contrôle Instructions itératives
  • 16. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 16 Exemple La boucle for Chapitre 7: Les instructions de contrôle Instructions itératives
  • 17. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 17 Exemple La boucle for Chapitre 7: Les instructions de contrôle Instructions itératives
  • 18. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 18 Exemple La boucle for Chapitre 7: Les instructions de contrôle Instructions itératives
  • 19. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 19 Exemple La boucle for Chapitre 7: Les instructions de contrôle Instructions itératives
  • 20. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 20 Exemple Programme qui calcul la somme: La boucle for Chapitre 7: Les instructions de contrôle Instructions itératives
  • 21. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 21 ✓ Boucles infinie et boucles vide for( ; ; ) { printf("boucle infinie.n") ; } Ou bien for( ; -3 ; ) { printf("boucle vide.n") ; } La boucle for Chapitre 7: Les instructions de contrôle Instructions itératives
  • 22. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 22 La structure while ou boucle while permet de faire répéter l’exécution d’instructions tant qu’une certaine condition est remplie (vraie). Avec la syntaxe: while (expression) { instruction_1 ; instruction_1 ; ………. instruction_n ; } La boucle while Chapitre 7: Les instructions de contrôle Instructions itératives
  • 23. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 23 ▪ Le mot clé while est suivi d’une expression entre parenthèses représentant la condition de la boucle (critère de bouclage). Viennent ensuite les instructions qui doivent être exécutées en fonction de cette condition. Si l’instruction est unique, les accolades sont facultatives. ▪ La portion: while(expression) est appelée en-tête de boucle. La ou les instructions venant après forment ce qu’on appelle le corps de la boucle. La boucle while Chapitre 7: Les instructions de contrôle Instructions itératives
  • 24. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 24 Exemple int a=3 ; while(a > 0) { printf("%d n", a) ; a-- ; } 3 2 1 La boucle while Chapitre 7: Les instructions de contrôle Instructions itératives
  • 25. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 25 ▪ Contrairement aux structures for et while, la boucle do… while teste sa condition après l’exécution des instructions du corps de la boucle. ▪ Syntaxe do { Instruction_1 ; Instruction_2 ; …… } while( expression) ; La boucle do…while Chapitre 7: Les instructions de contrôle Instructions itératives
  • 26. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 26 ▪ La boucle do …while ressemble à while, mais les instructions sont au moins exécutées une seule fois. ▪ Remarquez qu’il faut ajouter le point-virgule à la fin de la boucle. La boucle do…while Chapitre 7: Les instructions de contrôle Instructions itératves
  • 27. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 27 #include <stdio.h> int main(void) { int a; do { puts("veuillez entrer le nombre 482"); scanf("%d",&a); } while (a!=482); puts("Oui C’est bien 482"); getch(); } La boucle do…while Chapitre 7: Les instructions de contrôle Instructions itératives Exemple
  • 28. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 28 Exemple La boucle do..while Chapitre 7: Les instructions de contrôle Instructions itératives
  • 29. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 29 ▪ Les instructions de branchement transfèrent le contrôle du programme d’une instruction à une autre, cette dernière n’étant pas directement écrite après l’exécution précédemment effectuée. Nous examinerons trois instructions: ✓ break ✓ continue ✓ goto ▪ Il existe encore l’instruction return que nous traiterons dans le chapitre des fonctions. Instructions de branchement Chapitre 7: Les instructions de contrôle
  • 30. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 30 ▪ Elle ne peut s’utiliser qu’à l’intérieur d’une structure for, while, do … while ou switch. Elle provoque l’arrêt avant de terminer l’exécution de toutes les instructions. Pour ce qui concerne l’instruction switch, nous avons déjà étudié ce mécanisme. ▪ Elle est limitée à un seul niveau d'imbrication. L’instruction break (interrompre) Chapitre 7: Les instructions de contrôle Instructions de branchement
  • 31. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 31 Exemple L’instruction break (interrompre) Chapitre 7: Les instructions de contrôle Instructions de branchement
  • 32. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 32 L’instruction break (interrompre) Chapitre 7: Les instructions de contrôle Instructions de branchement Exemple
  • 33. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 33 Exemple L’instruction break (interrompre) Chapitre 7: Les instructions de contrôle Instructions de branchement
  • 34. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 34 ▪ Cette instruction provoque le passage à la prochaine itération d'une boucle. ▪ Dans le cas d'un white ou do … white, nous obtenons un saut vers l'évaluation du test de sortie de boucle. ▪ Dans le cas d'un for on passe à l'expression d'incrémentation puis au test de bouclage. ▪ En cas de boucles imbriquées, permet uniquement de continuer la boucle la plus interne. L’instruction continue (continuer) Chapitre 7: Les instructions de contrôle Instructions de branchement
  • 35. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 35 Exemple L’instruction continue (continuer) Chapitre 7: Les instructions de contrôle Instructions de branchement
  • 36. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 36 Exemple L’instruction continue (continuer) Chapitre 7: Les instructions de contrôle Instructions de branchement
  • 37. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 37 Exemple L’instruction continue (continuer) Chapitre 7: Les instructions de contrôle Instructions de branchement
  • 38. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 38 Exemple L’instruction continue (continuer) Chapitre 7: Les instructions de contrôle Instructions de branchement
  • 39. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 39 ▪ L’instruction goto provoque un saut à un endroit du programme repéré par une étiquette (label). Le programme continue alors à l’instruction qui se trouve à cet endroit-là. Voici la syntaxe de goto: goto étiquette; ▪ étiquette peut être n’importe quel libellé par le langage (un mot par exemple). L’instruction identifier par l’étiquette doit avoir la forme syntaxique suivante. Étiquette : instruction; Instruction goto (aller à) Chapitre 7: Les instructions de contrôle Instructions de branchement
  • 40. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 40 Instruction goto (aller à) Chapitre 7: Les instructions de contrôle Instructions de branchement Exemple
  • 41. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 41 Exemple Instruction goto (aller à) Chapitre 7: Les instructions de contrôle Instructions de branchement
  • 42. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 42 Exemple Instruction goto (aller à) Chapitre 7: Les instructions de contrôle Instructions de branchement
  • 43. M. Tahrichi (DUT–ASR, Dept Info ) Algorithmique et programmation 2019-2020 p 43 Exemple Instruction goto (aller à) Chapitre 7: Les instructions de contrôle Instructions de branchement