PY THO N
Introduction à la programmation
Pr. Miloudi chaymae
2024-2025 1
E NS E I G NA N T E
• Pr. Miloudi Chaymae
• Maitre de conférences au Faculté des Sciences Juridiques Economiques et Sociales-Tanger
• Data scientist
• Ingénieur en informatique
• Email: [Link]@[Link]
Pr. Miloudi chaymae
2024-2025 POO via Python 2
OBJECTIFS
• Introduire les notions d’algorithmes et de programmes informatiques.
• Écrire des programmes informatiques en Python
• Automatiser l'analyse des données
• Appliquer ces outils pour répondre à des questions économiques
• Apprendre et comprendre les concepts de programmation qui aideront à utiliser
d'autres langues
Pr. Miloudi chaymae
2024-2025 POO via Python 3
RESPONSABILITÉS DE L'ÉT UDIA NT
• Les élèves doivent lire /visionner le matériel assigné avant la classe pour laquelle
ils sont programmés, assister aux cours, participer en classe, remplir les devoirs et
demander de l'aide tôt s'ils ont des problèmes.
Pr. Miloudi chaymae
2024-2025 POO via Python 4
Répartition approximative de la charge horaire
Cours Travaux dirigés Travaux pratiques
±20h ±10 ±10
Evaluation
25% 25% 50%
Formule 50% Control continue
50% 50%
50% Examen
Pr. Miloudi chaymae
2024-2025 POO via Python 5
PLAN DU COURS
PARTIE I Généralités sur l’algorithmique et la programmation.
PARTIE II Prise en main de l’environnement de développement
PARTIE III Initiation à Python: Les éléments de base
PARTIE IV Programmation Orient Objet
PARTIE V Les librairie de Python
Pr. Miloudi chaymae
2024-2025 POO via Python 6
Généralités sur l’algorithmique et la
programmation
Notion d'algorithme
• Un algorithme est une suite d’instructions permettant la résolution d’un
problème en un nombre fini d’étapes.
• À partir de données, les entrées de l’algorithme, on va donc parvenir à un
résultat, la sortie.
• Il est important de noter que les instructions d’un algorithme doivent être
indépendantes des données sur lesquelles il va s’appliquer.
Pr. Miloudi chaymae
2024-2025 POO via Python 7
Généralités sur l’algorithmique et la
programmation
Exemple: recette de cuisine
Problème: comment faire une pâte à crêpes ?
Résolution:
① Casser trois œufs dans 250 grammes de farine.
② Mélanger.
③ Diluer avec ½ litre de lait.
④ Ajouter une cuillère à soupe d’huile.
Pr. Miloudi chaymae
2024-2025 POO via Python 8
Généralités sur l’algorithmique et la
programmation
Origine du mot algorithme
• Le mot algorithme vient du nom du mathématicien perse Abu Abdullah
Muhammad ibn Musa al-Khwarizmi (9-ème siècle après Jésus Christ).
• Son nom a ensuite été latinisé au Moyen Age en « algoritmi ».
• Origine du mot algorithme ne veut pas dire origine du principe. On écrivait des
algorithmes dès l’antiquité comme nous allons le voir sur des exemples.
Pr. Miloudi chaymae
2024-2025 POO via Python 9
Généralités sur l’algorithmique et la
programmation
Algorithme de calculs d’intérêts (1800 avant J.-C.)
Problème: trouver en combien d’années on double un montant soumis à un
certain taux annuel.
Résolution:
① Initialiser le taux t à la valeur voulue, a à 0 et b à 1
② Tant que b < 2, remplacer b par b*(1+t) et ajouter 1 à a
③ La valeur finale de a est le nombre d’années cherché
Pr. Miloudi chaymae
2024-2025 POO via Python 10
Généralités sur l’algorithmique et la
programmation
Exemple (pour un taux de 20%)
a b
0 1
1 1,2
2 1,44
3 1,728
4 2,0736
Il faut 4 ans
Pr. Miloudi chaymae
2024-2025 POO via Python 11
Généralités sur l’algorithmique et la
programmation
Algorithme de multiplication égyptienne (1650 avant J.-C.)
Problème: multiplier deux entiers a et b.
Résolution:
① Décomposer a comme somme de puissances de 2.
② Calculer les puissances de 2, 4, 8, etc. de b.
③ Additionner les puissances de b qui correspondent aux puissances de 2
trouvées dans a.
Pr. Miloudi chaymae
2024-2025 POO via Python 12
Généralités sur l’algorithmique et la
programmation
Exemple
2n a = 25 b = 14
1 1 14
2 0 28
4 0 56
8 1 112
16 1 224
a * b = 14 + 112 + 224 = 350
Pr. Miloudi chaymae
2024-2025 POO via Python 13
Généralités sur l’algorithmique et la
programmation
Algorithme d’Euclide (300 avant J.-C.)
Problème: trouver le PGCD de deux entiers a et b.
Résolution:
① Si b est non nul, diviser a par b. On note r le reste de cette division
euclidienne.
② Remplacer a par b et b par r.
③ Recommencer tant que cela est possible à partir de l’étape 1.
④ Le PGCD est alors la dernière valeur non nulle de r.
Pr. Miloudi chaymae
2024-2025 POO via Python 14
Généralités sur l’algorithmique et la
programmation
Exemple
a b r
142 38 28
38 28 10
28 10 8
10 8 2
8 2 0
PGCD(142,38) = 2
Pr. Miloudi chaymae
2024-2025 POO via Python 15
Généralités sur l’algorithmique et la
programmation
• Nous n’adopterons pas dans ce cours de
syntaxe formalisée des algorithmes,
chacun les rédigera pour lui-même dans
l’unique but de structurer ses idées.
• On peut même tout à fait imaginer faire
des schémas en guise d’algorithme.
Pr. Miloudi chaymae
2024-2025 POO via Python 16
Généralités sur l’algorithmique et la
programmation
De d'algorithme à la programmation
• En informatique, les instructions d’un algorithme seront bien sûr à destination
d’un ordinateur.
• Pour qu’elles soient compréhensibles par ce dernier, elles doivent évidemment
être écrites dans ce que l’on appelle un langage de programmation.
• Celui-ci sera lui même traduit par un compilateur en langage machine ou
exécuté par un interpréteur.
Pr. Miloudi chaymae
2024-2025 POO via Python 17
Généralités sur l’algorithmique et la
programmation
• Avant l’étape d’écriture du programme, on peut/doit concevoir l’algorithme en
lui même de façon non formelle, en version « papier ».
Problème Algorithme Programme
• L’algorithme contient la réflexion, l’abstraction du programme.
• Ce dernier pouvant être complexifié par des contraintes techniques.
Pr. Miloudi chaymae
2024-2025 POO via Python 18
Généralités sur l’algorithmique et la programmation
Langage de programmation
• Un langage est un ensemble
de mots clés (instructions ou
fonctions) et des règles de
syntaxe qui permettent
d’écrire un programme
exécutable par l’ordinateur.
• Exemple: C\C++, Java, PHP,
Python, Matlab, …
Pr. Miloudi chaymae
2024-2025 POO via Python 19
Généralités sur l’algorithmique et la
programmation
Exemple l’algorithme de calculs d’intérêts deviendra le programme suivant en language Python
t = 0.2
a, b = 0, 1
while b < 2:
b = b*(1+t)
a = a + 1
print("Nombre d'années cherché :",a)
Pr. Miloudi chaymae
2024-2025 POO via Python 20
Généralités sur l’algorithmique et la programmation
Type de Langage
On classe les langages de
programmation en générations:
• 1ère génération: Langage machine
ou langage de bas-niveau (0 et 1).
• 2ème génération: Langage
assembleur
• 3ème génération: Langages évolués
ou langages de haut- niveau.
Pr. Miloudi chaymae
2024-2025 POO via Python 21
Généralités sur l’algorithmique et la programmation
Langage de haut-niveau
• Les langages de haut niveau sont plus
proches des langues naturelles, ce qui
facilite et popularise l'écriture des
programmes.
• Ils sont généralement indépendants de
la machine: le même programme pourra
être utilisé sur plusieurs types
d'ordinateurs.
Pr. Miloudi chaymae
2024-2025 POO via Python 22
Généralités sur l’algorithmique et la programmation
Langage Assembleur
• Langage proche du langage machine qui peut
être directement interprété par le processeur
de l’ordinateur tout en restant lisible par
l’humain.
• Il est Crée pour faciliter le travail des
programmeurs.
• Il utilise des mots clés simples appelés
mnémoniques pour représenter des
instructions du processeur. Chaque instruction
assembleur correspond directement à une
instruction en binaire pour le processeur.
Pr. Miloudi chaymae
2024-2025 POO via Python 23
Généralités sur l’algorithmique et la programmation
Langage Machine
• C’est une suite de code binaire (0
et 1) interprétée par le processeur
d’un ordinateur exécutant un
programme informatique.
• C'est le langage natif d’un
ordinateur (processeur).
Pr. Miloudi chaymae
2024-2025 POO via Python 24
Généralités sur l’algorithmique et la programmation
Les bases de programmation
Pr. Miloudi chaymae
2024-2025 POO via Python 25
Généralités sur l’algorithmique et la programmation
La Compilation et L’interprétation
• Il est très difficile à l’utilisateur de programmer en langage machine, c’est
pourquoi des langages évolués ont été créés (C, C++, Java, Python…).
• Un compilateur ou interpréteur est nécessaire pour traduire un programme
écrit en un langage évolué en langage machine
Pr. Miloudi chaymae
2024-2025 POO via Python 26
Généralités sur l’algorithmique et la programmation
La Compilation et L’interprétation
Pr. Miloudi chaymae
2024-2025 POO via Python 27
Généralités sur l’algorithmique et la programmation
La Compilation et L’interprétation
Pr. Miloudi chaymae
2024-2025 POO via Python 28
Généralités sur l’algorithmique et la
programmation
Pourquoi le choix du Python ?
• Il possède une syntaxe simple.
• On peut donc se concentrer sur la logique algorithmique.
• Le mode “console” permet de tester des portions de codes immédiatement.
• C’est un langage interprété, c’est-à-dire que les instructions des programmes seront exécutées
au fur et à mesure.
Pr. Miloudi chaymae
2024-2025 POO via Python 29
Généralités sur l’algorithmique et la
programmation
Pourquoi le choix du Python ?
• C’est un language de haut niveau, on ne souciera pas de la gestion des ressources mémoires.
• Python possède des structures de données évoluées, listes, ensembles, dictionnaires, etc.
• Python est de plus en plus populaire et possède de nombreuses ressources bibliographiques.
• Enfin, c’est un langage open source.
Pr. Miloudi chaymae
2024-2025 POO via Python 30
Généralités sur l’algorithmique et la
programmation
Historique de Python
Python a été créé par Guido van Rossum, un programmeur néerlandais
travaillant pour le Centrum Wiskunde & Informatica (CWI) aux Pays-
Bas, dans le cadre d’un projet de loisir pour s’occuper pendant les
vacances de Noël 1989. Son objectif était de développer un langage
mettant l’accent sur la lisibilité et la simplicité du code. Le nom
« Python » a été inspiré par la série comique britannique « Monty
Python’s Flying Circus », dont Van Rossum était fan. Il a été choisi
pour évoquer un sentiment d’amusement, reflétant la philosophie du
langage qui consiste à rendre la programmation agréable.
Pr. Miloudi chaymae
2024-2025 POO via Python 31
Généralités sur l’algorithmique et la
programmation
Version de Python
• Il y a principalement deux “branches” différentes de Python : 2.x et 3.x.
• Même si elles sont assez semblables dans l’esprit, on peut noter d’importantes différences de
syntaxes, fonctionnalités, etc.
• Ce cours est basé sur la branche 3.x.
Pr. Miloudi chaymae
2024-2025 POO via Python 32
Des questions?
Pr. Miloudi chaymae
2024-2025 POO via Python 33