Algorithmique Et Programmation (Python)
Algorithmique Et Programmation (Python)
PROGRAMMATION
(PYTHON)
Filière: Mécanique énergétique
2024/2025
Chargée de cours: Narimane Elhilali
Plan
• DESCRIPTION DU CONTENU DU MODULE
• Modalités de Validation du module
• L’algorithmique
• Langages de programmation
• Langage python
• Utilisation de python
• Installation de python sur votre ordinateur personnel
• Variables, données et opérateurs
DESCRIPTION DU CONTENU DU
MODULE
A retenir... A faire ...
Introduction à la programmation en ➢ Des travaux des travaux dirigés au tour de chaque
Python : Les types de données, les variables, les
boucles, les fonctions et les instructions séance.
conditionnelles. ➢ Des travaux pratiques aussi.
Algorithmes de tri :
Les algorithmes de tri de base en Python.
Structures de données : Différentes structures de
données disponibles en Python, notamment les listes,
les tuples, les dictionnaires et les ensembles, ainsi que
leur utilisation dans les programmes.
Introduction à l'analyse de données: Les bases de
l'analyse de données en Python, notamment
la lecture de fichiers CSV, la manipulation de données à
l'aide de numpy , pandas et la visualisation de données
a l'aide de Matplotlib.
Modalités de Validation du module
• Exemple:
Un programme informatique
(appelé aussi “application”) est une
traduction de l'algorithme dans un
langage de programmation.
Langages de programmation
Langages machine Langages évolués (Haut niveau)
✓ Les microprocesseurs des ordinateurs ➢ De très nombreux langages informatiques existent. Les
travaillent sur des données binaires 0/1, langages « assembleurs » est un niveau au-dessus du
appelées des bits, que l'on regroupe par octets
langage machine. Ils sont les plus proches de ce que
(groupe de 8 bits). Chaque famille de
processeurs comprend un jeu d'instructions comprennent les processeurs, ils représentent les
(d'opérations qu'il peut réaliser) avec une opérations exécutables et leurs options sous forme
représentation binaire propre. textuelle compréhensible (pour peu qu'on en apprenne
le sens).
➢ Les langages informatiques de haut niveau sont des
Langages abstraits, proches du langage humain, qui
sont indépendants du matériel. Ils permettent de
développer des applications complexes rapidement
et sont faciles à apprendre.
Langages évolués
• Voici quelques exemples de langages de programmation (dont vous avez probablement
déjà entendu parler) :
➢ Sous Python, on peut assigner une valeur à plusieurs variables simultanément. Exemple :
➢ On peut aussi effectuer des affectations parallèles à l’aide d’un seul opérateur :
Variables, données et opérateurs
• Les types de données
➢ Les trois caractères « supérieur à » constituent le signal d’invite, ou prompt principal, lequel vous
indique que Python est prêt à exécuter une commande.
➢ Par exemple, vous pouvez tout de suite utiliser l’interpréteur comme une simple calculatrice de
bureau en utilisant les différentes opérations arithmétiques respectivement les symboles +, -, *
et /
Variables, données et opérateurs
• Les opérateurs
Calculer avec Python :
➢ Le premier opérateur utilise le symbole « // ». Il permet d'obtenir la partie entière d'une division.
Si deux opérateurs ont la même priorité, l’évaluation est effectuée de gauche à droite.
Variables, données et opérateurs
• Les opérateurs
Composition sous Python :
➢ L’une des grandes forces d’un langage de programmation de haut niveau est qu’il permet de construire des
instructions complexes par assemblage ou composition de fragments divers. Ainsi par exemple, si vous
savez comment additionner deux nombres et comment afficher une valeur, vous pouvez combiner ces
deux instructions en une seule :
➢ Cela n’a l’air de rien, mais cette fonctionnalité qui paraît si évidente va vous permettre de
programmer des algorithmes complexes de façon claire et concise. Exemple :
Variables, données et opérateurs
• Les opérateurs
➢ Pour Convertir en nombre entier une chaîne de caractères qui représente un nombre.
Les instructions conditionnelles
1)- Définition
Une instruction est une portion de code qui produit un effet, comme la création d'une
variable ou l'affichage d'une valeur.
Quand vous exécutez du code, vous exécutez en fait des instructions les unes à la suite
des autres.
Par exemple, langage = 'python' est une instruction.
2)- Séquence d’instructions
Plus vous progresserez dans l’art de la programmation, plus vous vous rendrez compte
qu’il faut être extrêmement attentif à l’ordre dans lequel vous placez vos instructions les
unes derrière les autres. Par exemple, dans la séquence d’instructions suivantes :
if condition1 :
bloc d'instructions 1
elif condition2 :
bloc d'instructions 2
elif condition3 :
bloc d'instructions 3
else :
bloc d'instructions 4
Le mot clé if signife « si », le mot clé elif signife « sinon si » et le mot clé else signife « sinon ».
Les instructions conditionnelles
Les instructions
Instructions composées :
Instruction conditionnelle si (if)
Les instructions conditionnelles
Les instructions
Instructions composées :
Instruction conditionnelle si (if)
➢ La condition évaluée après l’instruction if peut contenir les opérateurs de comparaison suivants:
x == y # x est égal à y
x != y # x est différent de y
x>y # x est plus grand que y
x<y # x est plus petit que y
x >= y # x est plus grand que, ou égal à y
x <= y # x est plus petit que, ou égal à y
Les instructions conditionnelles
Les instructions
Instructions composées :
Instruction conditionnelle si (if) « Prédicats et Booléens »:
➢ Les variables de ce type ne peuvent prendre comme valeur que vrai ou faux et peuvent être
pratiques, justement, pour stocker des prédicats, de la façon que nous avons vue ou d'une façon plus
détournée.
Les instructions conditionnelles
Les instructions
Instructions composées :
Instruction conditionnelle si (if) « Les mots-clés and, or »:
➢ Il existe cependant le mot clé and qui permet de tester à la fois si a est supérieur ou égal à 2
et inférieur ou égal à 8. On peut donc réduire ainsi les conditions imbriquées :
➢ il existe le mot clé is not qui « inverse » un prédicat. Le prédicat is not a==5 équivaut donc à
a!=5
Les instructions conditionnelles
Les instructions
Instructions composées :
Instruction conditionnelle si (if) « les imbriquées »:
Pour les instructions imbriquées, Il est parfaitement possible d’imbriquer les unes dans les
autres plusieurs instructions composées, de manière à réaliser des structures de décision
complexes. Exemple :
Les instructions conditionnelles
Les instructions
Instructions composées :
Les espaces et les commentaires sont normalement ignorés
les espaces placés à l’intérieur des instructions et des expressions sont presque
toujours ignorés (sauf s’ils font partie d’une chaîne de caractères). Il en va de
même pour les commentaires : ceux-ci commencent toujours par un caractère dièse
(#) et s’étendent jusqu’à la fin de la ligne courante.
Les instructions conditionnelles
Les instructions
Instructions répétitives :
➢ L’une des tâches que les machines font le mieux est la répétition sans erreur de tâches
identiques.
➢ Il existe bien des méthodes pour programmer ces tâches répétitives.
1) La réaffectation
✓ il est permis de réaffecter une nouvelle valeur à une même variable, autant de fois qu’on le
souhaite.
Les instructions conditionnelles
Les instructions
Instructions répétitives :
1)- La réaffectation
✓ Il faut faire attention le fait que le symbole égale utilisé sous Python pour réaliser une
affectation ne doit pas être confondu avec un symbole d’égalité tel qu’il est compris en
mathématique.
✓ Premièrement, l’égalité est commutative, alors que l’affectation ne l’est pas
✓ Deuxièmement, l’égalité est permanente, alors que l’affectation peut être remplacée
Les instructions conditionnelles
Les instructions
Instructions répétitives :
2) Répétitions en boucle – L’instruction tant que (while)
✓ on appelle boucle est un système d’instructions qui permet de répéter un certain nombre de fois
(voire indéfiniment) toute une série d’opérations.
✓ Python propose deux instructions particulières pour construire des boucles : l’instruction for … in
… , très puissante, et l’instruction while que nous allons découvrir tout de suite.
Les instructions conditionnelles
Les instructions
Instructions répétitives :
2) Répétitions en boucle – L’instruction tant que (while)
✓ Avec l’instruction while, Python commence par évaluer la validité de la condition fournie entre
parenthèses
Si la condition se révèle fausse, alors tout le bloc qui suit est ignoré et l’exécution du programme
se termine.
Si la condition est vraie, alors Python exécute tout le bloc d’instructions constituant le corps de la
boucle
Les instructions conditionnelles
Les instructions
Instructions répétitives :
2) Répétitions en boucle – L’instruction tant que (while)
N.B : - La variable évaluée dans la condition doit exister au préalable (il faut qu’on lui ait déjà
affecté au moins une valeur).
- Si la condition est fausse au départ, le corps de la boucle n’est jamais exécuté.
- Si la condition reste toujours vraie, alors le corps de la boucle est répété indéfiniment (tout
au moins tant que Python lui-même continue à fonctionner).
- Il faut donc veiller à ce que le corps de la boucle contienne au moins une instruction qui
change la valeur d’une variable intervenant dans la condition évaluée par while, de manière à
ce que cette condition puisse devenir fausse et la boucle se terminer.
Les instructions conditionnelles
Les instructions
Instructions répétitives :
3) Répétitions en boucle – L’instruction while « mot clé break »
Le mot-clé break permet tout simplement d'interrompre une boucle «permet d'arrêter une boucle
quelle que soit la condition de la boucle» . La boucle while a pour condition 1, c'est-à-dire une
condition qui sera toujours vraie. En pratique, on demande à l'utilisateur de taper une lettre (un 'Q'
pour quitter). Tant que l'utilisateur ne saisit pas cette lettre, le programme lui redemande de taper
une lettre. Quand il tape 'Q', le programme affiche Fin de la boucle et la boucle s'arrête grâce au
mot-clé break.
Les instructions conditionnelles
Les instructions
Instructions répétitives :
4) Répétitions en boucle – L’instruction while« mot clé continue »
Le mot-clé continue permet de… continuer une boucle, en repartant directement à la ligne du while
ou for.
Les instructions conditionnelles
Les instructions
Instructions répétitives :
Répétitions en boucle – L’instruction for
✓ L'instruction composée for permet de répéter un bloc d'instructions en un certain nombre de fois.
✓ L'instruction for travaille sur des séquences. Elle est en fait spécialisée dans le parcours d'une
séquence de plusieurs données. L'instruction for se construit ainsi :
for element in sequence:
✓ element est une variable créée par le for, ce n'est pas à vous de l'instancier. Elle prend
successivement chacune des valeurs figurant dans la séquence parcourue. in peut être utilisée
ailleurs que dans une boucle for
Les instructions conditionnelles
Les instructions
Instructions répétitives :
Répétitions en boucle – L’instruction for
Les fonctions en langage python
Définition :
➢ Une fonction est un bloc de code réutilisable qui permet de regrouper des instructions afin d’accomplir
une tâche précise.
➢ Une fonction exécute un certain nombre d'instructions déjà enregistrées, comme vous enregistrez
un groupe d'instructions => pour faire une action précise et que vous lui donnez un nom. Vous n'avez
plus ensuite qu'à appeler cette fonction par son nom autant de fois que nécessaire.
➢ La plupart des fonctions ont besoin d'au moins un paramètre pour travailler sur une donnée ;
➢ ces paramètres sont des informations que vous passez à la fonction afin qu'elle les utilise.
➢ Les fonctions s'utilisent en respectant la syntaxe suivante :
def nom_de_la_fonction (parametre_1,parametre_2,…,parametre_n):
=> Si la fonction n'attend aucun paramètre, vous devrez quand même mettre les parenthèses, sans rien
entre elles ().
Les bases fondamentales
du Python
Les fonctions Prédéfinies :
❑ type()
➢ La fonction type retourne le type de données d’un objet quelconque. Les types possibles sont répertoriés dans le
module types. C’est utile pour les fonctions capables de gérer plusieurs types de données
➢ Mais il est pratique de pouvoir savoir de quel type est une variable.
type(nom_de_la_variable)
=> La fonction renvoie le type de la variable passée en paramètre
Les bases fondamentales
du Python
Les fonctions Prédéfinies :
❑ Print()
➢ La fonction print permet d'afficher la valeur d'une ou plusieurs variables.
print(nom_de_la_variable)
• Le premier appel à print se contente d'afficher la
valeur de la variable a, « 7 ».
• Le deuxième appel, on passe quatre
paramètres à print, deux chaînes de caractères et
les variables a et b. Quand Python interprète cet
appel de fonction, il va afficher les paramètres dans
l'ordre de passage, en les séparant par un
espace
Les bases fondamentales
du Python
Les fonctions Prédéfinies :
❑ Print()
➢ Elle permet d’afficher n’importe quel nombre de valeurs fournies en arguments ( ). Par défaut, ces valeurs seront
séparées les unes des autres par un espace, et le tout se terminera par un saut à la ligne.
Vous pouvez remplacer le séparateur par défaut (l’espace) par un autre caractère quelconque (ou même par
aucun caractère), grâce à l’argument sep.
➢ Il existe un grand nombre de modules pré-programmés qui sont fournis d’office avec Python.
➢ Souvent on essaie de regrouper dans un même module des ensembles de fonctions apparentées, que
l’on appelle des bibliothèques.
Les bases fondamentales
du Python
Importer le module de fonction :
➢ Par exemple : Le module math, contient les définitions de nombreuses fonctions mathématiques telles
que sinus, cosinus, tangente, racine carrée, etc. Pour pouvoir utiliser ces fonctions, il vous suffit
d’incorporer la ligne suivante au début de votre script :
➢ Par exemple :
Les bases fondamentales
du
Importer le module de fonction :
Python
❑ turtle ()
➢ Voici Les principales fonctions mises à votre disposition dans le module turtle sont les suivantes:
Fonction Description
reset() On efface tout et on recommence
goto(x, y) Aller à l’endroit de coordonnées x, y
forward(distance) Avancer d’une distance donnée
backward(distance) Reculer d’une distance donnée
up() / Down() Enlever le crayon / Abaisser le crayon
Color(couleur) couleur peut être une chaîne prédéfinie (’red’, ’blue’, etc.)
Left(angle) Tourner à gauche d’un angle donné (exprimé en degrés)
Right(angle) Tourner à droite
Width(épaisseur) Choisir l’épaisseur du tracé
Write(text) texte doit être une chaîne de caractères
Les bases fondamentales
du Python
Les fonctions originales :
➢ Les scripts que vous avez écrits jusqu’à présent étaient à chaque fois très courts, car leur objectif
était pour vous faire assimiler les premiers éléments du langage. Lorsque vous commencerez à
développer de véritables projets, vous serez confrontés à des problèmes souvent fort
complexes, et les lignes de programme vont commencer à s’accumuler...
➢ Il arrivera souvent qu’une même séquence d’instructions doit être utilisée à plusieurs reprises
dans un programme, et on souhaitera bien évidemment ne pas avoir à la reproduire
systématiquement.
✓ Les chaînes peuvent être concaténées avec l’opérateur + et répétées avec l’opérateur * :
La structure de donnée sous Python
Les chaînes de caractères :
❑ Les chaines sont des objets :
✓ Sous Python, les chaînes de caractères sont des objets. On peut donc effectuer de nombreux traitements sur les chaînes
de caractères en utilisant des méthodes appropriées :
❖ split() : convertit une chaîne en une liste de sous-chaînes. On peut choisir le caractère séparateur en
le fournissant comme argument, sinon c’est un espace par défaut :
La structure de donnée sous Python
Les chaînes de caractères :
❑ Les chaines sont des objets :
❖ join(liste) : rassemble une liste de chaînes en une seule (cette méthode effectue donc l’action inverse
de la précédente).
❖ find(sch) : cherche la position d’une sous-chaîne sch « par exemple » dans la chaîne :
❖ Pour accéder aux éléments d’une liste, on utilise les mêmes méthodes pour accéder aux caractères
d’une chaîne (index, découpage en tranches) :
❖ Contrairement aux chaînes de caractères, les listes sont des séquences modifiables. Cela nous permettra
de construire plus tard des listes de grande taille, morceau par morceau, d’une manière dynamique
La structure de donnée sous Python
Les listes :
❑ Les listes sont des objets :
❖ Sous Python, les listes sont des objets à part entière, et vous pouvez donc leur appliquer un certain
❖ nombre de méthodes particulièrement efficaces :
❖ On peut imbriquer len() dans la fonction range() pour parcourir une liste de type :
La structure de donnée sous Python
Les listes :
❑ Une conséquence importante du typage dynamique :
La structure de donnée sous Python
Les listes :
❑ Opérations sur les listes :
La structure de donnée sous Python
Les listes :
❑ Copie d’une liste :
❖ À la suite de phrase = fable, il n’existe toujours qu’une seule liste dans la mémoire de l’ordinateur. Ce
que vous avez créé est seulement une nouvelle référence vers cette liste. On ne crée pas une véritable
copie, car si la variable phrase contenait une véritable copie de la liste fable, cette copie serait
indépendante de l’original et ne devrait donc pas pouvoir être modifiée par cette instruction fable[4] =
‘casse’. => On dit que les modifications de l’une sont répercutées dans l’autre, et vice-versa
❖ les noms fable et phrase désignent tous deux un seul et même objet en mémoire. On dit que le nom
phrase est un alias du nom fable.