La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

++ - 1 M. BENJELLOUN & S. Mahmoudi : S_FPMsJ 2010 Mohammed BENJELLOUN Said Mahmoudi Service d’Informatique Faculté Polytechnique de Mons

Présentations similaires


Présentation au sujet: "++ - 1 M. BENJELLOUN & S. Mahmoudi : S_FPMsJ 2010 Mohammed BENJELLOUN Said Mahmoudi Service d’Informatique Faculté Polytechnique de Mons"— Transcription de la présentation:

1 M. BENJELLOUN & S. Mahmoudi : S_FPMsJ 2010 Mohammed BENJELLOUN Said Mahmoudi Service d’Informatique Faculté Polytechnique de Mons 2010

2 M. BENJELLOUN & S. Mahmoudi : S_FPMsJ 2010 Y=X 2 et Z=X 3 ?? int X, Y, Z; // déclaration des Variables : identificateur X = 2 ; // initialisation Y = X * X ; Z = Y * X ; // ou Z=X*X*X …. Variables : déclarations, Syntaxe : Type identificateur1, id2,…. ; char c1, c2, c3 ; int i, j, var_ent; float f, variable ; Exemple: initialisations int i=9; ou int i; i=9; char c1= 'A'; ou char c1; c1= 'A'; corps du programme void main(void) // ou void main() { }

3 M. BENJELLOUN & S. Mahmoudi : S_FPMsJ 2010 Fichier source / Fichier exécutable Le code source doit obligatoirement fournir au compilateur le « point d’entrée » : la fonction main ()

4 M. BENJELLOUN & S. Mahmoudi : S_FPMsJ 2010 Identificateurs Les identificateurs nomment les objets C++ (fonctions, variables...). Le C++ distingue les minuscules des majuscules. Exemple: ab, Ab, AB sont des identificateurs valides et tous différents. Identificateurs valides : xx y1 somme_5 _position Noms Programme_1 Identificateurs invalides : 3eme commence par un chiffre x#y caractère non autorisé (#) no-commande caractère non autorisé (-) taux change caractère non autorisé (espace)

5 M. BENJELLOUN & S. Mahmoudi : S_FPMsJ 2010 Un identificateur ne peut pas être un mot réservé du langage : asmautoboolbreakcase catchcharclassconstcontinue defaultdeletedodoubleelse enumexternfloatforfriend gotoifinlineintlong mutablenamespacenewoperatorprivate protectedpublicregisterreturnshort signedsizeofstaticstructswitch templatethistypedefunionunsigned usingvirtualvoidvolatilewhile mots réservés Les mots réservés du langage C++ doivent être écrits en minuscules.

6 M. BENJELLOUN & S. Mahmoudi : S_FPMsJ 2010 Y=X 2 et Z=X 3 ?? void main(void) // ou void main() { int Y, Z, X; // déclaration des Variables X = 2 ; // instruction1 Y = X * X ; // instruction2 Z = Y * X ; // instruction3 } cout  Y cout  Z #include using namespace std; Directives du préprocesseur accès avant la compilation Directives du préprocesseur accès avant la compilation using namespace std; /* espace de nommage std pour importer les symboles de la bibliothèque standard C++ */ Affichage !!

