Les structures de contrôle Préparé par Jimson Pierre-Louis - ESIH 1 Plan de la
Les structures de contrôle Préparé par Jimson Pierre-Louis - ESIH 1 Plan de la leçon Les structures de contrôle Les structures conditionnelles Les structures sélectives - if - else Les structures répétitives - for - while - do..while Branchement conditionnel - switch Structure de rupture de séquence - Continue - Break 2 Les instructions conditionnelles 3 Introduction Un programme informatique montre souvent qu’il est intelligent et même super intelligent. Cet intelligence est due à quoi ? La réponse est sans doute réside dans sa capacité à prendre des décisions selon des conditions évaluées et pouvoir exécuter une ou plusieurs instructions un nombre de fois donné. Pour cela, le langage C++ dispose des instructions conditionnelles 4 Les instructions conditionnelles (1) Qu’est qu’une instruction conditionnelle ? Il est parfois nécessaire que certaines parties du code ne s'exécutent que sous certaines conditions ou qu’elles s'exécutent plusieurs fois dans une boucle , par exemple, pour traiter tous les éléments d'un tableau. Ces structures permettent, comme leur nom l’indique, de contrôler l’exécution du programme en fonction de critères particulier. Le C++ dispose de toutes les structures de contrôle(instructions conditionnelles) classiques des langages de programmation comme les tests, les boucles, les sauts, etc. 5 Les instructions conditionnelles (2) Qu’est qu’une instruction conditionnelle ? Les instructions conditionnelles font appel toujours à des conditions qui peuvent être: 6 Symbole Signification == Est égal à > Est supérieur à < Est inférieur à >= Est supérieur ou égal à <= Est inférieur ou égal à != Est différent de Les structures sélectives 7 La structure sélective « if » Cette structure de contrôle permet d'exécuter une instruction ou une suite d'instructions seulement si une condition est évaluée et vraie. Syntaxe if (condition) instruction; condition Expression booléenne de la condition d'exécution. instruction Une instruction ou un bloc d'instructions exécuté si la condition est vraie Note : Attention! Les parenthèses autour du texte sont nécessaires ! 8 La structure sélective « if » (1) La condition qui se trouve entre les deux parenthèses va être évaluée, si elle est évaluée à vraie, les instructions entre les deux accolades { } (instruction1, instruction2,…., instruction n) vont être exécutées. Si la condition n’est pas évaluée à vraie aucune des instructions ne va être exécutée 9 Les accolades { } ne sont pas obligatoires si on a une seule instruction à exécuter dans le cas où la condition est vraie. La structure sélective « if »(2) #include <iostream> using namespace std; int main() { int a; cout << "Tapez la valeur de a : "; cin >> a; if (a %2==0) cout << "a est une valeur paire" << endl; cout << "Le programme est fini" << endl; return 0; } 10 La structure sélective « if » (3) Souvent en programmation lorsque des tests sont effectués deux cas sont possibles; soit le test est vérifié à vrai ou à faux. Et des instructions sont à exécuter dans chacun des cas possibles. Donc, le else ajouté à if permet d’ exécuter des instructions dans le cas où le test n’est pas évalué à vrai: 11 La structure sélective « if » (4) La structure de contrôle if peut être imbriquée, c’est-à-dire après qu’une condition ait été évaluée à vraie, l’instruction à effectuer est encore une autre condition. syntaxe if(condition1) if(condition2) if(condition3) 12 Exemple int main() { int a; cout<<"Tapez la valeur de a : "; cin>>a; if (a>0) if(a%2==0) if(a<=12) cout << "a est OK et égale a:"<<a << endl; } if…………… else Les if et les else peuvent être imbriqués. if (condition) instructions; else if(condition) instructions; else if(condition) instructions; Rappel: lorsqu’on a plusieurs conditions à vérifier on utilise les opérateurs: && et || 13 Utilisation des opérateurs && et || Lorsqu’on a plusieurs conditions à vérifier on utilise les opérateurs: && et || if(condition1) && (condition2) && (condition3) Instructions; Ces conditions sont liées par des ET logiques, toutes doivent être évaluées à vraies pour que l’instruction se réalise if(condition1)||(condition2)||(condition3) Instructions; Ces conditions sont liées par des OU logiques, il suffit qu’une des conditions soit vraie pour que l’instruction se réalise 14 Les structures répétitives 15 Les structures répétitives Les structures répétitives sont des instructions qui permettent l’exécution des boucles d’instructions. Une boucle d’instruction représente une ou plusieurs instructions qui se répètent. 16 La boucle « for »(1) La structure de contrôle for est sans doute l’une des plus importantes. Elle permet de réaliser toutes sortes de boucles et, en particulier, les boucles itérant sur les valeurs d’une variable de contrôle. La boucle for est effectuée tant que la condition est vérifiée. On connaît par avance le nombre de fois où la boucle doit s'effectuer. Sa syntaxe est la suivante : for (initialisation ; test ; itération) opération ; où initialisation : est une instruction (ou un bloc d’instructions) exécutée avant le premier parcours de la boucle du for. test : est une expression dont la valeur déterminera la fin de la boucle. Itération : est l’opération à effectuer en fin de boucle. opération : constitue le traitement de la boucle. Chacune de ses parties est facultative. 17 La boucle « for » (2) 18 La boucle « for » (3) La séquence d’exécution est la suivante : initialisation test : saut en fin du for ou suite opération itération retour au test fin du for. Exemple somme = 0; for (i=0; i<=10; i=i+1) somme = somme + i; Note : En C++, il est possible que la partie initialisation déclare une variable. Dans ce cas, la variable déclarée n’est définie qu’à l’intérieur de l’instruction for. Par exemple, 19 La boucle « for » (4) Exemple for (int i=0; i<10; ++i); est strictement équivalent à : { int i; for (i=0; i<10; ++i); } Cela signifie que l’on ne peut pas utiliser la variable i après l’instruction for, puisqu’elle n’est définie que dans le corps de cette instruction. Cela permet de réaliser des variables muettes qui ne servent qu’à l’instruction for dans laquelle elles sont définies. 20 La boucle « for » (5) Note : Cette règle n’est pas celle utilisée par la plupart des compilateurs C++. La règle qu’ils utilisent spécifie que la variable déclarée dans la partie initialisation de l’instruction for reste déclarée après cette instruction. La différence est subtile, mais importante. Cela pose assurément des problèmes de compatibilité avec les programmes C++ écrits pour ces compilateurs, puisque dans un cas la variable doit être ré-déclarée et dans l’autre cas elle ne le doit pas. Il est donc recommandé de ne pas déclarer de variables dans la partie initialisation des instructions for pour assurer une portabilité maximale. 21 La boucle « while » (1) Là où les instructions sont effectuées tant que la condition entre parenthèses reste vérifiée( vraie). La condition est évaluée avant l'exécution des instructions. Tant que la condition reste vraie une ou plusieurs instructions sont exécutées. Attention, il faut faire de sorte que la condition devienne fausse, sinon vous aurez une boucle sans fin. Sa syntaxe est la suivante : while( expression) instruction; ou while( expression) { instruction1; .... instruction3; } L’ordre d’exécution est : test opération 22 La boucle « while » (2) Exemple #include < iostream> main() { somme = i = 0; while (somme<1000) { somme = somme + 2 * i / (5 + i); i = i + 1; } } 23 La boucle « Do »(1) La structure de contrôle do permet, tout comme le while, de réaliser des boucles en attente d’une condition. Cependant, contrairement à celui-ci, le do effectue le test sur la condition après l’exécution des instructions. Cela signifie que les instructions sont toujours exécutées au moins une fois, que le test soit vérifié ou non. Sa syntaxe est la suivante : do instruction; while ( condition); ..ou do { instruction1; instruction2; ... }while ( condition ); 24 La boucle « Do » (2) L’opération est effectuée jusqu’à ce que Test ne soit plus vérifié. L’ordre d’exécution est : opération Test exemple1 #include <iostream> main() { int x=4, y=1; do { cout<<"x =" <<x <<" y =" <<y; x++; y--; }while( x < y); } 25 La boucle « Do » (3) exemple2 #include <iostream> Using namespace std; main() { int x=5, y=1; // la boucle s'arrête lorsque x devient inférieur à y. do { cout<<"x =" <<x <<" y =" <<y; x++; y--; }while( x < y);} 26 La boucle « Do » (4) Exemple p = i = 1; do { p = p * i; i = i +1; } while (i!=10); 27 Branchement conditionnel 28 Branchement conditionnel (1) Dans le cas où plusieurs instructions différentes doivent être exécutées selon la valeur d’une variable de type intégral, l’écriture de if successifs peut être relativement lourde. Le C/C++ fournit donc la structure de contrôle switch, qui permet de réaliser un branchement conditionnel. La valeur est évaluée en premier. Selon le résultat de l’évaluation, l’exécution du programme se poursuit en cas de même valeur. Si aucun des cas ne correspond et si default uploads/Ingenierie_Lourd/ c-les-structures-de-controle.pdf
Documents similaires










-
35
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Mai 18, 2022
- Catégorie Heavy Engineering/...
- Langue French
- Taille du fichier 1.2820MB