0% ont trouvé ce document utile (0 vote)
35 vues33 pages

Introduction à la POO en Python

Ce document présente un cours d'introduction à la programmation en Python, dirigé par Pr. Miloudi Chaymae, qui vise à enseigner les concepts d'algorithmique et de programmation. Les étudiants apprendront à écrire des programmes en Python, à automatiser l'analyse de données et à appliquer ces compétences à des questions économiques. Le cours est structuré en plusieurs parties, incluant des travaux pratiques et des évaluations, avec un accent sur l'importance de la compréhension des algorithmes avant la programmation.

Transféré par

ilyas.alaoui
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)
35 vues33 pages

Introduction à la POO en Python

Ce document présente un cours d'introduction à la programmation en Python, dirigé par Pr. Miloudi Chaymae, qui vise à enseigner les concepts d'algorithmique et de programmation. Les étudiants apprendront à écrire des programmes en Python, à automatiser l'analyse de données et à appliquer ces compétences à des questions économiques. Le cours est structuré en plusieurs parties, incluant des travaux pratiques et des évaluations, avec un accent sur l'importance de la compréhension des algorithmes avant la programmation.

Transféré par

ilyas.alaoui
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

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

Vous aimerez peut-être aussi