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

Séance 1 Python

Le module 'Algorithmes & Programmation Python' vise à enseigner les concepts fondamentaux de l'algorithmique et de la programmation en Python, incluant la résolution de problèmes et la manipulation de données. Le cours couvre divers chapitres tels que les bases de la programmation, les structures de données, et la programmation orientée objet. Il inclut également des exercices pratiques pour renforcer la maîtrise du langage Python.

Transféré par

mohamedfahd.belhaj
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)
0 vues31 pages

Séance 1 Python

Le module 'Algorithmes & Programmation Python' vise à enseigner les concepts fondamentaux de l'algorithmique et de la programmation en Python, incluant la résolution de problèmes et la manipulation de données. Le cours couvre divers chapitres tels que les bases de la programmation, les structures de données, et la programmation orientée objet. Il inclut également des exercices pratiques pour renforcer la maîtrise du langage Python.

Transféré par

mohamedfahd.belhaj
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

École Nationale de Commerce et de Gestion de Ta ng e r

Module : Algorithmes & Programmation python

Semestre 02(CENCG)

Pr. CHERRAT Loubna


[Link]@[Link]
Année universitaire: 2025/2026
Module : Algorithmes & Programmation python

Objectif du module COURS+TD+TP

Comprendre les concepts fondamentaux de l'algorithmique et de la


programmation en Python.

Apprendre à résoudre des problèmes en utilisant des algorithmes et les écrire


dans le langage de programmation Python .

Comprendre les principes des structures de données et leur application dans la


résolution de problèmes informatiques.

Acquérir une maîtrise pratique de la programmation en Python pour la


manipulation de données et la réalisation de projets informatiques.

2
Module : Algorithmes & Programmation python

Plan du cours

• Généralités
• Chapitre 1 : Bases de la programmation Python - TD1
- Instructions de base : lecture/écriture/affectation
- Structure conditionnelle
- Structure itérative / boucle
- L’instruction : break
- L’instruction : continue
• Chapitre 2 : Fonctions & Modules - TD2
• Chapitre 3 : Chaines de caractères - TD3
• Chapitre 4 : Structures de données - TD4
• Les types séquentiels : listes, tuples
• Les types de correspondance : dictionnaire
• Les types ensemblistes: ensemble Set.
• Chapitre 5 : Fichiers - TD5
• Chapitre 6 : Représentation graphique - TD6
• Chapitre 7 : Programmation orienté objet (POO ) – TD7
3
Module : Algorithmes & Programmation python

Généralités

4
Module : Algorithmes & Programmation python

Généralités

• Une description formelle d’un procédé de traitement qui permet, à


Algorithme partir d’un ensemble d’informations initiales, d’obtenir des informations
déduites;
• Un algorithme est une séquence d’actions (instructions) permettant
d’arriver, en un temps fini , à un résultat déterminé à partir d’une
situation donnée.

 La conception d’un algorithme est caractérisée par 4 étapes :

 Quelles sont les données dont on dispose?


 Comprendre la nature du problème posé.
 Quelles sont les résultats que l’on doit obtenir?
 Préciser les données fournies (L’entrée des données).

 Préciser les résultats que l’on désire obtenir ( La sortie des résultats).

 Déterminer le processus de transformation des données en résultats ( Le traitement des données).

5
Module : Algorithmes & Programmation python

Généralités

Algorithme Un algorithme peut être représenté sous forme d’un organigramme ou d’un
pseudocode.
 Exemple d’un organigramme

Début

Entrer la valeur de A et B

Faux Vrai
B=0

Calculer A/B
Afficher un
message d’erreur
 Exemple d’un pseudocode
Afficher le résultat
Algorithme Division
Variables A, B : réel
Fin
Début
Ecrire (" Entrer les deux valeurs : ")
Lire (A,B)
if (B=0)
Ecrire (" impossible de diviser par 0 ")
else
Ecrire (" le résultat est : ", A/B)
Fin
6
Module : Algorithmes & Programmation python

Généralités

Programme • Un programme est une suite d’instructions écrites dans un code bien précis
appelé langage de programmation pouvant être compilés ou
interprétés et exécutés par une machine pour donner un résultat bien
déterminé.

Types des programmes


• Systèmes d’exploitation : un ensemble des programmes qui gèrent les
ressources matérielles et logicielles. Il propose une aide au dialogue entre
l’utilisateur et l’ordinateur à travers une interface textuelle
(interpréteur de commande) ou graphique (gestionnaire de
fenêtres). Il est souvent multitâche et parfois multi-utilisateur (ex: Ms-
Dos, windows, MacOs, Linux, etc.)

• Programmes d’application : ils sont dédiés à des tâches particulières, formés


