Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Les structures de
contrôle
Pré pa ré pa r J i mso n P ie rr e -L o u i s - E SIH
2
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
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é.
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.
conditionnelles (2)
Qu’est qu’une instruction conditionnelle ?
Les instructions conditionnelles font appel toujours à des conditions qui
peuvent être:
Symbole Signification
== Est égal à
> Est supérieur à
< Est inférieur à
>= Est supérieur ou égal à
<= Est inférieur ou égal à
!= Est différent de
7
Les structures
sélectives
8
(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
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 10
»(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;
}
La structure sélective « if » 11
(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:
La structure sélective « if » 12
(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 Exemple
int main()
if(condition1) { int a;
cout<<"Tapez la valeur de a : ";
if(condition2) cin>>a;
if (a>0)
if(condition3)
if(a%2==0)
if(a<=12)
cout << "a est OK et égale a:"<<a << endl;
}
13
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 ||
Utilisation des opérateurs 14
&& 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
15
Les structures
répétitives
16
while ( condition);
..ou
do {
instruction1;
instruction2;
...
}while ( condition );
25
exemple1
#include <iostream>
main() {
int x=4, y=1;
do {
cout<<"x =" <<x <<" y =" <<y;
x++;
y--;
}while( x < y);
}
26
Branchement
conditionnel
Branchement conditionnel 29
(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 est présent, l’exécution se poursuit après default. Si en revanche default n’est pas
présent, on sort du switch.
Les instructions qui suivent le case approprié ou default sont exécutées. Puis, les
instructions du cas suivant sont également exécutées (on ne sort donc pas du switch). Pour
forcer la sortie du switch, on doit utiliser le mot-clé break.
Branchement conditionnel 30
(2)
Sa syntaxe est la suivante :
switch (valeur)
{
case cas1 :
instruction ;
break ;
case cas2 :
instruction ;
break ;
..
case casN :
instruction ;
break ;
default :
instruction ;
}
31
Exemple
i= 2;
switch (i) {
case 1:
case 2: /* Si i=1 ou 2, la ligne suivante sera exécutée. */
i=2-i;
break;
case 3:
i=0; /* Cette ligne ne sera jamais exécutée. */
default:
break; }
Note : Il est interdit d’effectuer une déclaration de variable dans un des case d’un switch.
32
Rupture de
séquence
Les commandes de rupture 33
de séquence
Il existe différentes commandes dites commandes de rupture de séquence
(c’est-à-dire de changement de la suite des instructions à exécuter). Ces
commandes sont les suivantes :
- continue ;
- break ;
- return [valeur] ;
34
Continue
L'instruction continue sert à "continuer" une boucle (for, while et do) avec la prochaine itération.
#include <iostream>
main() {
if (i == 5) continue;