Bases de la programmation en C++ 1
Les enchaînements d’instruction
Séquentiels.
Exécutions d’instructions les unes à la suite des autres.Instructions séparées par un point virgule.Eventuellement plusieurs instructions sur une ligne.
Perimetre = rayon * 2 *PI ; // 1 instruction sur une ligne
Aire = PI * rayon * rayon ; // 1 instruction sur une ligne
a = 2 ; b = 3 ; c = b – a ; // Plusieurs instructions sur une ligne
Bases de la programmation en C++ 2
Les enchaînements d’instruction Alternatifs
if Exécution d’ une suite d’instructions si une condition est vérifiée ou d’une autre si la condition n’est pas respectée.Prototype:
If( condition )
{
instruction 1
}
else
{
instruction 2
}
Expression logique
Vrai (!=0) ou Faux (=0)
Pas obligatoire
Bases de la programmation en C++ 3
Rappel:
Une valeur égale à 0 représente l’expression logique Faux
Une valeur différente de 0 représente l’expression logique Vrai
1 // vrai
a = 5
a // vrai car a est différent de 0
!a // faux car !a vaut 0
a && 7 // vrai car a && 7 vaut 1
a || 0 // vrai car a || 0 vaut 1
a && 0 // faux car a && 0 vaut 0
(a && 0) || (a && 7) // vrai
(a > 7) && (a > 3) // faux (a > 7) vaut 0 et (a > 3) vaut 1
Les opérateur logiques et de relations
Bases de la programmation en C++ 4
Exemple avec if
#include <iostream.h>
int main (){ int a , b; //entrées Int c; //sorties
cin >> a; //saisie cin >> b; //saisie
// post-relation c=max(a,b) if( a > b ) { c = a; }
if( b >= a) { c = b; }
cout << c; //affichage
return 0;}
#include <iostream.h>
int main (){ int a , b; //entrées Int c; //sorties
cin >> a; //saisie cin >> b; //saisie
// post-relation c=max(a,b) if( a > b ) { c = a; } else { c = b; }
cout << c; //affichage
return 0;}
Recherche du max entre deux nombres
=
Bases de la programmation en C++ 5
Les enchaînements d’instruction Alternatifs
switch On a une expression qui peut avoir plusieurs valeurs. Exécution d’une instruction suivant la valeur.
switch( expression )
{
case valeur 1 : … instruction 1
case valeur 2 : … instruction 2
.
.
case valeur n : … instruction n
default : … instruction si aucun des cas n’est retenu
}
Les différentes branches ne sont pas en exclusion mutuelle.
Les suites d’instructions doivent se terminer par break;
Pas obligatoire
Bases de la programmation en C++ 6
Exemple avec switch
#include <iostream.h>
int main (){ char operateur;
cin >> operateur;
switch (operateur) { case ‘+’ : cout << " addition " ; break; case ‘-’ : cout << " soustraction " ; break; case ‘/’ :
cout << " division " ; break; case ‘+’ :
cout << " multiplication " ;break;
default : cout << " operateur invalide " ; } return 0;}
Ecrit l’opérateur que l’on a rentré au clavier
Bases de la programmation en C++ 7
Répétitif
while tant que (condition) …. faire instruction Effectue l’instruction tant que la condition est vérifiée
while( condition )
{
instruction
}
si condition est évalué à faux dés le début alors la suite d’instruction n’est jamais exécuté.
Si condition est toujours évalué à vrai, on a un bouclage infini.
Les enchaînements d’instruction
Expression logique
Vrai (!=0) ou Faux (=0)
Bases de la programmation en C++ 8
Exemple avec while
#include <iostream.h>
int main (){ int max; //entrée int i; // variable-local int somme; // sortie // pre-condition: max >0 // post-relation: somme = 1 + … + max
i = 1; // initialisation somme = 0; // initialisation
cin >> max; //saisie
while (i <= max) { somme = somme + i; i = i + 1; // on écrit en général i++ }
cout << somme; //affichage
return 0;}
Calcul de la somme des entiers de 1 à max
Si max == 0 On n’entre pas dans la boucle
Bases de la programmation en C++ 9
Répétitif
do … while faire instruction …..tant que (condition) La condition est évaluée à la fin de la boucle. L’instruction est exécutée au moins 1 fois.
Point virgule à la fin!
Les enchaînements d’instruction
do{ instruction}while( condition ) ;
Bases de la programmation en C++ 10
Exemple avec do … while
#include <iostream.h>
int main (){ int max; //entrée int i; // variable-local int somme; // sortie // pre-condition: max >0 // post-relation: somme = 1 + … + max
i = 1; // initialisation somme = 0; // initialisation
cin >> max; //saisie
do { somme = somme + i; i = i + 1; // on écrit en général i++ } while (i <= max);
cout << somme; //affichage
return 0;}
Calcul de la somme des entiers de 1 à max
Si max == 0 On entre quand même
dans la boucle
Bases de la programmation en C++ 11
Répétitif
forfor( expr1 ; expr2 ; expr3)
{
instruction
}
Utile lorsqu’on connaît précisément le nombre de fois que l’on veut exécuter l’instruction
Les enchaînements d’instruction
Initialisation
Condition de maintien Progression
expr1 while( expr2 ){ instruction expr3}
Équivalent à
Bases de la programmation en C++ 12
Exemple avec for
#include <iostream.h>
int main (){ int max; //entrée int i; // variable-local int somme; // sortie // pre-condition: max >0 // post-relation: somme = 1 + … + max
// i = 1; // initialisation somme = 0; // initialisation
cin >> max; //saisie
for (i = 1 ; i<= max ; i++) { somme = somme + i; // i = i + 1; // on écrit en général i++ }
cout << somme; //affichage
return 0;}
Calcul de la somme des entiers de 1 à max
Initialisation
Progression
Traduction de la bouclePour i allant de 1 à max, faire:
Bases de la programmation en C++ 13
Rupture de séquence
BreakFait sortir de la boucle (while, do…while, for, switch).
ContinueConcerne while, do…while et for.Saute l’itération en cours.
ReturnDans une fonction => retour à la fonction appelante.Peut renvoyer éventuellement une valeur.