Bases de la programmation en C++ 1 Les enchaînementsdinstruction Séquentiels. Exécutions dinstructions 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înementsdinstruction Alternatifs if Exécution d une suite dinstructions si une condition est vérifiée ou dune autre si la condition nest 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 lexpression logique Faux Une valeur différente de 0 représente lexpression 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 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 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înementsdinstruction Alternatifs switch On a une expression qui peut avoir plusieurs valeurs. Exécution dune 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 nest retenu } Les différentes branches ne sont pas en exclusion mutuelle. Les suites dinstructions doivent se terminer par break; Pas obligatoire
Bases de la programmation en C++ 6 Exemple avec switch #include 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 lopérateur que lon a rentré au clavier
Bases de la programmation en C++ 7 Répétitif while tant que (condition) …. faire instruction Effectue linstruction tant que la condition est vérifiée while( condition ) { instruction } si condition est évalué à faux dés le début alors la suite dinstruction nest jamais exécuté. Si condition est toujours évalué à vrai, on a un bouclage infini. Les enchaînementsdinstruction Expression logique Vrai (!=0) ou Faux (=0)
Bases de la programmation en C++ 8 Exemple avec while #include 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 nentre 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. Linstruction est exécutée au moins 1 fois. Point virgule à la fin! Les enchaînementsdinstruction do { instruction } while( condition ) ;
Bases de la programmation en C++ 10 Exemple avec do … while #include 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 for for( expr1 ; expr2 ; expr3) { instruction } Utile lorsquon connaît précisément le nombre de fois que lon veut exécuter linstruction Les enchaînementsdinstruction Initialisation Condition de maintien Progression expr1 while( expr2 ) { instruction expr3 } Équivalent à
Bases de la programmation en C++ 12 Exemple avec for #include 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 boucle Pour i allant de 1 à max, faire:
Bases de la programmation en C++ 13 Rupture de séquence Break Fait sortir de la boucle (while, do…while, for, switch). Continue Concerne while, do…while et for. Saute litération en cours. Return Dans une fonction => retour à la fonction appelante. Peut renvoyer éventuellement une valeur.