SlideShare uma empresa Scribd logo
1 de 18
Baixar para ler offline
Paradigmes de programmation
Institut National des Télécommunications et des
Technologies de l’Information et de la Communication
Présenté par :
 SIDI ALI MEBAREK Mahfoud
 BEKHEBOUCHA Oussama
Encadré par :
 Mr. HACHEMI Rabie
PLAN DE TRAVAIL
 INTRODUCTION
 CHAPITRE I : Définitions
 CHAPITRE II : Langages , Paradigmes et Concepts
 CHAPITRE III : Etude de quelques paradigmes
 CONCLUSION
2
INTRODUCTION
• Dans le cadre de ce travail, nous avons
essayé de mettre en relief les
paradigmes de programmation et leur
importance comme outil de réflexion .
• Il est impossible d’étudier tout les
langages de programmation, on
s’intéresse donc plutôt aux paradigmes.
3
CHAPITRE I : Définitions
• Paradigme :
 Un paradigme est un point de vue particulier sur la réalité, un
ensemble de prédispositions qui conditionne notre perception .
• Programmation (informatique):
 l'acte d'étendre ou de mettre à jour la fonctionnalité d'un système
informatique en lui décrivant le comportement à adopter.
 Elle consiste en une science , et une technologie.
4
CHAPITRE I : Définitions
• Langage de Programmation :
 Langage artificiel conçu pour programmer des
ordinateurs, chaque langage est définie par :
 Une syntaxe ( ce qui est écrit )
 Une sémantique (ce qui est compris par l’ordinateur)
 On distingue 3 catégories selon le niveau d’abstraction:
Langage machine
Langage assembleur
Langage évolué
5
CHAPITRE I : Définitions
• Paradigme de programmation :
 Une approche prise pour programmer un ordinateur.
 Il existe plusieurs paradigmes de programmation, chacun
supportant une façon de décrire des comportements.
 Exemple de paradigmes : impératif, procédural, orienté
objet, orienté aspect.
6
CHAPITRE II : Langages ,Paradigmes et Concepts
7
CHAPITRE II : Langages ,Paradigmes et Concepts
8
• Paradigme Impératif :
CHAPITRE III : Etude de quelques paradigmes
9
Commandes Résultat
Données
Analogies :
• Variable Case mémoire
• Déréférencement d’une variable Chargement d’une instruction
• Structures de contrôle Sauts
CHAPITRE III : Etude de quelques paradigmes
• Paradigme fonctionnel :
 Absence de variables mutable, d’affectation de boucles
 Il n’y a que des fonctions
 Tout comportement est un enchainement de
transformations
 Chaque fonction est une boite noire
 Bon modèle de décomposition de problème, permettant
aussi une analyse ascendante et descendante.
10
• Paradigme Logique :
 Ne se base que sur des prédicats logiqueS et des lois
d’inférence
 Un programme logique est déclaratif
 On y définit le « quoi » non pas le « comment »
 Bon outil de raisonnement limité par ses propres lois
et les prédicats
CHAPITRE III : Etude de quelques paradigmes
11
• Paradigme Orienté Objet :
 S’intéresse aux données plutôt qu’aux traitements
 Tout entité du monde est un objet
 3 Principaux de base :
 L’héritage
 Le polymorphisme
 L’encapsulation
CHAPITRE III : Etude de quelques paradigmes
12
CHAPITRE III : Etude de quelques paradigmes
• Programmer en objet ?
 Identifier les acteurs du programme
 Ce qu’ils doivent savoir des autres acteurs
 Identifier les aspects communs
 Etablir une hiérarchie de classe
 Décrire les échanges entre ces acteurs
13
CHAPITRE III : Etude de quelques paradigmes
14
• Pourquoi étudier les paradigmes de programmation :
 Faire de meilleures choix et éventuellement bénéficier de
l’ensemble du domaine informatique .
 Mieux comprendre les langages de programmation et ainsi en
faire un meilleur usage .
 Apprendre plus aisément de nouveaux langages.
 Etre en mesures de comparer les langages.
 Facilite la création de nouveaux langages.