d’une série de commandes contenues dans un programme source qui est transformé
pour être exécuté par l’ordinateur (ex: calculatrice, Excel, photoshop, etc.)

7
Module : Algorithmes & Programmation python

Généralités

Langage de • C’est une notation conventionnelle destinée à formuler des algorithmes


programmation afin de produire des programmes informatiques.
• Un langage de programmation est construit à partir d'une grammaire
formelle, qui inclut des symboles et des règles syntaxiques.

 Types des langages de programmation


• Langage machine : un langage proche de la machine, formé de 0 et 1, propre à chaque processeur, il n’est pas portable.

• Langage d’assemblage : un codage alphanumérique du langage machine. plus lisible que le langage machine, mais n’est
toujours pas portable. traduit en langage machine par un assembleur.

• Langage de haut niveau : compréhensible par l’être humain, portable d’une machine à une autre, traduit en langage machine
par un compilateur ou un interpréteur.

8
Module : Algorithmes & Programmation python

Généralités

Compilation C’est la traduction du code source (rédigé en utilisant un langage de


programmation) en code objet (langage binaire). Elle comprend au moins quatre phases :
- Phase d’analyse lexicale,
- Phase d’analyse syntaxique
- Phase d’analyse sémantique
- Et une phase de production de code objet

Compilateur: traduire le programme entier une fois pour toutes.

Code Code Résultat


Compilateur Exécuteur
source Objet d’exécution

Ex : Langage C Langage binaire


0 et 1

Positif : plus rapide à l’exécution


Négatif : il faut recompiler à chaque modification

9
Module : Algorithmes & Programmation python

Généralités

Interprétation
C’est l’analyse et l’exécution de chaque ligne du code source en quelques
instructions du langage machine, qui sont ensuite directement exécutées au fur et à
mesure sans la génération du code objet.

Interpréteur : traduire au fur et à mesure les instructions du programme à chaque exécution.

Code source Interpréteur Résultat d’exécution

Ex : Langage python

Positif : exécution instantanée appréciable pour les débutants.


Négatif : exécution lente par rapport à la compilation.

10
Module : Algorithmes & Programmation python

Généralités

Différence entre Interpréteur et Compilateur

Interpréteur Compilateur
• Convertit le programme en prenant une seule • Analyse l’ensemble du programme et le traduit
ligne à la fois. dans son ensemble en code machine.

• L’analyse du code source prend moins de • L’analyse du code source prend beaucoup de
temps, mais le temps d’exécution global temps, mais le temps d’exécution global est
est plus lent. comparativement plus rapide.

• Génère du code d’objet intermédiaire qui nécessite


• Aucun code d’objet intermédiaire n’est généré, la
donc d'avantage de mémoire.
mémoire est donc efficace.

• Continue de traduire le programme jusqu’à • Il génère le message d’erreur uniquement


ce que la première erreur soit après avoir analysé l’ensemble du programme. Par
rencontrée. Par conséquent, le débogage est conséquent, le débogage est relativement difficile.
facile.

11
Module : Algorithmes & Programmation python

Généralités

Type de
programmation Généralement, on distingue entre deux types de programmation :
Programmation procédurale et la programmation orienté objet

 Programmation procédurale
• La programmation procédurale est un paradigme de programmation qui repose sur
le concept de procédures ou fonctions.

• Dans la programmation procédurale, un programme est divisé en petites unités


autonomes appelées procédures contenant des séquences d'instructions à
exécuter. Ces procédures peuvent être appelées dans un ordre spécifique pour
accomplir une tâche plus complexe.
Exemple :
Fortran, Cobol, Pascal, C, …

12
Module : Algorithmes & Programmation python

Généralités

Type de
programmation Généralement, on distingue entre deux types de programmation :
Programmation procédurale et la programmation orienté objet

 Programmation orienté objet


• La programmation orientée objet (POO) est un paradigme de
programmation qui utilise des objets, qui sont des instances de
classes, pour organiser et structurer le code.

• Elle repose sur plusieurs concepts clés à savoir : l’encapsulation,


l’abstraction, l’héritage, le polymorphisme, etc.
Exemple :

C++, Python, Ruby, Javascript, etc.

13
Module : Algorithmes & Programmation python

Généralités
 Programmation orienté objet
Classe • Un modèle pour créer des objets. Elle définit les propriétés (attributs) et
les comportements (méthodes) communs à tous les objets créés à partir de
cette classe.

Objet
• Une instance concrète d’une classe
• Il représente une entité du monde réel et possède des caractéristiques
(attributs) et des actions (méthodes) associées à la classe à partir de laquelle
il a été créé.

Objet 1

Objet2

14
Module : Algorithmes & Programmation python

Généralités

 Programmation orienté objet

