0% ont trouvé ce document utile (0 vote)
28 vues39 pages

Seminaire Python.1

Le document présente les concepts fondamentaux des langages de programmation, en se concentrant sur la programmation procédurale et la programmation orientée objet. La programmation procédurale se concentre sur les étapes séquentielles pour résoudre un problème, tandis que la programmation orientée objet modélise le problème à travers des objets et leurs interactions. Il aborde également des notions clés telles que les identificateurs, les fonctions, et les principes d'héritage dans la programmation orientée objet.

Transféré par

Djigui layko Sangaré
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
28 vues39 pages

Seminaire Python.1

Le document présente les concepts fondamentaux des langages de programmation, en se concentrant sur la programmation procédurale et la programmation orientée objet. La programmation procédurale se concentre sur les étapes séquentielles pour résoudre un problème, tandis que la programmation orientée objet modélise le problème à travers des objets et leurs interactions. Il aborde également des notions clés telles que les identificateurs, les fonctions, et les principes d'héritage dans la programmation orientée objet.

Transféré par

Djigui layko Sangaré
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Concepts des langages de

programmation
Programmation procédurale et programmation orientée
objet
Plan

 Introduction
 Programmation procédurale
 Programmation orientée objet

2
Plan

 Introduction
 Programmation procédurale
 Programmation orientée objet

3
Introduction

 Programmation procédurale
 On s'intéresse à écrire les étapes séquentielles nécessaires pour
résoudre un problème
 Met l'accent sur les étapes pour réaliser une tâche
 Le programme est la liste des tâches et des opérations à exécuter
 Convient mieux aux applications ne nécessitant pas ou peu d’interaction
avec les usagers

4
Introduction (suite)

 Programmation orientée objet


 On s'intéresse modéliser le problème par un ensemble d'objets
 Met l'accent sur les objets requis pour résoudre un problème
 Le programme est l’ensemble des objets et des interactions entre ces
objets

 En programmation orientée objet, on cherche à identifier les


objets impliqués et leurs responsabilités respectives

5
Plan

 Introduction
 Programmation procédurale
 Programmation orientée objet

6
Programmation Procédurale

 Notion d’identificateur et de type


 Notion de fonction
 Instructions de contrôle du flux d’exécution
 Comment concevoir un programme ?

7
Programmation Procédurale

 Notion d’identificateur et de type


 Notion de fonction
 Instructions de contrôle du flux d’exécution
 Comment concevoir un programme ?

8
Notion d’identificateur et de type

 Identificateur : symbole sans signification universelle permettant de


désigner des objets qui n’ont pas d’existence en dehors du
programme.

 Déclaration : fixe la signification d’un identificateur

 Portée d’un identificateur : bloc d’instructions pour lequel la


déclaration est valable

9
Déclaration et assignation d’une variable

 int i = 4 ;
type entier (entier : type prédéfini)

 String s = "Bonjour";
identificateur

 String s;
String p;
… // instructions
p= "Bonjour de p";
s=p;

10
Programmation Procédurale

 Notion d’identificateur et de type


 Notion de fonction
 Instructions de contrôle du flux d’exécution
 Comment concevoir un programme ?

11
Notion de fonction
 Une fonction est un morceau de code qui permet de
résoudre un sous-problème du problème traité

 La décomposition du code en tâches et sous- tâches, le


rend plus modulaire.
 Le programme est plus clair,
 plus lisible,
 plus aisément modifiable…

 Les fonctions cachent les détails d’implémentation : il


suffit de savoir "ce qu’elles font" et non comment "elles le
font"
12
Déclaration d’une fonction

 Comprend essentiellement trois éléments:

 Nom de la fonction
 Liste des types d’arguments
 Type de retour de la fonction

13
Exemple de déclarations de fonctions

 int calculeSomme(int i, int j)


 void println(String s)
 String readLine(File f)
 void ecrisAlEcranQuelQuechose()

14
Corps d’une fonction

int calculeSomme(int a, int b)


{
int somme;
somme = a+ b;
return somme;
}

15
Programmation Procédurale

 Notion d’identificateur et de type


 Notion de fonction
 Instructions de contrôle du flux d’exécution
 Comment concevoir un programme ?

