Académique Documents
Professionnel Documents
Culture Documents
Mohamed OUALLA
Bibliographie
https://www.pdfdrive.com/
2
Plan du cours
3
Introduction générale CHAPITRE I
• Introduction
• Langages de programmation
• Modes de fonctionnement des langages de programmation
• Types de langages de programmation
Introduction Introduction
générale
Calculer la
• Le besoin de communiquer avec l’ordinateur: somme de
001101010001
100101000111
deux nombres
10010
entiers
• Connaitre son langage (des 1 et des 0)
Alors c’est
Logiciel quoi un
programme et
(Programme) comment le
créer ?
Calculer la
somme de 00110101000110
deux nombres 01010001111001
entiers "Traducteur" 0
5
CHAPITRE i
Définitions Introduction
générale
• Un programme est une suite d'instructions définissant des opérations à exécuter par l’ordinateur.
• Pour écrire des programmes, on se sert d'une notation, appelée langage de programmation
destiné à décrire l'ensemble des instructions qu'un ordinateur doit exécuter.
• etc.
6
CHAPITRE i
Rédige un programme
à l’aide d’un langage
de programmation • Affiche la somme de 10 et 34 00110101011
• Calcule l'âge en fonction de la date
• Affiche l'âge calculé
développeur Programme Traducteur Exécute le code
(Code source) (Compilateur ou interpréteur)
7
CHAPITRE i
Modes de fonctionnement des langages de Introduction
programmation générale
8
CHAPITRE i
Compilateur
Interpréteur
Création de l’exécutable
OS
ligne 3 ligne 2 ligne 1
01100011 00011101010100011
Exécution
10001101
Exécution 11001010101000111
01011001110101001
00111100
Fichier compilé
Le processeur (exécutable)
exécute le code
9
CHAPITRE i
• Dans un langage interprété, le même code source pourra marcher directement sur n’importe
quel OS. Avec un langage compilé, il faudra (en général) tout recompiler à chaque modification
et chaque changement du OS. (Portabilité)
• Dans un langage compilé, le programme est directement exécuté sur l'ordinateur, donc il sera en
général plus rapide que le même programme dans un langage interprété. (Rapidité)
• Un programme compilé a pour avantage de garantir la sécurité du code source. Par contre, un
langage interprété, qui est directement lisible, permet à n'importe qui de connaître les secrets
de fabrication d'un programme et donc de copier et de modifier le code. (Sécurité)
10
CHAPITRE i
000111
monFichier.class 010101
000111
Fichier à Le processeur
Fichier bytecode Machine virtuelle exécuter OS Windows exécute le code
11
Langage Domaine d'application principal Compilé/interprété
CHAPITRE i
Exemple de ADA Le temps réél Introduction
Langage compilé
langages BASIC Programmation basique à but éducatif
générale
Langage interprété
C Programmation système Langage compilé
C++ Programmation système objet Langage compilé
13
CHAPITRE i
PP vs POO Introduction
générale
• PP: Basée sur les traitements : • POO: Basée sur les données :
• Décomposer le programme en un ensemble de • Définir les données intéressantes, et les regrouper
fonctions (modules) simples. dans des structures qui ont un sens.
• Définir les données à manipuler par ces fonctions. • Définir les méthodes d’accès à ces données, et les
calculs qui seront effectués dessus.
• Le programme est une liste des tâches et des
opérations à exécuter. • Le programme est l’ensemble des objets et des
interactions entre ces objets.
Données Objet 1
globales
Données
Méthodes :
Objet 2 Init() Objet 3
Trie()
Données Permute() Données
PP vs POO Introduction
générale
La Les fonctions communiquent avec d’autres Un objet est lié à l’autre en utilisant le
communication fonctions en conservant les règles habituelles. message qui passe.
• POO est une programmation dans laquelle un programme est organisé comme un ensemble
d'objets disposant de ressources et de moyens pour interagir entre eux.
• POO permet de décrire le problème avec les termes mêmes du problème plutôt qu'avec les
termes de la machine.
17
CHAPITRE I
• Classe et Objet
• Abstraction
• Encapsulation
• Héritage
• Polymorphisme
18
CHAPITRE I
• Un objet représente toute entité du monde physique (matériel), un concept ou une idée
(immatériel).
• Un objet est caractérisé par une identité, des états significatifs et un comportement.
• Identité: Permet de distinguer les objets les uns par rapport aux autres.
• Etat: Correspond aux valeurs de tous les attributs (Données) à un instant donné.
• Comportement: Se défini par l’ensemble des opérations (Méthodes) qu’il peut exécuter en
réaction aux messages envoyés par les autres objets.
19
CHAPITRE I
20
CHAPITRE I
• Les objets qui ont les mêmes attributs et les mêmes comportements sont regroupés dans des
classes.
• Un objet est une variable (presque) comme les autres. Il faut notamment qu’il soit déclaré avec
son type (le nom de la classe).
• Le type d’un objet est un type complexe (par opposition aux types primitifs entier, caractère,
etc.) qu’on appelle une classe.
:voiture1
(Instances ou exemplaires)
marque : Renault
Classe modèle : Megane
année : 2009
Voiture
marque : String :voiture2
Attributs modèle : String
Objets
marque : Peugeot
année : int modèle : 308
demarrer() : void Instanciation année : 2016
arreter() : void
Méthodes :voiture3
peindre(String) : void
getModele() : String marque : BMW
modèle : BMW série 3
année : 2018
…
22
CHAPITRE I
• Point: qui représente un point de l’espace géométrique, caractérisé par ses coordonnées;
l’abscisse et l’ordonnée.
• Cette classe possède les méthodes suivantes:
• deplacerX: déplacer un point d'une longueur sur l'axe des x.
• deplacerY: déplacer un point d'une longueur sur l'axe des y.
• Carré: qui représente un carré en géométrie, caractérisé par la longueur de son coté et le point
qui représente son coin supérieur gauche.
• Cette classe possède les méthodes suivantes:
• claculerPerimetre: Calculer son périmètre.
• calculerSurface: Calculer son air.
• changerPosition: Changer sa position. 23
CHAPITRE I
Objets
Classe :p1
abscisse : 2
Point ordonnee : 10
abscisse : int
ordonnee : int
Instanciation
deplacerX(int longueur) : void :p2
deplacerY(int longueur) : void abscisse : 25
ordonnee : 12
24
CHAPITRE I
2- Abstraction Introduction
générale
• L’abstraction, en informatique, est une manière de représenter des objets qui appartiennent au
monde réel dans un modèle informatique convenable en se limitant aux aspects utiles pour
l’utilisateur de cet abstraction.
• Dans un programme de gestion du personnel, un professeur peut être représenté par une classe ayant
comme attributs: CIN, nom, prénom et grade.
• Dans un programme de gestion des emplois, ce même professeur peut être représenté par une classe
ayant comme attributs: nom, prénom et matière.
• Abstraction par simplification: simplifier une réalité complexe, elle consiste à négliger ce qui
n’a pas d’importance (variable, classe, etc.)
• Abstraction par généralisation: consiste à remonter du particulier vers le général (héritage,
polymorphisme)
• L’abstraction, en OO, est un processus permettant de construire des classes pertinentes, dans le
domaine d'application considéré en réduisant le monde réel afin d'en gérer la complexité .
25
CHAPITRE I
3- Encapsulation Introduction
générale
• L'encapsulation est un moyen de présenter une abstraction par le fait de rassembler les données
et les méthodes au sein d'une même classe en cachant l'implémentation de l'objet.
Autre
objet
Méthodes
• Trois niveaux d'encapsulation:
• Le niveau privé : les attributs sont masqués à l’intérieur d’un objet et l'accès à ces données est limité
aux méthodes de la classe elle-même. Niveau de protection le plus élevé.
• Le niveau protégé: l'accès aux données est réservé aux méthodes des classes dérivées .
• Le niveau public : l'accès aux données peut être fait par les méthodes de toutes les classes. Niveau de
protection le plus bas. 26
CHAPITRE I
4- Héritage Introduction
générale
• L'héritage est un mécanisme par lequel une super-classe partage ses attributs et ses opérations
avec ses sous-classes.
Forme
Généralisation
Spécialisation
Rectangle Triangle
Carre
5- Polymorphisme Introduction
générale
• Le polymorphisme décrit la caractéristique d'un élément qui peut se présenter sous des formes
différentes.
• Le polymorphisme d’objet: Un objet peut appartenir à plus d'un type (héritage). On raffine un
type-père en un autre type (le sous-type) par des restrictions sur les valeurs possibles des
attributs. Ainsi, les objets de ce sous-type sont conformes avec le type père.
• Le polymorphisme de méthode: On dit qu'une méthode est polymorphe si elle réalise des actions
différentes selon la nature des objets sur lesquels elle s’applique:
• Surcharge,
• Redéfinition,
• Méthodes abstraites. 28