Exemple d’une classe en python Création d’un objet en python

class Etudiant
def init (self, nom, age, note): # Création d'une instance de la classe Etudiant
[Link] = nom etudiant1 = Etudiant("Ahmed", 20, 15)
[Link] = age
[Link] = note # Affichage des informations initiales
def afficher_informations(self): print ("Informations initiales de l'étudiant : ")
etudiant1.afficher_informations()
print (f "Nom: {[Link]}")
print (f "Âge: {[Link]}") # Mise à jour de la note de l'étudiant
print (f "Note: {[Link]}")
etudiant1.modifier_note(18.0)
def modifier_note(self, nouvelle_note):

[Link] = nouvelle_note

15
Module : Algorithmes & Programmation python

Généralités

Histoire du langage python

• 1991 : Guido van Rossum travaille aux Pays-Bas sur le projet AMOEBA : un système d’exploitation distribué. Il conçoit
Python à partir du langage ABC et publie la version 0.9.0 sur un forum Usenet
• 2001 : naissance de la PSF (Python Software Fundation)

Les versions se succèdent... Un grand choix de modules est disponible, des colloques annuels sont organisés, Python est enseigné
dans plusieurs universités et est utilisé en entreprise...

• 2006 : première sortie de IPython


• Fin 2008 : sorties de Python 3.0
• 2013 : versions en cours des branches 2 et 3 : v2.7.3 et v3.3.0
• 3 février 2026: sortie de la dernière version stable de python : v3.14.3

16
Module : Algorithmes & Programmation python

Généralités

Présentation du langage python

Langage simple • Syntaxe claire et cohérente


• Gestion automatique de la mémoire
• Typage dynamique fort : pas de déclaration de type de données

Open source • Licence Open Source


• Python est libre et gratuit même pour les usages commerciaux
• Importante communauté de développeurs
• Nombreux outils standard disponibles

Langage interprété • Langage interprète rapide


• De nombreux modules sont disponibles à partir de bibliothèques optimisées
(souvent écrites en C ou C++)

Orienté objet • Langage multi-paradigme: Modèle objet puissant mais pas obligatoire

17
Module : Algorithmes & Programmation python

Généralités

Exécution d’un programme en python


• Afin d’exécuter un programme en python, il faut installer un interpréteur python
téléchargeable depuis le site : [Link]

• Et utiliser un éditeur de texte pour rédiger les script python ou utiliser un


IDE : Interactive Development Environment tels que :

IDLE Pyzo Pycharm

• Un script python est un ficher avec l’extension .py

18
Module : Algorithmes & Programmation python

Généralités

Processus d’exécution d’un programme en python dans IDLE

[Link] IDLE.
[Link]éer un nouveau fichier avec File > New File.
3.Écrire le code Python dans la fenêtre qui apparaît.
[Link] le fichier avec l'extension .py.
[Link]écuter le script en allant dans Run > Run Module ou en appuyant sur F5.
[Link] les résultats dans la fenêtre Shell.

19
Module : Algorithmes & Programmation python

Chapitre 1 : Bases de la programmation Python

20
Module : Algorithmes & Programmation python

Chapitre 1 : instructions de base

Structure d’un programme python


• Un programme python ne possède pas une structure bien précise
• Un programme python contient plusieurs types d’instructions qui répondent au problème défini.
- Instructions d’affichage
- Instructions de lecture
- Instructions d’affectation et de calcul
- Instructions alternatives
- Instructions répétitives
- Des commentaires, …

• Pour ajouter un commentaire sur une seule ligne


# exemple de commentaire
• Pour ajouter un commentaire sur plusieurs lignes
 première ligne de commentaire
………………………
……….dernière ligne de commentaire 

21
Module : Algorithmes & Programmation python

Chapitre 1 : instructions de base

Mots résérvés au langage python


False class from or None continue
global pass. True def if raise
and del return break for not
as elif in try
assert else is while
async except lambda with
await finally nonlocal yield

Pour afficher l’aide sur un keyword ou une fonction python, il suffit de taper la commande :
>>>> help(nom du keyword ou nom de la fonction)

>>> est l’invite de commande de l’interpréteur Python (prompt en anglais)

22
Module : Algorithmes & Programmation python

Chapitre 1 : instructions de base

Définition d’une donnée

▪ C’est un emplacement mémoire dans lequel on peut mémoriser une valeur.


▪ Une donnée est caractérisée par un identificateur, une valeur, et un type.
Une
▪ donnée peut être:

- variable : s’elle change de valeurs dans un programme


- Constante : s’elle garde la même valeur tout au long du programme

23
Module : Algorithmes& Programmation python

Chapitre 1 : Instructions de base

Identificateur des données

L’identificateur est un nom choisi pour désigner une donnée,


