Académique Documents
Professionnel Documents
Culture Documents
ZAKRANI Abdelali
ENSAM – CASABLANCA
Année universitaire 2014-2015
Langage de programmation
L’ordinateur est une machine étonnante
et complexe.
Il ne comprend qu'un langage très simple
constitué de 0 et de 1.
1
25/11/2014
Langage de programmation
Les informaticiens ont créé des langages
intermédiaires, plus simples que le binaire.
Il existe aujourd'hui des centaines de langages
de programmation.
Le On obtient un
programmation programme en binaire
Le programme écrit
Compilateur
de traduction que l’ordinateur
dans un langage de
traduit en comprend:
programmation
« binaire » 101001001010001101
Niveaux
des
langages
0110100110
0101011101 • Assembleur
Binaire
ZAKRANI / POO avec C++ / 14-15 4
2
25/11/2014
Histoire de C++
• 1979: Bjarne Stroustrup crée le langage C with class
• 1983: C with class devient C++ après l’ajout des
références, de la surcharge d’opérateurs et les fonctions
virtuelles
• 1989: la version 2.0 de C++ qui apporte l’héritage
multiple et les classes abstraites et d’autres nouveautés
• 1998: la standarisation au niveau
international du langage C++
• 2011: Révision majeure du C++11
Bjarne Stroustrup
créateur de C++
ZAKRANI / POO avec C++ / 14-15 5
C++ = C +
Notion de classe
méthodes (ou fonction membre)
héritage
polymorphisme…
3
25/11/2014
Langage C++
Il est très répandu, il fait partie des langages de
programmation les plus utilisés sur la planète.
Il est rapide, ce qui en fait un langage de choix pour les
applications critiques qui ont besoin de performances
Il est portable: un même code source peut
théoriquement être transformé sans problème en
exécutable sous Windows, Mac OS et Linux
Il existe de nombreuses bibliothèques pour le C++.
4
25/11/2014
5
25/11/2014
6
25/11/2014
Prog1.s
3 Assembleur
Fichier objet
Prog1.o
Modules objets
4 Éditeur de liens pour les fonctions
de la librairie
Prog1.exe
ZAKRANI / POO avec C++ / 14-15 13
7
25/11/2014
8
25/11/2014
Exemples:
int n;
int n =20;
const float x=0.3;
double y;
bool ok=false;
char c=‘a’;
Opérateurs et expressions
Les opérateurs sont des symboles qui permettent de
manipuler des variables, c'est-à-dire effectuer des
opérations, les évaluer, etc.
9
25/11/2014
Opérateurs et expressions
Les opérateurs logiques:
&& (ET logique)
|| ( OU logique)
! (NON logique)
L’opérateur relationnel: (? et :)
En C++, l’instruction:
if ( a>b ) max = a ;
max= a>b ? a : b ;
else max = b ;
QUIZ
1. Vérifier la validité des noms des variables
suivants :(valide/invalide)
a) id2
b) 4eme
c) x#y
d) _id
e) no-commande
f) taux change
g) _2344
h) %id
ZAKRANI / POO avec C++ / 14-15 20
10
25/11/2014
QUIZ
2. Comment écrire un commentaire sur une seule ligne ?
a) // mon commentaire //
b) // mon commentaire
c) /* mon commentaire */
d) /* mon commentaire
QUIZ
3. Quel est la première étape de la compilation?
b) Assembleur
c) Editeur de liens
d) Compilateur
11
25/11/2014
QUIZ
4. Quel l’en-tête qui permet d’utiliser la
fonction sqrt() en C++?
a) Qmath
b) Cmath
c) Math
Quiz
5. Quels sont les mots clés introduits par
C++?
a) Break
b) Private
c) Struct
d) Long int
e) Class
f) new
12
25/11/2014
QUIZ
6. Quels résultats fournit le programme suivant :
A:i=1n=0
B : i = 11 n = 11
C : i = 21 j = 6 n = 120
D : i = 18 n = 18
E : i = 12 j = 4 n = 12
13
25/11/2014
est équivalent à :
◦ i=i+1;
◦ If ( i < limite ) cout << "OK" ;
Questions:
1. if (a = b) { ..... } ?
2. if (a<=b) if (b<=c) cout << "ordonné" ;
else cout << "non ordonné" ;
14
25/11/2014
15
25/11/2014
début tour 1
Bonjour
fin tour 1
début tour 2
bonjour
fin tour 2
Le programme a affiché début tour 3
début tour 3 et bonjour bonjour
puis i==3, il sort de la après la boucle
boucle
ZAKRANI / POO avec C++ / 14-15 31
début tour 1
début tour 2
début tour 3
début tour 4
Le programme affiche bonjour
début tour 1 à 3 puis début tour 5
i>=4, il affiche bonjour bonjour
16
25/11/2014
début tour 1
Bonjour
fin tour 1
début tour 2
bonjour
fin tour 2
Le programme a affiché début tour 3
début tour 3 et bonjour bonjour
puis i==3, il se banche à après la boucle
sortie
ZAKRANI / POO avec C++ / 14-15 33
Exercices
Détecter le problème?
Détecter l’erreur?
17
25/11/2014
Quiz
Quelles erreurs ont été commises dans chacun des
groupes d’instructions suivants :
1.
Il manque un point-virgule dans la
if (a<b) cout << "ascendant" première instruction
else cout << "non ascendant" ; if (a<b) cout << "ascendant« ;
2.
int n ;
...
switch (2*n+1)
L’expression 2*n+1 n’est une
{ case 1 : cout << "petit" ;
expression constante
case n : cout << "moyen" ;
}
ZAKRANI / POO avec C++ / 14-15 35
Quiz (suite)
Quelles erreurs ont été commises dans chacun des
groupes d’instructions suivants :
3.
const int LIMITE=100;
int n ;
...
switch (n)
{ case LIMITE-1 : cout << "un peu moins" ; OK
case LIMITE : cout << "juste" ;
case LIMITE+1 : cout << "un peu plus" ;
}
18