Académique Documents
Professionnel Documents
Culture Documents
SATAURI Imane
ENSAM – CASABLANCA
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.
SATAURI Imane 2
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
programmatio programme en
Le programme Compilate binaire que
n de
écrit dans un l’ordinateur
langage de
ur
traduction
traduit en comprend:
programmation 10100100101000
« binaire »
1101
SATAURI Imane 3
Langage de programmation C++
Langage de haut • Java
niveau • C# .net
Plus simple et plus • Python
éloigné du • Ruby
fonctionnement de la
machine
Nivea
ux
des
langag
es
Langage de bas
niveau • C
Plus complexe et plus
• C ++
proche du
fonctionnement de la
• Objective -
machine C
01101001
10010101 • Assembleur
1101
Binaire
SATAURI Imane 4
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
SATAURI Imane créateur de C+ 5
Langage de
programmation C++
D’une façon simpliste: C++ est un sur-ensemble de
C.
C++= C + améliorations + orienté objet
C++ = C +
Notion de classe
méthodes (ou fonction membre)
héritage
polymorphisme…
SATAURI Imane 6
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++.
SATAURI Imane 7
Premier programme C++
directive de préprocesseur:
inclure la bibliothèque
iostream
Commentaire qui indique que vous allez utiliser
s’étale sur plusieurs l'espace de noms std dans la suite
ligne /* …*/ du fichier de code
SATAURI Imane 8
Premier Programme C++
SATAURI Imane 10
Quelques règles
d’écriture
Les identificateurs: servent à désigner les
différents objets manipulés par le
programme (variables, fonctions, objets,
structures…)
Ils sont formés d’une suite de caractère
choisis parmi les lettres et les chiffres. Le
premier caractère doit être une lettre
Exemples:
lg_lig, valeur_5, _total, _89
les identificateurs ligne et Ligne désignent
deux objets différents.
SATAURI Imane 11
Quelques règles
d’écriture
Certains « mots-clés » sont réservés par le
langage à un usage bien défini et ne
peuvent pas être utilisés comme
identificateurs
SATAURI Imane 12
Fichier
Prog1.cpp
source
Création d’un programme
Inclut les
Préprocesseur
1 fichiers en-
C++
tête
Fichier
temporaire Le résultat est
toujours un
fichier source
2 Compilateur
Prog1.s
3 Assembleur
Fichier objet
Prog1.o
C++
Modules objets
Éditeur de liens pour les
4 fonctions de la
librairie
Prog1.exe
SATAURI Imane 13
Les types de base de C++
SATAURI Imane 14
Les types de base de C++
Les entiers
SATAURI Imane 15
Les types de base de C++
Les réels
SATAURI Imane 16
Déclarations des variables
Typevariable nomvariable;
Exemples:
int n;
int n =20;
const float x=0.3;
double y;
bool ok=false;
char c=‘a’;
SATAURI Imane 17
Opérateurs et expressions
Lesopérateurs sont des symboles qui permettent
de manipuler des variables, c'est-à-dire effectuer
des opérations, les évaluer, etc.
if ( a>b ) max = a ;
max= a>b ? a : b ;
else max = b ;
SATAURI Imane 19
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
SATAURI Imane 20
QUIZ
2. Comment écrire un commentaire sur une
seule ligne ?
a) // mon commentaire //
b) // mon commentaire
c) /* mon commentaire */
d) /* mon commentaire
SATAURI Imane 21
QUIZ
3. Quel est la première étape de la
compilation?
b) Assembleur
c) Editeur de liens
d) Compilateur
SATAURI Imane 22
QUIZ
4. Quel l’en-tête qui permet
d’utiliser la fonction sqrt() en C+
+?
a) Qmath
b) Cmath
c) Math
SATAURI Imane 23
Quiz
5. Quels sont les mots clés
introduits par C++?
a) Break
b) Private
c) Struct
d) Long int
e) Class
f) new
SATAURI Imane 24
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
SATAURI Imane 25
Les instructions de
contrôle
L’instruction if
Syntaxe
if (expression) instruction_1
else instruction_2
Ou
if (expression) instruction_1
Où
expression : expression quelconque
instruction_1 et instruction_2 : instructions
quelconques (simple, bloc ou instruction
structurée.)
SATAURI Imane 26
Les instructions de
contrôle
L’instruction if
Exemple:
if ( ++i < limite) cout << "OK" ;
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é" ;
SATAURI Imane 27
Les instructions de
contrôle
L’instruction switch:
Syntaxe:
switch (expression)
{ case constante_1 :
[ suite_d’instructions_1 ]
case constante_2 : [ suite_d’instructions_2 ]
..............
case constante_n : [ suite_d’instructions_n ]
[ default : suite_d’instructions ]
}
SATAURI Imane 28
Les instructions de
contrôle
L’instruction do … while
Syntaxe:
do instruction
while (expression) ;
SATAURI Imane 29
Les instructions de
contrôle
L’instruction for
Syntaxe:
for ([ expression_déclaration_1 ] ; [ expression_2 ] ;
[ expression_3 ])
instruction
SATAURI Imane 30
Les instructions de branchement
inconditionnel
L’instruction break
début tour 1
Bonjour
fin tour 1
début tour 2
bonjour
fin tour 2
Le programme a début tour 3
affiché début tour 3 bonjour
et bonjour puis après la boucle
i==3, il sort de la
boucle
SATAURI Imane 31
Les instructions de branchement
inconditionnel
L’instruction continue
début tour 1
début tour 2
début tour 3
début tour 4
Le programme
bonjour
affiche début tour 1
à 3 puis i>=4, il
début tour 5
affiche bonjour bonjour
SATAURI Imane 32
Les instructions de branchement
inconditionnel te ns
et a
L’instruction goto c e d es
e z u nc s
l is q ta lle
ti on s e
’u cti con nn
N u ir io
tr c pt
n s s e
i de xc
e
début tour 1
Bonjour
fin tour 1
début tour 2
bonjour
fin tour 2
Le programme a début tour 3
affiché début tour 3 bonjour
et bonjour puis après la boucle
i==3, il se banche
à sortie
SATAURI Imane 33
Exercices
Détecter le problème?
Détecter l’erreur?
SATAURI Imane 34
Quiz
Quelles erreurs ont été commises dans
chacun des groupes d’instructions suivants :
1. Il manque un point-virgule
if (a<b) cout << "ascendant"dans la première instruction
if (a<b) cout <<
else cout << "non ascendant" ;
"ascendant« ;
2.
int n ;
...
switch (2*n+1)
L’expression 2*n+1 n’est
{ case 1 : cout << "petit" ;
une expression constante
case n : cout << "moyen" ;
}
SATAURI Imane 35
Quiz (suite)
Quelleserreurs ont été commises dans
chacun des groupes d’instructions suivants :
3.
const int LIMITE=100;
int n ;
...
switch (n)
OK
{ case LIMITE-1 : cout << "un peu moins" ;
case LIMITE : cout << "juste" ;
case LIMITE+1 : cout << "un peu plus" ;
}
SATAURI Imane 36