Bases de la programmation en C++ 1 Les enchaînementsdinstruction Séquentiels. Exécutions...

Preview:

Citation preview

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.

Recommended