CHAPITRE III : Etude de quelques paradigmes
15
CONCLUSION
Dans ce travail, nous avons mis en relief le concept de
paradigme de programmation, sa relation avec les langages, et
son évolution dans le temps. Il est clair que cette évolution se
rapproche de plus en plus de la pensée naturelle de l'homme.
L'exposition à plusieurs paradigmes de programmation permet
d'avoir un panel d'approches et une multitude de solutions à
chaque situation
16
BIBLIOGRAPHIE & WEBOGRAPHIE
• Cloutier JF. Apport de différents paradigmes de programmation comme autant
d'outils de pensée.
• Van Roy P. Les principaux paradigmes de programmation, UPMC, 2008.
• Van Roy P. Programming Paradigms for Dummies: What Every Programmer Should
Know.
• Van Roy P, Hairidi S. Concepts, Techniques and Models of Computer Programming,
MIT Press, 2004.
• Brichau J, Mens T. Paradigmes de Programmation, 2007.
• Nelson J, Monarchi D, Nelson K. Evaluating Emerging Programming Paradigms: An
Artifact-Oriented Approach, 1998.
• Grogono P. The Evolution of Programming Languages, Concordia University, 2004.
o http://isabelle.thieblemont.pagesperso-orange.fr/poo/poointro.htm
o http://www.cs.nthu.edu.tw/~cherung/teaching/2010cs1356/
o https://www.coursera.org/course/progfun
o http://c2.com/cgi/wiki?LogicProgramming
o http://en.wikipedia.org/wiki/Functional_programming
17
#include<stdio.h>
int main() {
printf(‘’ MERCI POUR VOTRE ATTENTION ’’);
return 0;
}
18

Mais conteúdo relacionado

Mais procurados

Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Riadh K.
 
Chapitre 3 la recherche tabou
Chapitre 3 la recherche tabouChapitre 3 la recherche tabou
Chapitre 3 la recherche tabou
Achraf Manaa
 
Machine Learning et Intelligence Artificielle
Machine Learning et Intelligence ArtificielleMachine Learning et Intelligence Artificielle
Machine Learning et Intelligence Artificielle
Soft Computing
 
Présentation développement application Android
Présentation développement application AndroidPrésentation développement application Android
Présentation développement application Android
ambin_fr
 

Mais procurados (20)

Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
 
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...
 
Chapitre 3 la recherche tabou
Chapitre 3 la recherche tabouChapitre 3 la recherche tabou
Chapitre 3 la recherche tabou
 
Présentation PFE: SmartAudit
Présentation PFE: SmartAuditPrésentation PFE: SmartAudit
Présentation PFE: SmartAudit
 
Machine Learning et Intelligence Artificielle
Machine Learning et Intelligence ArtificielleMachine Learning et Intelligence Artificielle
Machine Learning et Intelligence Artificielle
 
Memoire licence informatique application gestion personnel par herma - zita...
Memoire licence  informatique application gestion personnel  par herma - zita...Memoire licence  informatique application gestion personnel  par herma - zita...
Memoire licence informatique application gestion personnel par herma - zita...
 
Machine-learning-FR.pdf
Machine-learning-FR.pdfMachine-learning-FR.pdf
Machine-learning-FR.pdf
 
HTML, CSS et Javascript
HTML, CSS et JavascriptHTML, CSS et Javascript
HTML, CSS et Javascript
 
Présentation développement application Android
Présentation développement application AndroidPrésentation développement application Android
Présentation développement application Android
 
