Structures de contrôle de l’exé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
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 conditionnelle tant que, pour x variant de a à b exécution conditionnelle
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 : SINON bloc d’instructions exécuté si la condition n’est pas vraie
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
tant que, pour x variant de a à b 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
Exécution répétée Exemple : i 0 tant que i < 4 répéter initialiser les variables utiles à la condition 1X : initialiser les variables utiles à la condition Exemple : i 0 tant que i < 4 répéter afficher « hello » i i + 1 fin tant que ? vrai faux nX : modifier les variables utiles à la condition
Exécution répétée Exemple C++ : i = 0; while (i < 4) { 1X : initialiser les variables utiles à la condition initialiser les variables utiles à la condition Exemple C++ : i = 0; while (i < 4) { cout << "hello"; i = i + 1; } 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; } valeur de i ? hello
Exécution répétée – trace d’exécution Exemple C++ : int i = 0; while (i < 4) { cout << "hello"; i = i + 1; } valeur de i 0 < 4 ? ? vrai
Exécution répétée – trace d’exécution Exemple C++ : int i = 0; while (i < 4) { cout << "hello"; i = i + 1; } valeur de i ? vrai hello
Exécution répétée – trace d’exécution Exemple C++ : int i = 0; while (i < 4) { cout << "hello"; i = i + 1; } valeur de i 1 hello i vaut maintenant 1
Exécution répétée – trace d’exécution Exemple C++ : int i = 0; while (i < 4) { cout << "hello"; i = i + 1; } valeur de i 1 ? hello
Exécution répétée – trace d’exécution Exemple C++ : int i = 0; while (i < 4) { cout << "hello"; i = i + 1; } valeur de i 1 < 4 ? 1 ? vrai hello
Exécution répétée – trace d’exécution Exemple C++ : int i = 0; while (i < 4) { cout << "hello"; i = i + 1; } valeur de i 1 ? vrai hello
Exécution répétée – trace d’exécution Exemple C++ : int i = 0; while (i < 4) { cout << "hello"; i = i + 1; } valeur de i 2 hello i vaut maintenant 2
Exécution répétée – trace d’exécution Exemple C++ : int i = 0; while (i < 4) { cout << "hello"; i = i + 1; } valeur de i 2 ? hello
Exécution répétée – trace d’exécution Exemple C++ : int i = 0; while (i < 4) { cout << "hello"; i = i + 1; } valeur de i 2 < 4 ? 2 ? vrai hello
Exécution répétée – trace d’exécution Exemple C++ : int i = 0; while (i < 4) { cout << "hello"; i = i + 1; } valeur de i 2 ? vrai hello
Exécution répétée – trace d’exécution Exemple C++ : int i = 0; while (i < 4) { cout << "hello"; i = i + 1; } valeur de i 3 hello i vaut maintenant 3
Exécution répétée – trace d’exécution Exemple C++ : int i = 0; while (i < 4) { cout << "hello"; i = i + 1; } valeur de i 3 ? hello
Exécution répétée – trace d’exécution Exemple C++ : int i = 0; while (i < 4) { cout << "hello"; i = i + 1; } valeur de i 3 < 4 ? 3 ? vrai hello
Exécution répétée – trace d’exécution Exemple C++ : int i = 0; while (i < 4) { cout << "hello"; i = i + 1; } valeur de i 3 ? vrai hello
Exécution répétée – trace d’exécution Exemple C++ : int i = 0; while (i < 4) { cout << "hello"; i = i + 1; } valeur de i 4 hello i vaut maintenant 4
Exécution répétée – trace d’exécution Exemple C++ : int i = 0; while (i < 4) { cout << "hello"; i = i + 1; } valeur de i 4 ? hello
Exécution répétée – trace d’exécution Exemple C++ : int i = 0; while (i < 4) { cout << "hello"; i = i + 1; } valeur de i 4 < 4 ? 4 ? faux hello
Exécution répétée – trace d’exécution Exemple C++ : int i = 0; while (i < 4) { cout << "hello"; i = i + 1; } valeur de i 4 ? faux hello 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 ) { 1X : initialiser les variables utiles à la condition initialiser les variables utiles à la condition modifier les variables utiles à la condition nX : modifier les variables utiles à la condition Exemple C++ : int i; for( i=0 ; i<4 ; i=i+1 ) { cout << "hello"; }
Exécution répétée – trace d’exécution Exemple C++ : int i; for(i=1;i<=4;i++) { cout << "hello"; } valeur de i 1
Exécution répétée – trace d’exécution Exemple C++ : int i = 0; for(i=1;i<=4;i++) { cout << "hello"; } valeur de i 1 <= 4 ? 1 ? vrai
Exécution répétée – trace d’exécution Exemple C++ : int i = 0; for(i=1;i<=4;i++) { cout << "hello"; } valeur de i 1 ? vrai hello
Exécution répétée – trace d’exécution Exemple C++ : int i = 0; for(i=1;i<=4;i++) { cout << "hello"; } valeur de i 2 i vaut maintenant 2 hello
Exécution répétée – trace d’exécution Exemple C++ : int i = 0; for(i=1;i<=4;i++) { cout << "hello"; } valeur de i 2 <= 4 ? 2 ? vrai hello
Exécution répétée – trace d’exécution Exemple C++ : int i = 0; for(i=1;i<=4;i++) { cout << "hello"; } valeur de i 2 ? vrai hello
Exécution répétée – trace d’exécution Exemple C++ : int i = 0; for(i=1;i<=4;i++) { cout << "hello"; } valeur de i 3 i vaut maintenant 3 hello
Exécution répétée – trace d’exécution Exemple C++ : int i = 0; for(i=1;i<=4;i++) { cout << "hello"; } valeur de i 3 <= 4 ? 3 ? vrai hello
Exécution répétée – trace d’exécution Exemple C++ : int i = 0; for(i=1;i<=4;i++) { cout << "hello"; } valeur de i 3 ? vrai hello
Exécution répétée – trace d’exécution Exemple C++ : int i = 0; for(i=1;i<=4;i++) { cout << "hello"; } valeur de i 4 i vaut maintenant 4 hello
Exécution répétée – trace d’exécution Exemple C++ : int i = 0; for(i=1;i<=4;i++) { cout << "hello"; } valeur de i 4 <= 4 ? 4 ? vrai hello
Exécution répétée – trace d’exécution Exemple C++ : int i = 0; for(i=1;i<=4;i++) { cout << "hello"; } valeur de i 4 ? vrai hello
Exécution répétée – trace d’exécution Exemple C++ : int i = 0; for(i=1;i<=4;i++) { cout << "hello"; } valeur de i 5 i vaut maintenant 5 hello
Exécution répétée – trace d’exécution Exemple C++ : int i = 0; for(i=1;i<=4;i++) { cout << "hello"; } valeur de i 5 <= 4 ? 5 ? faux hello
Exécution répétée – trace d’exécution Exemple C++ : int i = 0; for(i=1;i<=4;i++) { cout << "hello"; } valeur de i 5 ? faux hello la répétition est terminé, on passe à l’instruction qui suit