Il doit :
• Être formé des lettres (A - Z) (a - z), des chiffres (1 - 9) et des lignes de
soulignement ( _ )
• Commencer obligatoirement par une lettre.
Il ne doit pas
• Contenir des espaces
• Être un mot réservé du langage python

 Python est sensible à la casse, ce qui signifie que les variables age, Age et AGE sont différentes.

 Exemples : i, numéroProduit, coef_a, X1, age. . .

24
Module : Algorithmes& Programmation python

Chapitre 1 : Instructions de base

Types natifs de données

• Il représente le type de l’ensemble des valeurs que peut prendre une donnée.
• En python, le typage des données est dynamique : le type d’une donnée est
déterminée selon la valeur attribuée à cette donnée
• Pour savoir le type d’une donnée, il suffit d’utiliser la fonction type :
>>>> type (nom_donnee)

Exemple:

25
Module : Algorithmes & Programmation python

Chapitre 1 : Instructions de base

Types natifs des données

Types prédéfinis Signification Exemples

int Nombre entier a=1, b=-2

float Nombre réel a=1.3

complex Nombre complexe a=3+5j

bool Nombre logique a=true , b=false

str Chaine de caractères a="Bonjour" b="s" c=‘A’

26
Module : Algorithmes & Programmation python

Chapitre 1 : instructions de base

Opérateurs arithmétiques sur les types numériques


x+y Somme de x et y

x-y Différence de x et y Opérateurs logiques


x*y Produit de x et y
and ET logique
x/y Quotient de x et y
or OU logique
x//y Quotient entier de x et y
not Négation logique
x%y reste de la division euclidienne de x et y

x**y x à la puissance y

27
Module : Algorithmes & Programmation python

Chapitre 1 : instructions de base

Opérations sur les chaînes de caractères

 Pour les chaînes de caractères, deux opérations sont possibles: l’addition et la multiplication

'Salut' + " Python" 'Salut Python'


'Salut' * 3 'SalutSalutSalut'

 L’opérateur d’addition + concatène (assemble) deux chaînes de caractères.


 L’opérateur de multiplication * entre un nombre entier et une chaîne de caractères duplique
(répète) plusieurs fois une chaîne de caractères.
 ' et " sont équivalents pour définir des chaînes de caractères.
 Python offre également des triple guillemets (''' ou """) pour les chaînes multilignes. Ces
guillemets sont utiles pour les chaînes longues ou lorsque tu veux inclure des sauts de ligne.

28
Module : Algorithmes & Programmation python

Chapitre 1 : instructions de base

Comparaison des chaînes de caractères


 C'est l'ordre alphabétique qui est utilisé dans le cas où l'on compare deux lettres majuscules ou minuscules.
 les majuscules apparaissent avant les minuscules (en termes de codes Unicode).Par conséquent, les majuscules
sont considérées comme plus petites que les minuscules.
Exemple:

• "a" < "b"  Fonctions utiles pour la comparaison des chaines de


caractères :
• ‘M’ < ‘m’
ord() : permet de connaître le code Unicode d'un caractère.
• "Maman" < "Papa"
chr() :permet de connaître le caractère correspondant à un code
• "maman" > "Papa " Unicode.
• ord('A') renvoie 65 Len(): renvoie le nombre de caractères que la chaine contient.
• ord('a') renvoie 97
• chr(65) envoie 'A‘
• len("Bonjour") renvoie 7

29
Module : Algorithmes & Programmation python

Chapitre 1 : instructions de base

Opérateurs de comparaison Opérateurs de conversion

< inférieur à Convertir x vers un


int(x)
nombre entier
<= inférieur ou égal à
> supérieur à Convertir x vers un
float (x)
nombre réel
>= supérieur ou égal à
Convertir x vers une chaine
== égal à str(x) de caractères
!= différent

 Exemples :
x = "42" x = 3.14 x = "abc"
y = int(x) y = int(x) y = int(x)
-> y va contenir 42 -> y va contenir 3 -> Cela lèvera une erreur

30
Module : Algorithmes & Programmation python

Chapitre 1 : instructions de base

Opérateurs d’affectation
• C’est l’opération qui permet d’attribuer à une variable une valeur simple ou résultante d’une
expression arithmétique :

En algorithmique, l'affectation se note avec le signe ←


Var← e : attribue la valeur de e à la variable Var

- e peut être une valeur, une autre variable ou une expression


- l’affectation ne modifie que ce qui est à gauche de la flèche
 En python, l'affectation se note avec le signe =

- Identificateur_variable = valeur simple


- Identificateur_variable = expression arithmétique

 Exemples : a=3
x=y
s=p*(r**2)
31

Vous aimerez peut-être aussi