Historique de langage de
programmation
• 1ère génération (Code machine)
– F0 00 A0 B8 20 ….
• 2ème génération (Assembleur)
– LDA #$00
– STA $B820
Historique de langage de
programmation
• 1ère génération (Code machine)
– F0 00 A0 B8 20 ….
• 2ème génération (Assembleur)
– LDA #$00
– STA $B820
Exigences à un programme
• Lisibilité
• Extensibilité
• Efficacité
• Portabilité
• Réutilisable
• Fiabilité
Définitions Wikipedia
• Le C++ est un langage de programmation qui permet
– la programmation procédurale
– la programmation orientée objet
– la programmation générique.
• Au cours des années 1990, le C++ est devenu l'un des langages de programmation les plus
populaires dans l'industrie informatique.
• Le langage C++ n'appartient à personne et par conséquent n'importe qui peut l'utiliser sans payer
de droits.
• Bjarne Stroustrup a développé le C++ au cours des années 1980, alors qu'il travaillait dans le
laboratoire de recherche Bell d'AT&T. Il s'agissait en l'occurrence d'améliorer le langage C et il
l'avait d'ailleurs nommé C with classes (« C avec des classes »). Les premières améliorations se
concrétisèrent donc par l'ajout du support des classes, suivies par de nombreuses autres comme
les fonctions virtuelles, la surcharge d'opérateurs, l'héritage (simple ou multiple), les
« templates », la gestion d'exceptions...
• Le langage C++ est normalisé par l'ISO. Sa première normalisation date de 1998 (ISO/CEI
14882:1998), et sa dernière de 2003 (ISO/CEI 14882:2003). La normalisation de 1998
standardise la base du langage (Core Language) ainsi que la bibliothèque C++ standard (C++
Standard Library). La normalisation de 2003 inclut également la Standard Template Library et la C
Standard Library .
• Il existe de nombreuses autres bibliothèques en C++ non incluses dans le standard. De plus, le
C++ permet l'utilisation des nombreuses bibliothèques C existantes.
Le fichier source : programme.cpp
• Le fichier source d'un programme écrit en langage C++ est un simple fichier texte
dont l'extension est par convention .cpp
• Ce fichier source doit être un fichier texte non formaté,
– un fichier texte dans sa plus simple expression
– sans mise en forme particulière
– sans caractères spéciaux
– contenant uniquement les caractères ASCII de base.
• Pour « essayer » le programme, il s'agit de le compiler (le traduire en langage
machine) à l'aide d'un compilateur.
• EDI (Environnement de Développement Intégré) avec Compilateur, Editeur,
Debugger
• Borland C++
• Borland C++ Builder
• Microsoft Visual C++
• Dev C++
Commentaires (lisibilité !)
• Longs programmes :ajoutez des lignes de
commentaires dans le programme
– pour but d'expliquer le fonctionnement du programme
– Ignoré par le compilateur
/* Voici un commentaire !
sur plusieurs lignes */
// Voici un autre commentaire sur une
ligne
Hello World
/*
Programme écrit par Patrick Reuter
*/
#include <iostream>
// Debut du programme
int main()
{
// Afficher ‘Hello World’ a l’ecran
std::cout << "Hello, world! " << endl;
}
Ingrédients d’algorithmes
• Affectation
• Condition/Comparaison
• Appel de fonction
• Structure de contrôle
– Branchements conditionnels (multiples)
– Boucles
• Bloc d’instruction
Ingrédients d’algorithmes
• Affectation
a = 7;
score = 0;
score = score + 100;
gameover = FAUX;
- Note:
- Affectation d’une seule variable avec un valeur.
- La variable à affecter figure à gauche, la valeur à droite
Faux:
a+b = 6;
7 = c;
Ingrédients d’algorithmes
• Condition/Comparaison
a == 7
absent == FAUX
malade == VRAI OU vacances == VRAI
score > highscore;
…
- Note:
- Le résultat d’une condition/comparaison peut être
uniquement soit VRAI, soit FAUX
Ingrédients d’algorithmes
• Structure de contrôle
– Branchements conditionnels
SI <condition> ALORS
<bloc d’instructions>
SINON
<bloc d’instructions>
Exemple:
SI (score>meilleur_score) ALORS
meilleur_score ← score;
Ingrédients d’algorithmes
• Structure de contrôle
– Branchements conditionnels
SI <condition> ALORS
<bloc d’instructions>
SINON
<bloc d’instructions>
Exemple:
SI (score>meilleur_score) ALORS
meilleur_score ← score;
En C++ :
IF (score>meilleur_score)
meilleur_score = score;
Ingrédients d’algorithmes
• Structure de contrôle
– Boucle
TANT QUE <condition> FAIRE
<bloc d’instructions>
FIN TANT QUE
ou
FAIRE
<bloc d’instructions>
TANT QUE <condition>
Ingrédients d’algorithmes
• Structure de contrôle
– Boucle
TANT QUE <condition> FAIRE
<bloc d’instructions>
FIN TANT QUE
Exemple :
Afficher les nombres entiers dont le carré est inférieur à 100.
nombre ← 1;
TANT QUE (nombre*nombre<100) FAIRE
afficher(nombre);
nombre ← nombre + 1;
FIN TANT QUE
nombre = 1;
while (nombre*nombre<100)
{
cout << nombre << endl;
nombre=nombre+1;
}
Ingrédients d’algorithmes
• Structure de contrôle
– Boucle POUR
POUR variable de valeur à valeur FAIRE
<bloc d’instructions>
FIN POUR
Exemple
POUR i←1 à 10 FAIRE
afficher(i);
afficher(i*i);
FIN POUR
for (i=1; i<=10; i++)
{
cout << i << endl;
cout << i*i << endl;
}