Présentation PFE (Conception et développement d'une application web && mobile...
Présentation PFE (Conception et développement d'une application web && mobile...Présentation PFE (Conception et développement d'une application web && mobile...
Présentation PFE (Conception et développement d'une application web && mobile...
 
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
 
Algorithmes de jeux
Algorithmes de jeuxAlgorithmes de jeux
Algorithmes de jeux
 
applications-reparties
applications-repartiesapplications-reparties
applications-reparties
 
Cours partie1 elgarrai zineb
Cours partie1 elgarrai zinebCours partie1 elgarrai zineb
Cours partie1 elgarrai zineb
 
Rapport de mini projet de programation web
Rapport de mini projet de programation webRapport de mini projet de programation web
Rapport de mini projet de programation web
 
Intelligence-Artificielle-cours.pdf
Intelligence-Artificielle-cours.pdfIntelligence-Artificielle-cours.pdf
Intelligence-Artificielle-cours.pdf
 
Rapport projet conception et la réalisation d'une application web gestion des...
Rapport projet conception et la réalisation d'une application web gestion des...Rapport projet conception et la réalisation d'une application web gestion des...
Rapport projet conception et la réalisation d'une application web gestion des...
 
La virtualisation
La virtualisationLa virtualisation
La virtualisation
 
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école
 
Développement d'un forum de discussion
Développement d'un forum de discussionDéveloppement d'un forum de discussion
Développement d'un forum de discussion
 

Destaque

Vers des langues de programmation ?
Vers des langues de programmation ?Vers des langues de programmation ?
Vers des langues de programmation ?
Nicolas Dubois
 
Programming Paradigms Seminar 1
Programming Paradigms Seminar 1Programming Paradigms Seminar 1
Programming Paradigms Seminar 1
neoxiuting
 
Langages de programmation
Langages de programmationLangages de programmation
Langages de programmation
decoderlecode
 

Destaque (20)

Biased decisions
Biased decisionsBiased decisions
Biased decisions
 
Dtmf technology
Dtmf technologyDtmf technology
Dtmf technology
 
Programation
ProgramationProgramation
Programation
 
Voip FreeSwitch
Voip FreeSwitchVoip FreeSwitch
Voip FreeSwitch
 
Vers des langues de programmation ?
Vers des langues de programmation ?Vers des langues de programmation ?
Vers des langues de programmation ?
 
Les langages de programmation
Les langages de programmationLes langages de programmation
Les langages de programmation
 
Apprendre à programmer avec scratch
Apprendre à programmer avec scratchApprendre à programmer avec scratch
Apprendre à programmer avec scratch
 
7 étapes pour emmener la programmation dans la salle de classe
7 étapes pour emmener la programmation dans la salle de classe7 étapes pour emmener la programmation dans la salle de classe
7 étapes pour emmener la programmation dans la salle de classe
 
Présentation VOIP
Présentation  VOIPPrésentation  VOIP
Présentation VOIP
 
Programming Paradigms Seminar 1
Programming Paradigms Seminar 1Programming Paradigms Seminar 1
Programming Paradigms Seminar 1
 
Table ronde "Programmation pour enfants" Eyrolles / Mozilla
Table ronde "Programmation pour enfants" Eyrolles / MozillaTable ronde "Programmation pour enfants" Eyrolles / Mozilla
Table ronde "Programmation pour enfants" Eyrolles / Mozilla
 
Exposé hackers
Exposé hackersExposé hackers
Exposé hackers
 
Définition d'un paradigme
Définition d'un paradigmeDéfinition d'un paradigme
Définition d'un paradigme
 
Apprendreprogrammer scratch
Apprendreprogrammer scratch Apprendreprogrammer scratch
Apprendreprogrammer scratch
 
Langages de programmation
Langages de programmationLangages de programmation
Langages de programmation
 
Alphorm.com Formation MOS Excel 2013(77-420)
Alphorm.com Formation MOS Excel 2013(77-420)Alphorm.com Formation MOS Excel 2013(77-420)
Alphorm.com Formation MOS Excel 2013(77-420)
 
2011 03 31 Externaliser son systeme d' information by competitic.ptt
2011 03 31 Externaliser son systeme d' information by competitic.ptt2011 03 31 Externaliser son systeme d' information by competitic.ptt
2011 03 31 Externaliser son systeme d' information by competitic.ptt
 
Introduction a Java
Introduction a JavaIntroduction a Java
Introduction a Java
 
Programmation orienté aspect
Programmation orienté aspectProgrammation orienté aspect
Programmation orienté aspect
 
Initiation a la programmation pour enfants (ce1)
Initiation a la programmation pour enfants (ce1)Initiation a la programmation pour enfants (ce1)
Initiation a la programmation pour enfants (ce1)
 

Semelhante a Paradigmes de Programmation

Gl slides-cours-1
Gl slides-cours-1Gl slides-cours-1
Gl slides-cours-1
Sami Neili
 
Introduction à l'agilité ensmse
Introduction à l'agilité   ensmseIntroduction à l'agilité   ensmse
Introduction à l'agilité ensmse
agnes_crepet
 

Semelhante a Paradigmes de Programmation (20)

Gl slides-cours-1
Gl slides-cours-1Gl slides-cours-1
Gl slides-cours-1
 
Ch 01 poo
Ch 01 pooCh 01 poo
Ch 01 poo
 
Comment récupérer un projet Web pourri ... et réussir à travailler dessus.
Comment récupérer un projet Web pourri ... et réussir à travailler dessus.Comment récupérer un projet Web pourri ... et réussir à travailler dessus.
Comment récupérer un projet Web pourri ... et réussir à travailler dessus.
 
[Modules de spécialisation] Programme GdP7
[Modules de spécialisation] Programme GdP7[Modules de spécialisation] Programme GdP7
[Modules de spécialisation] Programme GdP7
 
Introduction a l_agilite_iut_lyon_1_decembre2011
Introduction a l_agilite_iut_lyon_1_decembre2011Introduction a l_agilite_iut_lyon_1_decembre2011
Introduction a l_agilite_iut_lyon_1_decembre2011
 
Projet+com02.ppt
Projet+com02.pptProjet+com02.ppt
Projet+com02.ppt
 
Lmo02.ppt
Lmo02.pptLmo02.ppt
Lmo02.ppt
 
m103-resume-cours-theorique-6156f136c407b.pdf
m103-resume-cours-theorique-6156f136c407b.pdfm103-resume-cours-theorique-6156f136c407b.pdf
m103-resume-cours-theorique-6156f136c407b.pdf
 
[Modules de spécialisation] Programme GdP8
[Modules de spécialisation] Programme GdP8[Modules de spécialisation] Programme GdP8
[Modules de spécialisation] Programme GdP8
 
Cours Programmation Orientée Objet en C++
Cours Programmation Orientée Objet en C++Cours Programmation Orientée Objet en C++
Cours Programmation Orientée Objet en C++
 
Introduction à l'agilité ensmse
Introduction à l'agilité   ensmseIntroduction à l'agilité   ensmse
Introduction à l'agilité ensmse
 
Introduction of the most important design pattern
Introduction of the most important design patternIntroduction of the most important design pattern
Introduction of the most important design pattern
 
Poc factory 2018 v1.1
Poc factory 2018   v1.1Poc factory 2018   v1.1
Poc factory 2018 v1.1
 
Projet les fondamentaux - version 2014
Projet les fondamentaux -  version 2014Projet les fondamentaux -  version 2014
Projet les fondamentaux - version 2014
 
Agilité, Tests Et Industrialisation
Agilité, Tests Et IndustrialisationAgilité, Tests Et Industrialisation
Agilité, Tests Et Industrialisation
 
Aborder la transition vers l'agilité
Aborder la transition vers l'agilitéAborder la transition vers l'agilité
Aborder la transition vers l'agilité
 
[MOOC GdP] Spécialisations GdP9
[MOOC GdP] Spécialisations GdP9[MOOC GdP] Spécialisations GdP9
[MOOC GdP] Spécialisations GdP9
 
Introduction de la gestion de projet Agile au sein de l’équipe Réseau de Bell...
Introduction de la gestion de projet Agile au sein de l’équipe Réseau de Bell...Introduction de la gestion de projet Agile au sein de l’équipe Réseau de Bell...
Introduction de la gestion de projet Agile au sein de l’équipe Réseau de Bell...
 
Types de modélisation de l'apprenant
Types de modélisation de l'apprenantTypes de modélisation de l'apprenant
Types de modélisation de l'apprenant
 
Webinar Design Thinking KLAP Mutinerie village
Webinar Design Thinking KLAP Mutinerie villageWebinar Design Thinking KLAP Mutinerie village
Webinar Design Thinking KLAP Mutinerie village
 

Paradigmes de Programmation

  • 1. Paradigmes de programmation Institut National des Télécommunications et des Technologies de l’Information et de la Communication Présenté par :  SIDI ALI MEBAREK Mahfoud  BEKHEBOUCHA Oussama Encadré par :  Mr. HACHEMI Rabie
  • 2. PLAN DE TRAVAIL  INTRODUCTION  CHAPITRE I : Définitions  CHAPITRE II : Langages , Paradigmes et Concepts  CHAPITRE III : Etude de quelques paradigmes  CONCLUSION 2
  • 3. INTRODUCTION • Dans le cadre de ce travail, nous avons essayé de mettre en relief les paradigmes de programmation et leur importance comme outil de réflexion . • Il est impossible d’étudier tout les langages de programmation, on s’intéresse donc plutôt aux paradigmes. 3
  • 4. CHAPITRE I : Définitions • Paradigme :  Un paradigme est un point de vue particulier sur la réalité, un ensemble de prédispositions qui conditionne notre perception . • Programmation (informatique):  l'acte d'étendre ou de mettre à jour la fonctionnalité d'un système informatique en lui décrivant le comportement à adopter.  Elle consiste en une science , et une technologie. 4
  • 5. CHAPITRE I : Définitions • Langage de Programmation :  Langage artificiel conçu pour programmer des ordinateurs, chaque langage est définie par :  Une syntaxe ( ce qui est écrit )  Une sémantique (ce qui est compris par l’ordinateur)  On distingue 3 catégories selon le niveau d’abstraction: Langage machine Langage assembleur Langage évolué 5
  • 6. CHAPITRE I : Définitions • Paradigme de programmation :  Une approche prise pour programmer un ordinateur.  Il existe plusieurs paradigmes de programmation, chacun supportant une façon de décrire des comportements.  Exemple de paradigmes : impératif, procédural, orienté objet, orienté aspect. 6
  • 7. CHAPITRE II : Langages ,Paradigmes et Concepts 7
  • 8. CHAPITRE II : Langages ,Paradigmes et Concepts 8
  • 9. • Paradigme Impératif : CHAPITRE III : Etude de quelques paradigmes 9 Commandes Résultat Données Analogies : • Variable Case mémoire • Déréférencement d’une variable Chargement d’une instruction • Structures de contrôle Sauts
  • 10. CHAPITRE III : Etude de quelques paradigmes • Paradigme fonctionnel :  Absence de variables mutable, d’affectation de boucles  Il n’y a que des fonctions  Tout comportement est un enchainement de transformations  Chaque fonction est une boite noire  Bon modèle de décomposition de problème, permettant aussi une analyse ascendante et descendante. 10
  • 11. • Paradigme Logique :  Ne se base que sur des prédicats logiqueS et des lois d’inférence  Un programme logique est déclaratif  On y définit le « quoi » non pas le « comment »  Bon outil de raisonnement limité par ses propres lois et les prédicats CHAPITRE III : Etude de quelques paradigmes 11
  • 12. • Paradigme Orienté Objet :  S’intéresse aux données plutôt qu’aux traitements  Tout entité du monde est un objet  3 Principaux de base :  L’héritage  Le polymorphisme  L’encapsulation CHAPITRE III : Etude de quelques paradigmes 12
  • 13. CHAPITRE III : Etude de quelques paradigmes • Programmer en objet ?  Identifier les acteurs du programme  Ce qu’ils doivent savoir des autres acteurs  Identifier les aspects communs  Etablir une hiérarchie de classe  Décrire les échanges entre ces acteurs 13
  • 14. CHAPITRE III : Etude de quelques paradigmes 14
  • 15. • Pourquoi étudier les paradigmes de programmation :  Faire de meilleures choix et éventuellement bénéficier de l’ensemble du domaine informatique .  Mieux comprendre les langages de programmation et ainsi en faire un meilleur usage .  Apprendre plus aisément de nouveaux langages.  Etre en mesures de comparer les langages.  Facilite la création de nouveaux langages. CHAPITRE III : Etude de quelques paradigmes 15
  • 16. CONCLUSION Dans ce travail, nous avons mis en relief le concept de paradigme de programmation, sa relation avec les langages, et son évolution dans le temps. Il est clair que cette évolution se rapproche de plus en plus de la pensée naturelle de l'homme. L'exposition à plusieurs paradigmes de programmation permet d'avoir un panel d'approches et une multitude de solutions à chaque situation 16
  • 17. BIBLIOGRAPHIE & WEBOGRAPHIE • Cloutier JF. Apport de différents paradigmes de programmation comme autant d'outils de pensée. • Van Roy P. Les principaux paradigmes de programmation, UPMC, 2008. • Van Roy P. Programming Paradigms for Dummies: What Every Programmer Should Know. • Van Roy P, Hairidi S. Concepts, Techniques and Models of Computer Programming, MIT Press, 2004. • Brichau J, Mens T. Paradigmes de Programmation, 2007. • Nelson J, Monarchi D, Nelson K. Evaluating Emerging Programming Paradigms: An Artifact-Oriented Approach, 1998. • Grogono P. The Evolution of Programming Languages, Concordia University, 2004. o http://isabelle.thieblemont.pagesperso-orange.fr/poo/poointro.htm o http://www.cs.nthu.edu.tw/~cherung/teaching/2010cs1356/ o https://www.coursera.org/course/progfun o http://c2.com/cgi/wiki?LogicProgramming o http://en.wikipedia.org/wiki/Functional_programming 17
  • 18. #include<stdio.h> int main() { printf(‘’ MERCI POUR VOTRE ATTENTION ’’); return 0; } 18