16
Instructions de contrôle (en pseudocode)

 Branchement conditionnel :
 if … then… else … end ( si … alors … sinon …)
 Switch …. case … case …end (équivalente à
l'imbrication de plusieurs if …then… else…)
 Boucles :
 while … do … end ou do … while ( fait tant que …)
 for … do … end

17
Exemple

int calculeSomme(int a, int b)


{
int somme = a+b;
if (somme > 0)
somme =0;
return somme;e. Le return n’apparaît ici qu’une seule fois.
}

18
Programmation Procédurale

 Notion d’identificateur et de type


 Notion de fonction
 Instructions de contrôle du flux d’exécution
 Comment concevoir un programme ?

19
Comment concevoir un programme ?

 Identifier précisément le problème que le programme se doit de


résoudre

 Décomposer le problème en sous-problèmes

 Définir les fonctions correspondantes

 Écrire le programme principal en pseudo-code

 Implémenter, exécuter le programme avec différentes données,


débugger …

20
Comprendre le problème

 Premier pas essentiel vers la résolution du problème


 Permet souvent de découvrir/mettre en place les premiers éléments de la
solution
 Déterminer les résultats à obtenir
 Isoler l’énoncé du problème et ce que l’on veut que le programme produise
 Déterminer les données dont on dispose
 Isoler l’énoncé du problème et ce que le programme devra obtenir avant de
commencer à effectuer les calculs et les traitements
 Déterminer les méthodes de calcul qui permettent de passer des
données aux résultats
 Trouver comment effectuer les calculs

données résultats
PROGRAMME

21
Identifier les tâches

 Existe-t-il des informations devant être saisies par


l’utilisateur?
 Existe-t-il des résultats devant être calculés par
l’application ?
 Existe-t-il des informations devant être
affichées/imprimées ?
 Existe-t-il d’anciennes informations devant être effacées
avant la saisie des nouvelles ?

22
Qu’est-ce qu’un algorithme ?

 Définition
 Résolution d’un problème de façon systématique
 Identifier les processus élémentaires
 Par décomposition : du complexe au simple
 Description
 Langage courant
 Langage plus précis et mieux adapté
 PseudoCode

23
Pseudocode

 Algorithme
 Ce que fait l’algorithme
 Constantes
 Énumération des constantes et de leur valeur
 Variables
 Énumération des variables
 Logique du traitement
 Étapes de résolution du problème

24
Exemple de pseudocode d'un algorithme
ALGORITHME
Cet algorithme simule une caisse enregistreuse. On lit le prix et la quantité d'un article acheté puis on calcule et
affiche le prix total avec les taxes.
CONSTANTES
TX_TPS = 0,07 , le taux de la TPS
TX_TVQ = 0,075 , le taux de la TVQ
VARIABLES
qté : entier , la quantité achetée
prixUn : réel , le prix unitaire d'un article
totalPartiel : réel , le prix avant taxe
tps, tvq : réel , la TPS et la TVQ à payer
taxes, total : réel , les taxes et le total à payer
LOGIQUE
1. Écrire « Entrez la quantité et le prix unitaire »
2. Lire qté, prixUn
3. Calculer totalPartiel = qté * prixUn
4. Calculer tps = TX_TPS * totalPartiel
5. Calculer tvq = TX_TVQ * (totalPartiel + tps)
6. Calculer taxes = tps + tvq
7. Calculer total = totalPartiel + taxes
8. Afficher taxes, total
25
Coder l’algorithme

 Une fois l'algorithme défini, il reste à :

 Choisir un langage de programmation

 Traduire l’algorithme en ce langage

26
Limites de la programmation procédurale

 Dans les années 80, la méthodologie de programmation


logicielle consistait essentiellement en l’abstraction
procédurale
 Principaux problèmes
 Difficulté de réutilisation du code
 Critères de qualité facilement violés : modularité, lisibilité, …
 Danger du « Code spaghetti »
 Difficulté de la maintenance de grandes applications
 …

 Le concept central de la programmation orientée-objets est


l’objet : celui-ci contient ses propres données ainsi que les
traitements relatifs à ses données (encapsulation)
27
Plan

 Introduction
 Programmation procédurale
 Programmation orientée objet

28
Programmation orientée objet (POO)

 Pensons en termes d’objets

 Une certaine façon d’appréhender le monde


 Les classes et les objets
 Envoie de messages
 Héritage

29
Pensons le monde en objets

 Une application est vue comme un ensemble d’objets qui


interagissent
 par "envoi de messages"

 Comme les objets du monde (une voiture, un vélo, une table,


…), les objets dans les langages OO ont des états et des
comportements
 Une voiture est caractérisée par sa couleur, sa vitesse instantanée, sa
consommation : ce sont ses états
 et par des actions telles que tourner, accélérer, s’arrêter : ce sont ses
comportements

30
Les classes
 Plusieurs objets peuvent être de la même famille (type)
 On dit qu'ils appartiennent à la même classe
 Une classe définit les variables et les méthodes communes à tous les
objets de la classe
 Un objet appartenant à une classe est dit instance de cette classe
 Ainsi, après avoir créé une classe, il faut instancier (créer une instance)
avant de pouvoir l’utiliser

 Exemples
 Class : BankAccount
 Object : acount_001_210
 Class : GSM(Type, Num Identification)
 Object : mon_GSM (Nokia, 1235321)

31
Les objets

 Un objet logiciel regroupe des variables et des méthodes


(fonctions)

 L’état d’un objet est défini par les valeurs de ses variables

 Les comportements d'un objet sont ses méthodes

 Ces variables et méthodes sont appelées variables et méthodes


d’instance ( par opposition aux variables et méthodes de classe)

32
Qu’est-ce qu’une variable ?
 Une variable est un endroit de la mémoire à laquelle
on a donné un nom de sorte que l’on puisse y faire
facilement référence dans le programme

 Une variable a une valeur, correspondant à un certain


type. La valeur d’une variable peut changer au cours
de l’exécution du programme

 On distingue les variables de classes (variables


communes à l’ensemble des objets d’une classe) et les
variables d’instance (particulières à chaque objet)

33
Exemples d’objets

 Une personne est un objet caractérisé par un nom, un


prénom, une date de naissance, une profession ... et pouvant
marcher, parler, réfléchir, écrire, …

 Un compte en banque est un objet caractérisé par un numéro


de compte, un propriétaire, un taux d’intérêt, un solde, un
solde minimum, … et offre des services : consultation du
solde, retrait, virement …

 Un objet graphique est un objet caractérisé par une taille, par


une position, une forme, une couleur … et peut changer de
taille, de forme, de couleur ...
34
Envoi de messages
 La POO peut être vue comme
 Ensemble d'objets interagissant
 Et communiquant entre eux uniquement via l'envoi de messages
 Envoyer un message revient à appeler une méthode dans l'objet receveur

Thermomètre Radiateur

-thermostat : int
- température : int -températureDésirée : int
Temperature ?
- changeThermostat() : void
+ getTempérature() : int + fixeLaTemperatureDesiree(int):
void

+ : méthode ou variable publique (accessibilité totale depuis l’extérieur de la classe)


- : méthode ou variable privée (limitation d’accès à la classe elle-même)
35
Principe d’héritage

 L'héritage est le mécanisme qui permet de créer une classe à partir


d'une classe existante
 La nouvelle classe hérite les variables et les méthodes de sa classe parente
 Peut avoir d'autres variables et méthodes qui lui sont propres
 Peut hériter d'un ou de plusieurs classes
 Aide à factoriser le code

 Exemple
 PERSONNE PHYSIQUE et PERSONNE MORALE sont
deux classes qui héritent de la classe PROPRIETAIRE

36
Exemple de hiérarchie d ’héritage

EtreVivants

Animal Plante

Mammifère Oiseau

37
POO : récapitulatif

 Tout est un objet


 L’exécution du programme est réalisée par échange de
messages entre objets
 Un message est une demande d’action, caractérisée par
les paramètres nécessaires à la réalisation de cette
action (appels de méthodes)
 Tout objet est une instance de classe, qui est le "moule"
générique des objets de ce type
 Les classes définissent les comportements possibles de
leurs objets
 Les classes sont organisées en une structure
arborescente à racine unique : la hiérarchie d’héritage

38
Références
 Manuel :
Robert W. Sebesta, Concepts of Programming Languages, 9ème édition,
Addison-Wesley, 2009
 Autres :
 Stefan Monnier : IFT2035, UdeM (2008)
 [Link]
 Marc Feeley : IFT2035, UdeM (2006)
 [Link]
 Lois Rigouste : CSI3525, Université d’ottawa (2008)
 [Link]
 Nathanaël Ackerman, DEA en Sciences Cognitives Introduction à l’Intelligence
Artificielle, Faculté de Psychologie et des Sciences de l’Education (belg)
 HEC Montréal : 4-711-00, Programmation objet: application au commerce
électronique

39

Vous aimerez peut-être aussi