Académique Documents
Professionnel Documents
Culture Documents
Chapitre1: Concepts de Base de La Programmation: I-Introduction
Chapitre1: Concepts de Base de La Programmation: I-Introduction
I-INTRODUCTION
La programmation consiste à écrire des instructions pour un ordinateur afin qu’il
puisse effectuer des taches. Les programmes informatiques sont écrits dans des
fichiers appelés fichiers sources. Ces fichiers contiennent alors des codes appelés
codes sources. Les programmes informatiques sont écrits sur la base des
algorithmes qui sont par la suite traduits en langages de programmation (C++,
Python, Java, Php etc.)
II-CONCEPTS DE BASE DE LA PROGRAMMATION
1)Les types de données
Les types de données sont des concepts qui décrivent le type ou la nature
d’information qu’une variable peut stocker et les opérations qui peuvent être
effectuée sur ces données. Parmi ces types on peut citer
ALGORITHME C C++
Entier int int, integer
réel Float Float, double
booléen boolean boolean
caractère Char char
Chaine de caractère Char[ ] string
2)Variables
Les variables sont des données manipulées par le programme lors de son
exécution. Le contenu d’une variable peut changer. Les variables occupent des
emplacements au niveau de la mémoire vive (RAM).
-Syntaxe de déclaration des variables
ALGORITHME C++/C
Var Type nomvariable ;
No variable : type Exemples :
Exemples : Int age ;
Var String prénom
Age : entier
Prénom : chaine de caractères
3)Constantes
Les constantes sont des données manipulées par le programme et dont le contenu
ne change pas.
-Syntaxe de déclaration d’une constante
ALGORITHME C++/C
Const Const type nom_constante=valeur
Nom_constantevaleur Exemple :
Exemples : Const float pi=3,14
Const
Pi3,14
4)Instruction d’écriture(affichage)
Cette instruction permet d’afficher un message à la consonne
La syntaxe
ALGORITHME C C++
Écrire (« Message à Printf(« message ») Cout « ‘’Message’’ ;
afficher) Printf(« bonjour… ») Std ::cout << ‘’message’’<< std::endl;
Ex : La fct° appartient à la
Écrire(« Bonjour chers bibliothèque stdio.h Std ::cout<< ‘’bonjour’’ << std ::endl ;
amis) On doit ajouter
#include<stdio.h>
La fonction Cout appartient à la bibliothèque iostream. Il faut l’inclure en ajoutant
#include<iostream>.
5-Instruction de lecture (saisie au clavier) :
Cette instruction permet de récupérer les données saisies au clavier et de les
stocker dans une variable
ALGORITHME C C++
Lire(nom_variable) Scanf(«%x»,&nomvariable) ; Cin >> nomvariable ;
d pour int Exple :
Exple : f pour float Cin >> age ;
Lire(age) c pour char
s pour char [ ]
a#include<iostream>
#include<iostream>
int main () {
std ::cout << "Bonjour chers amis"<< std::endl;
return 0;
}
Chapitre2 : Les structures de contrôle
I)Introduction :
Les structures de contrôle permettent d'agir sur l'ordre où la fréquence
d'exécution des instructions d'un programme
il existe deux grands types de structure de contrôle:
-les structures conditionnelles et les structures répétitives appelées
boucles
II)les structures conditionnelles
Elles permettent d'agir sur l'ordre d'exécution des instructions d'un
programme.
Les blocs de code sont exécutés en fonction de certaines conditions :
1)la condition if
Syntaxe :
if(condition){traitement ;
}
La condition est d'abord évaluée si elle est vraie. Le traitement sera
exécuté sinon il ne sera pas exécuté
2)la condition if-else
La condition est d'abord évaluée, si elle est vraie le traitement1 sera
exécuté il ne sera pas exécuté et donc le traitement2 sera exécuté.
Syntaxe :
if(condition){traitement1 ;
}
else{traitement2;
}
Exemple : écrire un programme c++ qui vérifie un mot de passe saisie
par l'utilisateur.il affiche correcte si le mot de passe saisi est "toto" où
incorrecte dans le cas contraire
#include <iostream>
int main ()
{
string mdp = "toto";
string mdps ;
cout << "Saisissez le mot de passe :” ;
cin >> mdps;
if (mdp == mdps){
else {
return 0;
III)les boucles
Elles permettent d'agir sur la fréquence d'exécution des programmes
1)la boucle for
Syntaxe
for (initialisation ; condition ; itération) {
traitement
}
-initialisation : permet d'initialiser une variable de contrôle.
Par exemple : i=1
-condition : la boucle continue tant que cette condition elle est vraie.
Par exemple : i<=10.On sort de la boucle dès que la condition est fausse
-itération : elle est utilisée pour incrémenter où décrémenter la valeur.
Exemple : for(int i=0;i<5;i++){
cout<<i;
}
APPLICATION : Écrire un programme qui affiche les nombres pairs
entre 1 et 50 #include <iostream>
int main()
if (i % 2 == 0){
cout << i;
return 0;
#include <iostream>
#include <cmath>
int main() {
int a, n;
// Saisie de a et n
cin >> a;
cin >> n;
cout << a << " à la puissance " << n << " est égal à : " << resultat << endl;
return 0;
#include <iostream>
if (n <= 1) {
return false;
if (n % i == 0) {
return false;
return true ;
int main () {
cout << "Nombres premiers entre 1 et 100 (boucle for) :" << endl;
// Utilisation de la boucle for
for (int i = 1; i <= 100; i++) {
if (estPremier(i)) {
cout << i << " ";
}
}
cout << "\n\nombres premiers entre 1 et 100 (boucle while) :" << endl ;
return 0;
}
Exemple :
Struct Etudiant {
String prénom ;
String nom ;
Int âge ;
};
Exemple de variable
struct Etudiant et ;
tfact
Id fact Date fact montant Code cl
ff1 05/02/2023 500 000 Cl2
ff2 17/08/2022 600 000 CL1
ff3 14/12/2023 150 000 CL1
ff4 06/04/2022 700 000 CL3
ff5 16/12/2022 900 000 CL5
ff6 30/10/2023 100 000 CL2
ff7 18/04/2023 245 000 CL3
ff8 07/02/2022 350 000 CL1
ff9 19/04/2022 100 000 CL4
ff10 16/03/2023 240 000 CL1
ff11 12/02/2023 800 000 CL4
ff12 15/06/2023 50 000 CL5
ff13 17/05/2023 200 000 CL2
TAF :
-Déclarer 2 structures (client et facture) !
-Déclarer 2 tableaux Tcl et Tfact !
-Ecrire une procédure remplirtcl qui remplit le tableau Tcl !
-Ecrire une procédure remplirfact qui remplit le tableau Tfact !
-Ecrire une fonction Minfact qui renvoie la facture la moins chère !
-Ecrire une fonction Totalfact qui renvoie le montant total des factures
-Ecrire une fonction somfactDakar qui renvoie le montant total des
factures des clients à Dakar
-Ecrire une procedure listefactAn qui affiche les factures de l’an 2022 !
-Ecrire une fonction montantfact qui renvoie le total des factures pour
l’an 2023
-Ecrire une procédure listefact qui affiche les factures envoyées aux
clients de Dakar
-Ecrire une procédure qui affiche le prénom et nom du client qui a reçu
la facture la plus chère
CHAPITRE3 : LES FICHIERS
I/Définition
Les fichiers sont utilisés pour lire et écrire des informations sur un
support de stockage (disque dur, clé USB, carte mémoire etc). En c++ les
fichiers sont gérés à l’aide des bibliothèques standards qui sont :
iostream (input output stream) et fstream.
On distingue 2 types de fichiers en c++ :
-Les fichiers de sortie gérés par la bibliothèque iostream ; ces fichiers
sont utilisés pour écrire des données dans un fichier
-Les fichiers d’entrée gérés par la bibliothèque fstream : ces fichiers
sont utilisés pour lire des données à partir d’un fichier
II-Création de fichier en c++
Pour créer un fichier on utilise la classe ofstream en appelant le
constructeur qui a comme paramètre le nom du fichier. On peut
aussi utiliser le constructeur avec un nom de fichier et un mode
d’ouverture.
SYNTAXE :
Ofstream Nom(‘‘Nomdufichier.txt’’) ;
Ex :
Ofstream fichierEtudiant (‘‘etudiant.txt’’) ;
On peut utiliser la méthode is_open pour savoir si l’ouverture du fichier
a réussi ou pas.
Ex : if (fichierEtudiant.is_open) {
Cout >> ‘‘fichier ouvert avec succès’’ ;
}
else
{cout<< ‘‘échec d’ouverture’’ ;
}
APPLICATION :
Ecrire un programme qui crée le fichier nommé ‘‘Myfile.txt’’ .
Vérifiez si la création réussit ou pas
#include <iostream>
#include <fstream>
int main () {
ofstream monfichier("Myfile.txt");
if (monfichier.is_open()) {
else
return 0;
#include <iostream>
#include <fstream>
struct Etudiant {
int id;
string prenom;
string nom;
int age;
};
int main () {
ofstream monfichier("Myfile.txt");
if (!monfichier.is_open()) {
return 1;
}
III-Ecriture dans un fichier
Le principe d’écriture consiste à récupérer les données
d’une variable et les inscrire dans un fichier.
ECRITURE
RAM DISQUE
Syntaxe :
Nomfichier << variable
Ex :
Struct etudiant {
Int id ;
String prenom
int age ;
} etud ;
Ofstream monfichier (« etudiant.txt », ios::app);
monfichier<<etud.id<<” “
#include <iostream>
#include <fstream>
using namespace std;
struct etudiant {
int id;
string prenom;
string nom;
int age;
};
//CREATION D'UN FICHIER
int main () {
ofstream monfichier("Myfile.txt", ios::app); //ios::app permet
d'ouvrir un fichier en mode ajout (mode ajout)
if (!monfichier.is_open()) {
cerr << "impossible d'ouvrir '";
return 1;
}
struct etudiant etud;
cout<< "saisir id: " ;
cin>> etud.id ;
cout<<"saisir le prenom:";
cin>> etud.prenom;
cout<<"saisir le nom:";
cin>> etud.nom;
cout<<"saisir l'age:";
cin>> etud.age;
monfichier <<etud.id <<" "<<etud.prenom<< " "<<etud.nom<< " " <<etud.age <<"
" <<endl;//(méthode pour copier les informations dans 1 fichier)
monfichier.close ();
return 0;
struct etudiant {
int id;
string prenom;
string nom;
int age;
};
//CREATION D'UN FICHIER
int main () {
ofstream monfichier("Myfile.txt", ios::app); //ios::app permet
d'ouvrir un fichier en mode ajout (mode ajout)
if (!monfichier.is_open()) {
cerr << "impossible d'ouvrir '";
return 1;
}
struct etudiant etud;
cout<< "saisir id: " ;
cin>> etud.id ;
cout<<"saisir le prenom:";
cin>> etud.prenom;
cout<<"saisir le nom:";
cin>> etud.nom;
cout<<"saisir l'age:";
cin>> etud.age;
monfichier <<etud.id <<" "<<etud.prenom<< " "<<etud.nom<< " " <<etud.age <<"
" <<endl;//(méthode pour copier les informations dans 1 fichier)
monfichier.close ();
}
CHAPITRE4 : LES SOUS PROGRAMMES
I-Introduction
Lorsqu’un programme est long on peut le décomposer en
plusieurs parties plus petites en donnant un nom à chacune de
ces parties et en les assemblant pour former le programme
final. C’est le principe de la programmation modulaire qui
repose sur l’écriture de sous programmes. Un sous-programme
est un petit programme réalisant un traitement particulier et
qui s’exécute à l’intérieur d’un autre programme. A part la
méthode main aucun sous-programme ne peut s’exécuter à lui
seul sans être appelé
II-PROCEDURE ET FONCTION
Un sous-programme est soit une procédure soit une fonction
1-Procédure
Une procédure est un sous-programme qui n’a pas de valeur de
retour mais elle peut renvoyer plusieurs résultats au
programme appelant
Syntaxe : void NomProcédure (type param1, type param2,…){
Traitement ;
}
Exemple : procédure pour échanger a et b
Void echange (int a, int b) {
int c ;
c=a;
a=b;
b=c;
}
(Une variable locale n’existe qu’à l’intérieur du sous-programme )
#include<iostream>
int c;
c=a;
a=b;
b=c;
int main () {
int a = 10 ;
int b = 20 ;
cout << "avant echange a=" <<a << "et b =" <<b<<endl;
//appel de la procédure
echange (a,b);
return 0;
}
2-Fonction
2-Fonction
Une fonction est un sous-programme qui retourne un et un seul
résultat au programme appelant à travers une valeur de retour.
Une fonction possède un type : c’est le type de la valeur
retournée
Syntaxe : type nomfonction (type param1, type param2,…){
Traitement ;
Return valeur ;
}
Exemple : calcul du factoriel
#include<iostream>
int fact=1;
int i ;
fact = fact*i;
return fact;
int main () {
int x;
cout<<"saisir un nombre:"<<endl;
cin>>x;
public :
int getID (){
return id ;
}
String getPrenom ( ) {
Return prenom ;
}
//méthode setter
Public :
Void setId (int _id) {
Id=_id;
}
Void setprenom (string _prenom) {
prenom=_prenom ; (on met _ pour différencier)
}
//constructeur
Public :
Personne () { } //Constructeur sans paramètre
//Constructeur avec paramètres
Personne (int _id ; string prenom, string nom, int age){
id=id;
prenom=prenom;
nom=nom;
age=age;
}
//Création d’objet
Nomclasse nomobjet
Ex : personne pers ;
Nom classe monobjet (p1, p2, …) ;
Ex : Personne pers2(5, « jean », « Dione », 20)
c-Les constructeurs
Un constructeur est une méthode publique qui porte le même
nom que la classe avec ou sans paramètre qui est utilisé pour
initialiser les attributs de l’objet.
2-Encapsulation
L’encapsulation consiste à regrouper les attributs et méthodes
qui manipulent les données au sein d’une même classe. Elle
permet de cacher l’implémentation interne de la classe. Elle est
mise en œuvre souvent avec la visibilité private pour les
attributs.
3-Getter et setter
--Les méthodes getter sont utilisées dans une classe pour
permettre d’obtenir la valeur d’un attribut privé. C’est une
fonction qui retourne une valeur de l’attribut.
Ex: public:
String getPrenom() {
Return prenom;
}
--Les setters sont des méthodes qui permettent d’attribuer une
valeur à un attribut
Ex : public :
Void setPrenom(string prenom){
Prenom=prenom ;
}