7 M. BENJELLOUN & S. Mahmoudi : S_FPMsJ 2010 Directives du préprocesseur Une directive préprocesseur est une directive de compilation (précédées par un #) Exemples d’inclusion de librairies standards: Gestion des Entrées-Sorties standard Fonctions mathématiques Traitement de chaînes de caractères Contrôler les paramètres d'affichage

8 M. BENJELLOUN & S. Mahmoudi : S_FPMsJ 2010 Les entrées /sorties : cin et cout • cout, le flux standard de sortie, habituellement associé à l'écran, Syntaxe : cout << expression << expression … ; • cin, le flux standard d’entrée, habituellement associé au clavier, Syntaxe : cin >> valeur >> valeur >> valeur … ; #include using namespace std; void main() { cout <<" Salut a vous tous" << endl; cout << " oui tous " ; } endl signifie un saut de ligne   définies dans la librairie

9 M. BENJELLOUN & S. Mahmoudi : S_FPMsJ 2010 cout <<"Qu'il est agreable d'utiliser " <<"cout en\t C++,\nlorsqu'on l'utilise " <

10 M. BENJELLOUN & S. Mahmoudi : S_FPMsJ 2010 Y=X 2 et Z=X 3 ?? void main(void) // ou void main() { int Y, Z, X; // déclaration des Variables X = 2 ; Y = X * X ; Z = Y * X ; } cout << " valeur de Y = " << Y << endl; cout << " valeur de Z = " << Z; #include using namespace std; valeur de Y= 4 valeur de Z = 8 cout << " valeur de Y = " << Y << endl << " valeur de Z = " << Z; cout << " valeur de Y = " << Y << " \nvaleur de Z = " << Z;

11 M. BENJELLOUN & S. Mahmoudi : S_FPMsJ 2010 void main(void) { int Y, Z, X; // déclaration des Variables X = 2 ; Y = X * X ; Z = Y * X ; } cout << " valeur de Y = " << Y << endl; cout << " valeur de Z = " << Z; #include using namespace std; valeur de Y= 4 valeur de Z = 8  X !! cout << " ??valeur de X = "; cin >> X; -3 valeur de Y= 9 valeur de Z = -27

12 M. BENJELLOUN & S. Mahmoudi : S_FPMsJ 2010 #include using namespace std; void main () { int n=2; float x= 3.4; char C= 'A' ; cout << " Entier n = "<< n << " ; Entrez un nouveau = " ; cin >> n ; cout << " Float x = "<< x << " ; Entrez un nouveau = " ; cin >> x ; cout << " Char C = "<< C << " ; Entrez un nouveau = " ; cin >> C ; cout << "\n L'entier vaut maintenant : " << n << endl; cout << " Le flottant vaut maintenant :" << x << endl; cout << " Le caractere vaut maintenant :" << C << endl ; } Entier n = 2 ; Entrez un nouveau = 3 Float x = 3.4 ; Entrez un nouveau = 5.67 Char C = A ; Entrez un nouveau = y L'entier vaut maintenant : 3 Le flottant vaut maintenant :5.67 Le caractere vaut maintenant :y int n=2; float x= 3.4; char C= 'A' ; cout << "Entrez n, x et C : "; cin >> n >> x >> C; cout << C << ' ' << x << ' ' << n; Entrez n, x et C : V V 9.9 5

13 M. BENJELLOUN & S. Mahmoudi : S_FPMsJ 2010 Si X est une constante !! void main(void) { int Y, Z, X; // déclaration des Variables Y = X * X ; Z = Y * X ; } cout << " valeur de Y = " << Y << endl; cout << " valeur de Z = " << Z; #include using namespace std; const int X = 4 ; valeur de Y= 16 valeur de Z = 64 Constantes : déclarations+initialisations Syntaxe : const Type identificateur1=Val1, identificateur2=Val2, …,…. ; const char c = 'A'; const int i=5, var_ent=8; Exemple: const int i; i= 5;

14 M. BENJELLOUN & S. Mahmoudi : S_FPMsJ 2010 void main(void) { /* programme disque1 Ce programme calcule la circonférence et la surface d’un disque de rayon 2 */ const float PI= ; int rayon = 2; float circonference, surface; circonference = 2* PI*rayon; surface = PI * rayon *rayon ; } TP Affichage !! cout  circonference cout  surface #include using namespace std;

15 M. BENJELLOUN & S. Mahmoudi : S_FPMsJ 2010 void main(void) { /* programme disque2 : Ce programme calcule et affiche la circonférence et la surface d’un disque de rayon 2. */ const float PI= ; int rayon = 2; float circonference, surface; circonference = 2* PI*rayon; surface = PI * rayon *rayon ; } cout << " La circonference = " << circonference << endl; cout << " La surface = " << surface; #include using namespace std; TP : suite La circonference = La surface =  rayon !!

16 M. BENJELLOUN & S. Mahmoudi : S_FPMsJ 2010 void main(void) { /* programme disque2 : Ce programme calcule et affiche la circonférence et la surface d’un disque de rayon quelconque positif. */ const float PI= ; int rayon = 2; float circonference, surface; circonference = 2* PI*rayon; surface = PI * rayon *rayon ; } cout << " La circonference = " << circonference << endl; cout << " La surface = " << surface; #include using namespace std; TP : suite cout << " ?valeur rayon = "; cin >> rayon; Seulement si ( rayon >= 0 ) !!

17 M. BENJELLOUN & S. Mahmoudi : S_FPMsJ 2010 plus grand >=plus grand ou égal ==égal !=différent Les opérateurs logiques &&et ||ou (non exclusif) !non Le résultat d'une expression logique est un booléen. Il vaut true si elle est vraie et false sinon. Toute valeur non nulle est considérée comme vraie et la valeur nulle comme fausse. ! ! Les opérateurs de comparaison !

18 M. BENJELLOUN & S. Mahmoudi : S_FPMsJ 2010 Les structures de contrôle Alternative: if-else Itérations: for, while, do-while Rupture de Contrôle: break, continue, return … Choix Multiple: switch-case Bloc 1 d’instructions Bloc 2 d’instructions ouinon Suite du programme ouinon Suite du programme Bloc d’instructions Condition vraie oui non Bloc d’instructions programme Condition vraie Suite du programme programme Condition vraie if-elsewhile do-while

19 M. BENJELLOUN & S. Mahmoudi : S_FPMsJ 2010 Condition vraie Bloc 1 d’instructions Bloc 2 d’instructions oui non Suite du programme void main() { // corps du programme déclaration des Cstes et Var ; instruction1 ; instruction2 ; …. } int a, b; a = 1; if ( Condition vraie ) { BLOC 1 D'INSTRUCTIONS } else { BLOC 2 D'INSTRUCTIONS } Les structures de contrôle Les décisions - if … else if (i)  if (i != 0)

20 M. BENJELLOUN & S. Mahmoudi : S_FPMsJ 2010 Les décisions - if … else if ( Condition vraie ) { BLOC 1 D'INSTRUCTIONS } else { BLOC 2 D'INSTRUCTIONS } Bloc 1 d’instructions Bloc 2 d’instructions ouinon Suite du programme programme Condition vraie if ( X== Y) { X= X+1; Y= Y+2; } else { X = X-1 ; Y = Y- 2 ; } Bloc 1 d’instructions ouinon Suite du programme Condition vraie if ( Condition vraie ) { instruction 1; instruction 2; instruction 3; … instruction N; } if ( Condition vraie ) instruction 1; if ( temperature > 70.0) cout << " Alarme "<

21 M. BENJELLOUN & S. Mahmoudi : S_FPMsJ 2010 int i = 1; if(i < 0) cout <<" i < 0 \n"; cout 0 \n"; cout <<" alors!! \n"; … Il faut un i > 0 alors!! int i = 1; if(i < 0){ cout <<" i < 0 \n"; cout 0" << endl; } cout <<" alors!! \n"; alors!! Condition vraie Bloc 1 d’instructions oui non

22 M. BENJELLOUN & S. Mahmoudi : S_FPMsJ 2010 int i = -1; if(i < 0){ cout <<" i < 0 \n"; cout 0" << endl; } cout <<" alors!! \n"; i < 0 Il faut un i > 0 alors!! int i = 1; if(i < 0){ cout <<" i < 0 \n"; cout 0" << endl; } cout <<" alors!! \n"; alors!! Condition vraie Bloc 1 d’instructions oui non

23 M. BENJELLOUN & S. Mahmoudi : S_FPMsJ 2010 int i = -1; if(i < 0){ cout <<" i < 0 \n"; cout 0" << endl; } cout <<" alors!! \n"; i < 0 Il faut un i > 0 alors!! int i = -1; if(i < 0){ cout <<" i < 0 \n"; cout 0" << endl; } else { cout <<" alors!! \n"; } i < 0 Il faut un i > 0 Condition vraie Bloc 1 d’instructions oui non Bloc 2 d’instructions else (i>=0) { …

24 M. BENJELLOUN & S. Mahmoudi : S_FPMsJ 2010 Ce programme calcule la circonférence et la surface d’un disque de rayon quelconque positif if ( rayon < 0 ) { cout << "je ne peux calculer avec un rayon négatif!\n"; } else { ….

25 M. BENJELLOUN & S. Mahmoudi : S_FPMsJ 2010 void main(void) { const float PI= ; float circonference, surface; int rayon; cout << " ?valeur rayon = "; cin >> rayon; if ( rayon < 0 ) { cout << "je ne peux calculer avec un rayon négatif!\n"; } else{ circonference = 2* PI*rayon; surface = PI * rayon *rayon ; } cout << " La circonference = " << circonference << endl; cout << " La surface = " << surface; #include using namespace std; TP : suite Ce programme calcule et affiche la circonférence et la surface d’un disque de rayon quelconque positif.

26 M. BENJELLOUN & S. Mahmoudi : S_FPMsJ 2010 #include using namespace std; void main() { int i=0; cout << "i = " << i << endl; i++; cout << "i = " << i << endl; i++; cout << "i = " << i << endl; i++; cout << "i = " << i << endl; } Les itérations – for for( init ;(Condition vraie); itération ) { /* liste d'instructions */ } for (i = 0; i <4; i++) { cout << "i = " << i << endl; } for (i = 0; i <4; ) { cout << "i = " << i << endl; i++ ; } i=0 i=1 i=2 i=3

28 M. BENJELLOUN & S. Mahmoudi : S_FPMsJ 2010 void main(void) { const float PI= ; float circonference, surface; float rayon; cout << " rayon\t circonference \t surface\n"; for (rayon=2.0; rayon <= 8.0; rayon+=2.0) { circonference = 2* PI*rayon; surface = PI * rayon *rayon ; cout << rayon << "\t " << circonference << "\t " << surface << endl; } #include using namespace std; TP : suite ??? rayon=2.0 rayon=4.0 rayon=6.0 rayon=8.0

29 M. BENJELLOUN & S. Mahmoudi : S_FPMsJ 2010 int i, j=1; char a; for (i = -10; i <= 10; i++){ while(j!=0) { cin >> a ; if(a=='x') break; } } Pour rompre le déroulement séquentiel d'une suite d'instructions Instructions d'échappement return (expression); permet de sortir de la fonction qui la contient exit (expression); La fonction est interrompue. ‘expression’ : un entier indiquant le code de terminaison du processus for (i = -10; i <= 10; i++) { if (i == 0) continue; // pour éviter la division par zéro cout << 1 / i; } while (Condition vraie) { ; continue; ; break; ; } ;  

30 M. BENJELLOUN & S. Mahmoudi : S_FPMsJ 2010 switch = AU CAS OU... FAIRE... … switch(variable de type char ou int) // au cas où la variable vaut: { case valeur1 :......; // variable=valeur1 : exécutez ce bloc d'instructions ; break; case valeur2: ; // variable=valeur2: exécutez ce bloc d'instructions ; break;.. // etc.... default: ; /* aucune des valeurs précédentes: exécutez ce bloc ; d'instructions, pas de "break" ici.*/ } Le bloc "default" n'est pas obligatoire. valeur1, valeur2, …. doivent être des expressions constantes. L’instruction switch correspond à une cascade d’instructions if...else

31 M. BENJELLOUN & S. Mahmoudi : S_FPMsJ 2010 …. void main( ) { const float PI= ; float rayon = 3.5; float diametre, circonference, surface; int choix; cout << "1. Calculer la circonference\n"; cout << "2. Calculer la surface\n"; cout << "3. Calculer le diametre\n"; cout << "Votre choix?"; cin >> choix; switch (choix) { case 1 : circonference = 2*PI*rayon; break; case 2 : surface = PI*rayon*rayon; break; case 3 : diametre = 2*rayon; break; default : cout << "Mauvais choix…\n"; } char choix; switch(choix) { case '1': … ! switch(i) { case 2 * j:.... float f; switch(f) { case 2:.... switch : instruction commode pour les "menus"

32 M. BENJELLOUN & S. Mahmoudi : S_FPMsJ 2010 Corrigez, si nécessaire, ce programme pour ne plus avoir d’erreurs lors de la compilation. Qu’affiche-t-il à l’écran (après correction)? Si choix = 1 Si choix = 5 char choix; cout << " Case 1 : 1\n"; cout << " Case 2 : 2" <> choix; switch(choix) { case 1 : cout << "case 1"; case 2 : cout << "case 2"; default : cout << "\n Default "; } EXCES ' int choix; break;

33 M. BENJELLOUN & S. Mahmoudi : S_FPMsJ 2010 void main(void) { float rayon = 3.5; float diametre, circonference, surface; int choix; cout << "1. Calculer la circonference\n"; cout << "2. Calculer la surface\n"; cout << "3. Calculer le diametre\n"; cout << "Votre choix?"; cin >> choix; switch (choix) { case 1 : circonference = 2*PI*rayon; break; case 2 : surface = PI*rayon*rayon; break; case 3 : diametre = 2*rayon; break; default : cout << "Mauvais choix…\n"; } /* poursuite du programme….*/ }

34 M. BENJELLOUN & S. Mahmoudi : S_FPMsJ 2010 La boucle TANT QUE... FAIRE... Boucle pré-testée Il s'agit de l'instruction while : tant que (expression vraie) faire{ BLOC D'INSTRUCTIONS } Organigramme: while ( Condition vraie ) { ; /* bloc d'instructions */ ; } Le test se fait d'abord, le bloc d'instructions n'est pas forcément exécuté. Syntaxe: tant que, pas jusqu’à ce que! ( Boucles ) ouinon Suite du programme Condition vraie Bloc 1 d’instructions

35 M. BENJELLOUN & S. Mahmoudi : S_FPMsJ 2010 i=1; while(i<5) { cout<<"Interieur " <

36 M. BENJELLOUN & S. Mahmoudi : S_FPMsJ 2010 do while = REPETER … tant que do { ; /* bloc d'instructions */ ; } while ( Condition vraie ); Condition vraie ouinon Bloc d’instructions programme int j = 5; do cout<<"j = "< 0); cout <<"stop\n"; j = 5 j = 4 j = 3 j = 2 j = 1 stop Suite du programme (garantit l’exécution au moins une fois) int j = 5; do { cout<<"j = "< 0); cout <<"stop\n";

37 M. BENJELLOUN & S. Mahmoudi : S_FPMsJ 2010 Les itérations for( init ;(Condition vraie); itération) { /* liste d'instructions */ } for (i = 0; i <4; i++) { cout << "i = " << i << endl; } while ( Condition vraie ) { ; /* bloc d'instructions */ ; } int i = 0; while(i < 4) { cout<<"i = "<< i <


Télécharger ppt "++ - 1 M. BENJELLOUN & S. Mahmoudi : S_FPMsJ 2010 Mohammed BENJELLOUN Said Mahmoudi Service d’Informatique Faculté Polytechnique de Mons"

Présentations similaires


Annonces Google