51
Structures de contrôle de l’exécution bloc séquence exécution conditionnelle exécution répétée

Structures de contrôle de lexécution bloc séquence exécution conditionnelle exécution répétée

Embed Size (px)

Citation preview

Page 1: Structures de contrôle de lexécution bloc séquence exécution conditionnelle exécution répétée

Structures de contrôle de l’exécution

blocséquence

exécution conditionnelleexécution répétée

Page 2: Structures de contrôle de lexécution bloc séquence exécution conditionnelle exé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

Page 3: Structures de contrôle de lexécution bloc séquence exécution conditionnelle exécution répétée

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

Page 4: Structures de contrôle de lexécution bloc séquence exécution conditionnelle exécution répétée

EXÉCUTION CONDITIONNELLEtant que, pour x variant de a à b

Page 5: Structures de contrôle de lexécution bloc séquence exécution conditionnelle exécution répétée

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)

Page 6: Structures de contrôle de lexécution bloc séquence exécution conditionnelle exécution répétée

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

Page 7: Structures de contrôle de lexécution bloc séquence exécution conditionnelle exécution répétée

Exécution conditionnelle

• Exemple :– demander l’âge– si l’âge est inférieur à 18• alors

– afficher « mineur »

– fin si

?vrai faux

Page 8: Structures de contrôle de lexécution bloc séquence exécution conditionnelle exécution répétée

Exécution conditionnelle

• Exemple C++ :cin >> age;if (age < 18)

{cout << "mineur";

}

?vrai faux

Page 9: Structures de contrôle de lexécution bloc séquence exécution conditionnelle exécution répétée

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

Page 10: Structures de contrôle de lexécution bloc séquence exécution conditionnelle exécution répétée

Exécution conditionnelle

• Exemple C++ avec alternative :cin >> age;if (age < 18)

{cout << "mineur";

}else{

cout << "majeur";}

?vrai faux

Page 11: Structures de contrôle de lexécution bloc séquence exécution conditionnelle exécution répétée

EXÉCUTION RÉPÉTÉEtant que, pour x variant de a à b

Page 12: Structures de contrôle de lexécution bloc séquence exécution conditionnelle exécution répétée

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

Page 13: Structures de contrôle de lexécution bloc séquence exécution conditionnelle exécution répétée

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

Page 14: Structures de contrôle de lexécution bloc séquence exécution conditionnelle exécution répétée

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

Page 15: Structures de contrôle de lexécution bloc séquence exécution conditionnelle exécution répétée

TRACE D’EXÉCUTION D’UNE RÉPÉTITION AVEC WHILE

Page 16: Structures de contrôle de lexécution bloc séquence exécution conditionnelle exécution répétée

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

Page 17: Structures de contrôle de lexécution bloc séquence exécution conditionnelle exécution répétée

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

Page 18: Structures de contrôle de lexécution bloc séquence exécution conditionnelle exécution répétée

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

Page 19: Structures de contrôle de lexécution bloc séquence exécution conditionnelle exécution répétée

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

Page 20: Structures de contrôle de lexécution bloc séquence exécution conditionnelle exécution répétée

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

Page 21: Structures de contrôle de lexécution bloc séquence exécution conditionnelle exécution répétée

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

Page 22: Structures de contrôle de lexécution bloc séquence exécution conditionnelle exécution répétée

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

Page 23: Structures de contrôle de lexécution bloc séquence exécution conditionnelle exécution répétée

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

Page 24: Structures de contrôle de lexécution bloc séquence exécution conditionnelle exécution répétée

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

Page 25: Structures de contrôle de lexécution bloc séquence exécution conditionnelle exécution répétée

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

Page 26: Structures de contrôle de lexécution bloc séquence exécution conditionnelle exécution répétée

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

Page 27: Structures de contrôle de lexécution bloc séquence exécution conditionnelle exécution répétée

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

Page 28: Structures de contrôle de lexécution bloc séquence exécution conditionnelle exécution répétée

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

Page 29: Structures de contrôle de lexécution bloc séquence exécution conditionnelle exécution répétée

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

Page 30: Structures de contrôle de lexécution bloc séquence exécution conditionnelle exécution répétée

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

Page 31: Structures de contrôle de lexécution bloc séquence exécution conditionnelle exécution répétée

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

Page 32: Structures de contrôle de lexécution bloc séquence exécution conditionnelle exécution répétée

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

Page 33: Structures de contrôle de lexécution bloc séquence exécution conditionnelle exécution répétée

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

Page 34: Structures de contrôle de lexécution bloc séquence exécution conditionnelle exécution répétée

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

Page 35: Structures de contrôle de lexécution bloc séquence exécution conditionnelle exécution répétée

TRACE D’EXÉCUTION D’UNE RÉPÉTITION AVEC FOR

Page 36: Structures de contrôle de lexécution bloc séquence exécution conditionnelle exécution répétée

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

Page 37: Structures de contrôle de lexécution bloc séquence exécution conditionnelle exécution répétée

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

Page 38: Structures de contrôle de lexécution bloc séquence exécution conditionnelle exécution répétée

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

Page 39: Structures de contrôle de lexécution bloc séquence exécution conditionnelle exécution répétée

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?

Page 40: Structures de contrôle de lexécution bloc séquence exécution conditionnelle exécution répétée

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

Page 41: Structures de contrôle de lexécution bloc séquence exécution conditionnelle exécution répétée

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

Page 42: Structures de contrôle de lexécution bloc séquence exécution conditionnelle exécution répétée

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

Page 43: Structures de contrôle de lexécution bloc séquence exécution conditionnelle exécution répétée

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

Page 44: Structures de contrôle de lexécution bloc séquence exécution conditionnelle exécution répétée

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

Page 45: Structures de contrôle de lexécution bloc séquence exécution conditionnelle exécution répétée

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

Page 46: Structures de contrôle de lexécution bloc séquence exécution conditionnelle exécution répétée

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

Page 47: Structures de contrôle de lexécution bloc séquence exécution conditionnelle exécution répétée

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

Page 48: Structures de contrôle de lexécution bloc séquence exécution conditionnelle exécution répétée

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

Page 49: Structures de contrôle de lexécution bloc séquence exécution conditionnelle exécution répétée

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

Page 50: Structures de contrôle de lexécution bloc séquence exécution conditionnelle exécution répétée

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

Page 51: Structures de contrôle de lexécution bloc séquence exécution conditionnelle exécution répétée

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