structures de contrôle de lexécution bloc séquence exécution conditionnelle exécution...
TRANSCRIPT
Structures de contrôle de l’exécution
blocséquence
exécution conditionnelleexécution répétée
Un bloc d’instruction
• Un bloc d’instructions peut-être composé – de séquences d’instructions– de structures de contrôles conditionnelles et
itératives• Les structures de contrôles conditionnelles
conditionnent l’exécution de blocs d’instructions• les structures des contrôles itératives
conditionnelles la répétition de blocs d’instructions
Séquence
• la séquence est composé d’une suite d’instructions dont l’exécution sera réalisé les unes après les autres
• aucune rupture dans la séquence• toutes les instructions de la séquence seront
réalisées• exemple :– demander un rayon d’un disque– calculer la circonférence– afficher la circonférence
EXÉCUTION CONDITIONNELLEtant que, pour x variant de a à b
Exécution conditionnelle
• la structure de contrôle conditionnelle crée une rupture en permettant– l’exécution d’un bloc d’instructions de manière
optionnelle– l’exécution d’un bloc ou d’un bloc alternatif
• cette rupture est « pilotée » par une expression conditionnelle– expression booléenne calculée à partir d’opérateurs
relationnels (=,!=,<, <=, >,>=) et d’opérations logiques (et, ou , non)
Exécution conditionnelle
• Syntaxe :– SI expression de la condition
• ALORS– bloc d’instructions exécuté si la condition est vraie
– fin SI• Syntaxe avec alternative :– SI expression de la condition
• ALORS– bloc d’instructions exécuté si la condition est vraie
• SINON– bloc d’instructions exécuté si la condition n’est pas vraie
– fin SI
Exécution conditionnelle
• Exemple :– demander l’âge– si l’âge est inférieur à 18• alors
– afficher « mineur »
– fin si
?vrai faux
Exécution conditionnelle
• Exemple C++ :cin >> age;if (age < 18)
{cout << "mineur";
}
?vrai faux
Exécution conditionnelle
• Exemple avec alternative :– demander l’âge– si l’âge est inférieur à 18• alors
– afficher « mineur »
• sinon– afficher « majeur »
– fin si
?vrai faux
Exécution conditionnelle
• Exemple C++ avec alternative :cin >> age;if (age < 18)
{cout << "mineur";
}else{
cout << "majeur";}
?vrai faux
EXÉCUTION RÉPÉTÉEtant que, pour x variant de a à b
Exécution répétée
• la structure de contrôle itérative (ou boucle) permet la création d’une rupture en permettant– l’exécution répétée d’un bloc d’inscription
• cette répétition est « pilotée » par une expression conditionnelle – expression booléenne calculée à partir d’opérateurs relationnels
(=,!=,<, <=, >,>=) et d’opérations logiques (et, ou , non)– si la condition est vraie, le bloc est exécuté puis la condition est à
nouveau vérifiée, et ainsi de suite, et ceci tant que la condition reste vraie
• Cette condition détermine le nombre de répétitions
Exécution répétée
• Exemple :– i 0– tant que i < 4 répéter• afficher « hello »• i i + 1
– fin tant que
?vrai faux
initialiser les variables utiles à
la condition
1X : initialiser les variables utiles à
la condition
nX : modifier les variables utiles à
la condition
Exécution répétée
• Exemple C++ :i = 0;while (i < 4) {
cout << "hello";i = i + 1;
}
initialiser les variables utiles à
la condition
1X : initialiser les variables utiles à
la condition
nX : modifier les variables utiles à
la condition
TRACE D’EXÉCUTION D’UNE RÉPÉTITION AVEC WHILE
Exécution répétée – trace d’exécution
• Exemple C++ :int i = 0;while (i < 4) {
cout << "hello";i = i + 1;
}
?
hello
0valeur de i
Exécution répétée – trace d’exécution
• Exemple C++ :int i = 0;while (i < 4) {
cout << "hello";i = i + 1;
}
? 0 < 4 ? 0valeur de i
vrai
Exécution répétée – trace d’exécution
• Exemple C++ :int i = 0;while (i < 4) {
cout << "hello";i = i + 1;
}
?
hello
0valeur de i
vrai
Exécution répétée – trace d’exécution
• Exemple C++ :int i = 0;while (i < 4) {
cout << "hello";i = i + 1;
}
hello
i vaut maintenant 1
1valeur de i
Exécution répétée – trace d’exécution
• Exemple C++ :int i = 0;while (i < 4) {
cout << "hello";i = i + 1;
}
?
hello
1valeur de i
Exécution répétée – trace d’exécution
• Exemple C++ :int i = 0;while (i < 4) {
cout << "hello";i = i + 1;
}
? 1 < 4 ?
hello
1valeur de i
vrai
Exécution répétée – trace d’exécution
• Exemple C++ :int i = 0;while (i < 4) {
cout << "hello";i = i + 1;
}
?
hellohello
1valeur de i
vrai
Exécution répétée – trace d’exécution
• Exemple C++ :int i = 0;while (i < 4) {
cout << "hello";i = i + 1;
}
hellohello
i vaut maintenant 2
2valeur de i
Exécution répétée – trace d’exécution
• Exemple C++ :int i = 0;while (i < 4) {
cout << "hello";i = i + 1;
}
?
hellohello
2valeur de i
Exécution répétée – trace d’exécution
• Exemple C++ :int i = 0;while (i < 4) {
cout << "hello";i = i + 1;
}
? 2 < 4 ?
hellohello
2valeur de i
vrai
Exécution répétée – trace d’exécution
• Exemple C++ :int i = 0;while (i < 4) {
cout << "hello";i = i + 1;
}
?
hellohellohello
2valeur de i
vrai
Exécution répétée – trace d’exécution
• Exemple C++ :int i = 0;while (i < 4) {
cout << "hello";i = i + 1;
}
hellohellohello
i vaut maintenant 3
3valeur de i
Exécution répétée – trace d’exécution
• Exemple C++ :int i = 0;while (i < 4) {
cout << "hello";i = i + 1;
}
?
hellohellohello
3valeur de i
Exécution répétée – trace d’exécution
• Exemple C++ :int i = 0;while (i < 4) {
cout << "hello";i = i + 1;
}
? 3 < 4 ?
hellohellohello
3valeur de i
vrai
Exécution répétée – trace d’exécution
• Exemple C++ :int i = 0;while (i < 4) {
cout << "hello";i = i + 1;
}
?
hellohellohellohello
3valeur de i
vrai
Exécution répétée – trace d’exécution
• Exemple C++ :int i = 0;while (i < 4) {
cout << "hello";i = i + 1;
}
hellohellohellohelloi vaut maintenant 4
4valeur de i
Exécution répétée – trace d’exécution
• Exemple C++ :int i = 0;while (i < 4) {
cout << "hello";i = i + 1;
}
?
hellohellohellohello
4valeur de i
Exécution répétée – trace d’exécution
• Exemple C++ :int i = 0;while (i < 4) {
cout << "hello";i = i + 1;
}
? 4 < 4 ?
hellohellohellohello
faux4
valeur de i
Exécution répétée – trace d’exécution
• Exemple C++ :int i = 0;while (i < 4) {
cout << "hello";i = i + 1;
}
?
hellohellohellohello
faux4
valeur de i
la répétition est terminé, on passe à l’instruction qui suit
TRACE D’EXÉCUTION D’UNE RÉPÉTITION AVEC FOR
Exécution répétée
• Exemple C++ :int i;for( i=0 ; i<4 ; i=i+1 ) {
cout << "hello";
}
initialiser les variables utiles à
la conditionmodifier les
variables utiles à la condition
1X : initialiser les variables utiles à
la conditionnX : modifier les variables utiles à
la condition
Exécution répétée – trace d’exécution
• Exemple C++ :int i;for(i=1;i<=4;i++) {
cout << "hello";
}
1valeur de i
Exécution répétée – trace d’exécution
• Exemple C++ :int i = 0;for(i=1;i<=4;i++) {
cout << "hello";
}
? 1 <= 4 ? 1valeur de i
vrai
Exécution répétée – trace d’exécution
• Exemple C++ :int i = 0;for(i=1;i<=4;i++) {
cout << "hello";
}
hello
1valeur de i
vrai?
Exécution répétée – trace d’exécution
• Exemple C++ :int i = 0;for(i=1;i<=4;i++) {
cout << "hello";
}
hello
i vaut maintenant 22
valeur de i
Exécution répétée – trace d’exécution
• Exemple C++ :int i = 0;for(i=1;i<=4;i++) {
cout << "hello";
}
? 2 <= 4 ?
hello
2valeur de i
vrai
Exécution répétée – trace d’exécution
• Exemple C++ :int i = 0;for(i=1;i<=4;i++) {
cout << "hello";
}
?
hellohello
2valeur de i
vrai
Exécution répétée – trace d’exécution
• Exemple C++ :int i = 0;for(i=1;i<=4;i++) {
cout << "hello";
}
hellohello
i vaut maintenant 33
valeur de i
Exécution répétée – trace d’exécution
• Exemple C++ :int i = 0;for(i=1;i<=4;i++) {
cout << "hello";
}
? 3 <= 4 ?
hellohello
3valeur de i
vrai
Exécution répétée – trace d’exécution
• Exemple C++ :int i = 0;for(i=1;i<=4;i++) {
cout << "hello";
}
?
hellohellohello
3valeur de i
vrai
Exécution répétée – trace d’exécution
• Exemple C++ :int i = 0;for(i=1;i<=4;i++) {
cout << "hello";
}
hellohellohello
i vaut maintenant 44
valeur de i
Exécution répétée – trace d’exécution
• Exemple C++ :int i = 0;for(i=1;i<=4;i++) {
cout << "hello";
}
? 4 <= 4 ?
hellohellohello
4valeur de i
vrai
Exécution répétée – trace d’exécution
• Exemple C++ :int i = 0;for(i=1;i<=4;i++) {
cout << "hello";
}
?
hellohellohellohello
4valeur de i
vrai
Exécution répétée – trace d’exécution
• Exemple C++ :int i = 0;for(i=1;i<=4;i++) {
cout << "hello";
}
hellohellohellohello
i vaut maintenant 55
valeur de i
Exécution répétée – trace d’exécution
• Exemple C++ :int i = 0;for(i=1;i<=4;i++) {
cout << "hello";
}
? 5 <= 4 ?
hellohellohellohello
5valeur de i
faux
Exécution répétée – trace d’exécution
• Exemple C++ :int i = 0;for(i=1;i<=4;i++) {
cout << "hello";
}
?
hellohellohellohello
faux5
valeur de i
la répétition est terminé, on passe à l’instruction qui suit