SlideShare une entreprise Scribd logo
Ministère de l’Éducation
Direction Générale des Programmes
et de la Formation Continue
❖◆❖
Année scolaire 2022/2023
IMPLEMENTATION
EN PYTHON DES
CONVENTIONS
ALGORITHMIQUES
Implémentation en python des conventions algorithmiques–2022/2023 Page 2 sur 12
Le langage de programmation choisi pour implémenter les solutions algorithmiques est le
langage de programmation Python.
A. Introduction générale
▪ Python est un langage de programmation sensible à la casse.
▪ Dans un code Python, il est recommandé d’ajouter des commentaires.
o Commentaire sur une seule ligne : débuter la ligne par le symbole #.
o Commentaire sur plusieurs lignes : délimiter les lignes du commentaire par ’’’.
B. Les syntaxes des structures algorithmiques
1. Les opérations élémentaires simples
a. L’opération d’entrée
En algorithmique En python
Lire (Objet) Objet = input()
Objet = input(‘message’)
N.B. : Par défaut, la valeur saisie est de type chaîne de
caractères.
b. L’opération de sortie
En algorithmique En python
Écrire ("Message", Objet, Expression)
Écrire_nl ("Message", Objet, Expression)
print ("Message", Objet, Expression)
print ("Message", Objet, Expression, "n")
Remarques :
- Objet est de type variable simple (entier, réel, booléen, caractère et chaîne de
caractères).
- "n" permet d’ajouter un retour à la ligne.
- L’affichage d’un tableau T en python, doit se faire élément par élément et non pas avec
l’instruction print(T).
c. L’opération d’affectation
En algorithmique En python
Objet  Expression Objet = Expression
Remarque : Objet est une variable de type simple (entier, réel, booléen, caractère et
chaîne de caractères).
Implémentation en python des conventions algorithmiques–2022/2023 Page 3 sur 12
2. Les types de données simples
En algorithmique En python
Entier int
Réel float
Booléen bool
Caractère str
Chaîne de caractères str
Exemples de conversions entre les types simples en python
Conversion Syntaxe Exemple
De str vers int int(ch) x = int("3") signifie que x reçoit l’entier 3
De str vers float float(ch) x = float("3.2") signifie que x reçoit le réel 3.2
De str vers bool bool(ch) x = bool("0") signifie que x reçoit True
De int vers str str(int)
x = str(3) signifie que x reçoit le caractère "3"
x = str(123) signifie que x reçoit la chaîne "123"
3. Les structures de données
En algorithmique En python
Tableau (à une et à deux dimensions) Ces types seront présentés ci-après (voir
4.b) , 4.c) et 4.d).
Enregistrement
Fichier
4. Les déclarations
a. Les objets de type de donnée simple
En algorithmique
En Python
Une variable n’a pas besoin d’être déclarée avec un type particulier : c’est au
moment où on lui attribue une valeur qu’elle sera créée. Ainsi, son type sera défini
en fonction du type de la valeur qui lui a été attribuée. L’identificateur d’une
variable est sensible à la casse.
Objet Type / Nature
Nom_objet Type_objet
Implémentation en python des conventions algorithmiques–2022/2023 Page 4 sur 12
b. Les tableaux
En algorithmique
En Python
• On utilisera la bibliothèque numpy pour implémenter les tableaux.
• Un tableau de la bibliothèque numpy est :
o homogène, c’est-à-dire constitué d’éléments de même type,
o statique, car sa taille est fixée lors de la création.
• La déclaration d’un tableau se fait en deux étapes :
o Importation des modules nécessaires de la bibliothèque numpy
Importation
from numpy import array
ou
from numpy import *
ou
import numpy as alias
o Déclaration du tableau
Déclaration
Tableau à une
dimension
T = array ([Type_élément] * N)
ou bien
T = array ([valeur_initiale] * N)
Tableau à deux
dimensions
T = array ([Type_élément]*Colonnes]* Lignes)
ou bien
T = array ([valeur_initiale]*Colonnes]* Lignes)
Remarque : On peut spécifier le type des éléments d’un tableau avec la syntaxe :
Nom_tableau = array ([Valeur_initiale] * N, dtype=Type_élément)
Objet Type / Nature
Tableau à une
dimension
Nom_tableau Tableau de N Type _élément
Tableau à deux
dimensions
Nom_tableau Tableau de N lignes * M colonnes Type_élément
Implémentation en python des conventions algorithmiques–2022/2023 Page 5 sur 12
Exemples de déclarations de tableaux en Python
Déclaration Explication
T = array ([5] * 10)
Déclarer un tableau T de 10 entiers et
initialiser ses éléments par « 5 ».
T = array ([float ()] * 10)
Déclarer un tableau T de 10 réels et
initialiser ses éléments par «0.0 ».
T = array ([str] * 10)
Déclarer un tableau T de 10 chaînes de
caractères.
T = array ([str()] * 10)
Déclarer un tableau T de 10 caractères et
initialiser ses éléments par le caractère vide.
T = array ([‘’] * 10 , dtype = ’U20’)
Déclarer un tableau T de 10 éléments
initialisés par une chaîne vide. Chaque
élément peut contenir 20 caractères au
maximum.
T = array ([[int ( )] * 10]*30)
Déclarer un tableau T de 30 lignes x 10
colonnes d’entiers.
c. L’enregistrement
En algorithmique
En Python
Nom_enregistrement = dict (
Nom_champ1 = Type_champ1,
Nom_champ2 = Type_champ2,
...
)
Remarque : Pour accéder à un champ d’un enregistrement on utilise la syntaxe
suivante : Nom_Enregistrement [ ‘Nom_Champ’ ].
Objet Type / Nature
Nom_enregistrement Enregistrement
Nom_champ1 : Type_champ1
Nom_champ2 : Type_champ2
...
Fin
Implémentation en python des conventions algorithmiques–2022/2023 Page 6 sur 12
d. Les fichiers
En algorithmique
En Python
La déclaration d’un objet de type fichier se fait lors de sa création à l'aide de la
fonction open() détaillée ci-après (voir 10.a) et 10.b) ).
5. Les structures de contrôle conditionnelles
En algorithmique En python
Si Condition Alors
Traitement
FinSi
if Condition :
Traitement
Si Condition Alors
Traitement1
Sinon
Traitement2
FinSi
if Condition :
Traitement1
else :
Traitement2
Si Condition1 Alors
Traitement1
Sinon Si Condition2 Alors
Traitement2
………
[Sinon TraitementN]
FinSi
if Condition1 :
Traitement1
elif Condition2 :
Traitement2
………
else :
TraitementN
Selon <Sélecteur>
Valeur1_1[, Valeur1_2, …] :
Traitement1
Valeur2_1 . . Valeur2_2 :
Traitement2
………
[Sinon TraitementN]
Fin Selon
A partir de la version 3.10
match Sélecteur :
case Valeur1 :
Traitement1
case Valeur2_1 | Valeur2_2 :
Traitement2
case Sélecteur if V3_1 <=Sélecteur<= V3_2 :
Traitement3
case _ : TraitementN
N.B. : Le sélecteur doit être de type scalaire.
Objet Type / Nature
Fichier texte Nom_ fichier Fichier Texte
Fichier de données Nom_ fichier Fichier de Type _élément
Implémentation en python des conventions algorithmiques–2022/2023 Page 7 sur 12
6. Les structures de contrôle itératives
a. La structure de contrôle itérative complète
En algorithmique
Pour compteur de Début à Fin [Pas = valeur_pas] Faire
Traitement
Fin Pour
En Python
for compteur in range (Début, Fin+1, Pas) :
Traitement
N.B. : La valeur finale du compteur est exclue de la boucle.
Remarques :
- La valeur du pas peut être positive ou négative. Par défaut, elle est égale à 1.
- Ne pas utiliser l’instruction break pour forcer l’arrêt de la boucle for.
b. Les structures de contrôle itératives à condition d'arrêt
En algorithmique En Python
Tant que Condition Faire
Traitement
Fin Tant que while Condition :
Traitement
Répéter
Traitement
Jusqu'à Condition d’arrêt
Remarque : Ne pas utiliser l’instruction break pour forcer l’arrêt de la boucle while.
Implémentation en python des conventions algorithmiques–2022/2023 Page 8 sur 12
7. Les modules
a. La déclaration
En algorithmique En Python
Fonction Nom_fonction (pf1 : type1 ,
pf2 : type2 , … , pfn : typen) : Type_résultat
DEBUT
Traitement
Retourner résultat
FIN
Un module (fonction ou procédure) se
définit en utilisant le mot clé def selon la
syntaxe suivante :
def Nom_module (pf1 , pf2 , … , pfn) :
Traitement
[return résultat]
N.B. : Dans un module, l’instruction
"return" peut être utilisée, et ce, pour
retourner un seul résultat de type
simple.
Procédure Nom_procédure (pf1 : type1 ,
pf2 : type2 , … , pfn : typen)
DEBUT
Traitement
FIN
b. L’appel
Module En algorithmique En Python
Fonction Objet Nom_fonction (pe1 , …, pen) Objet = Nom_module (pe1 , …, pen)
Procédure Nom_procédure (pe1 , … , pen) Nom_module (pe1 , … , pen)
c. Le mode de passage
En algorithmique En Python
Si le mode de passage est par référence (par
adresse), on ajoutera le symbole @ avant le nom
du paramètre.
Procédure Nom_procédure (@pf1 : type1 , @pf2 :
type2 , … , pfn : typen)
DEBUT
Traitement
FIN
Nom_module (pf1 , pf2 , … , pfn) :
Traitement
N.B. : En python, les paramètres
de type dictionnaire, tableau et
fichier sont, par défaut passés par
référence.
d. La portée des variables en python :
• Toute variable déclarée au sein d’un module a une portée locale.
• Toute variable déclarée au sein d’un module précédée par le mot clé global a
une portée globale. Par conséquent, elle ne devra pas figurer parmi les
paramètres de ce module.
Implémentation en python des conventions algorithmiques–2022/2023 Page 9 sur 12
Exemple d’un programme en python présentant une solution modulaire
2ème façon d’implémentation du module saisieTaille en utilisant une variable globale nommée
Taille
Implémentation en python des conventions algorithmiques–2022/2023 Page 10 sur 12
8. Les opérateurs arithmétiques et logiques
a. Opérateurs arithmétiques
Opération En algorithmique En Python
Somme + +
Soustraction - -
Multiplication * *
Division / /
Division entière Div //
Reste de la division entière Mod %
b. Opérateurs de comparaison
Opération En algorithmique En Python
Egal = ==
Différent ≠ !=
Strictement supérieur > >
Supérieur ou égal ≥ >=
Strictement inférieur < <
Inférieur ou égal ≤ <=
Appartient (entier, caractère)  in
c. Opérateurs logiques
Opération En algorithmique En Python
Négation Non not
Conjonction Et and
Disjonction Ou or
9. Les fonctions prédéfinies
a. Les fonctions sur le type numérique
En algorithmique En Python Observation
Arrondi (x) round (x)
RacineCarré(x) sqrt (x)
Nécessite l’importation de la
bibliothèque math.
Aléa (vi, vf) randint(vi, vf)
Nécessite l’importation de la
bibliothèque random.
Ent(x) int (x)
Abs (x) abs (x)
Implémentation en python des conventions algorithmiques–2022/2023 Page 11 sur 12
b. Les fonctions sur le type caractère
En algorithmique En Python
Ord (c) ord (c)
Chr (d) chr (d)
c. Les fonctions sur le type chaîne de caractères
En algorithmique En Python
Long(ch) len(ch)
Pos(ch1, ch2) ch2.find (ch1)
Convch(x) str (x)
Estnum(ch) ch.isdecimal()
Valeur (ch) int (ch) | float (ch)
Sous_chaine(ch, d, f) ch[d:f]
Effacer (ch, d, f) ch = ch[ : d ]+ch[ f :]
Majus(ch) ch.upper()
Remarque : Pour concaténer deux chaînes de caractères, on utilise l’opérateur « + ».
10. Les fonctions et les procédures prédéfinies sur les fichiers
a. Les fichiers de données
En algorithmique En Python
Ouvrir("CheminNom_physique",
Nom_logique , "Mode")
Avec mode d’ouverture égal à :
o "rb" : Lecture (pointer au
début)
o "wb" : Ecriture (création)
o "ab" : Ajout à la fin du fichier
Nom_logique=open
(‘CheminNom_physique’ , ‘Mode’)
Lire (Nom_logique , Objet)
from pickle import load, dump
Objet = load (Nom_logique)
Ecrire (Nom_logique , Objet)
from pickle import load, dump
dump (Objet , Nom_logique)
Fin_fichier (Nom_logique)
Fin_fichier = False
while not (Fin_fichier) :
try :
x = load (Nom_logique)
except :
Fin_fichier = True
Fermer (Nom_logique) Nom_logique.close ()
b. Les fichiers textes
Implémentation en python des conventions algorithmiques–2022/2023 Page 12 sur 12
En algorithmique En Python
Ouvrir ("CheminNom_physique" ,
Nom_logique , "Mode")
Avec mode d’ouverture égal à :
o "r" : Lecture
o "w" : Ecriture (création)
o "a" : Ajout à la fin du fichier
Nom_logique = open
(‘CheminNom_physique’ , ‘Mode’)
Lire (Nom_logique , ch) ch = Nom_logique.read()
Lire_ligne (Nom_logique , ch) ch = Nom_logique.readline()
Ecrire(Nom_logique , ch) Nom_logique.write(ch)
Ecrire_nl (Nom_logique , ch) Nom_logique.write(ch + "n")
Fin_fichier (Nom_logique)
ch= Nom_logique.readline()
While ch != "" :
Traitement
ch = Nom_logique.readline()
N.B. : La fin d’un fichier texte est la chaine
vide
Fermer (Nom_logique) Nom_logique.close ()
Remarque : Lors de la résolution d’un problème, il est fortement interdit d’utiliser
autres fonctions ne figurant pas dans la liste des fonctions énumérées dans le présent
document. Toutefois, les énoncés des épreuves pratiques du baccalauréat des matières
« Informatique » et « Algorithmique et programmation », pourraient intégrer une
nouvelle fonction. Dans ce cas, le rôle et la syntaxe de cette fonction seront détaillés
dans l’énoncé de l’épreuve.
Publicité

Contenu connexe

Tendances (20)

Projet de programmation la conversion entre les bases
Projet de programmation   la conversion entre les bases Projet de programmation   la conversion entre les bases
Projet de programmation la conversion entre les bases
Tunisie collège
 
Algorithmique programmation2018
Algorithmique programmation2018Algorithmique programmation2018
Algorithmique programmation2018
salah fenni
 
Python.pptx
Python.pptxPython.pptx
Python.pptx
Jaouad Rachek
 
récursivité algorithmique et complexité algorithmique et Les algorithmes de tri
récursivité algorithmique et complexité algorithmique et Les algorithmes de trirécursivité algorithmique et complexité algorithmique et Les algorithmes de tri
récursivité algorithmique et complexité algorithmique et Les algorithmes de tri
Yassine Anddam
 
Serie recurrents & arithmetiques
Serie recurrents & arithmetiquesSerie recurrents & arithmetiques
Serie recurrents & arithmetiques
mohamed_SAYARI
 
Les algorithmes d'arithmetique
Les algorithmes d'arithmetiqueLes algorithmes d'arithmetique
Les algorithmes d'arithmetique
mohamed_SAYARI
 
Introduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El HassaniIntroduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El Hassani
Shellmates
 
Les algorithmes recurrents
Les algorithmes recurrentsLes algorithmes recurrents
Les algorithmes recurrents
mohamed_SAYARI
 
Cours algo: Les pointeurs
Cours algo: Les pointeursCours algo: Les pointeurs
Cours algo: Les pointeurs
Sana REFAI
 
Exercice java vehicule
Exercice java vehiculeExercice java vehicule
Exercice java vehicule
NadaBenLatifa
 
Chapitre iv algorithmes de tri
Chapitre iv algorithmes de triChapitre iv algorithmes de tri
Chapitre iv algorithmes de tri
Sana Aroussi
 
Résumé Algorithme et Programmation
Résumé Algorithme et ProgrammationRésumé Algorithme et Programmation
Résumé Algorithme et Programmation
borhen boukthir
 
Corrige exercices pascal_fenni_2018
Corrige exercices pascal_fenni_2018Corrige exercices pascal_fenni_2018
Corrige exercices pascal_fenni_2018
salah fenni
 
Cours : les listes chainées Prof. KHALIFA MANSOURI
Cours : les listes chainées  Prof. KHALIFA MANSOURI Cours : les listes chainées  Prof. KHALIFA MANSOURI
Cours : les listes chainées Prof. KHALIFA MANSOURI
Mansouri Khalifa
 
01 correction-td smia-s2-info2
01 correction-td smia-s2-info201 correction-td smia-s2-info2
01 correction-td smia-s2-info2
L’Université Hassan 1er Settat
 
Cours complet Base de donne Bac
Cours complet Base de donne Bac Cours complet Base de donne Bac
Cours complet Base de donne Bac
Amri Ossama
 
Mes devoirs 4 si
Mes devoirs 4 siMes devoirs 4 si
Mes devoirs 4 si
mohamed_SAYARI
 
Projet de programmation la conversion entre les bases
Projet de programmation   la conversion entre les bases Projet de programmation   la conversion entre les bases
Projet de programmation la conversion entre les bases
Tunisie collège
 
Algorithmique programmation2018
Algorithmique programmation2018Algorithmique programmation2018
Algorithmique programmation2018
salah fenni
 
récursivité algorithmique et complexité algorithmique et Les algorithmes de tri
récursivité algorithmique et complexité algorithmique et Les algorithmes de trirécursivité algorithmique et complexité algorithmique et Les algorithmes de tri
récursivité algorithmique et complexité algorithmique et Les algorithmes de tri
Yassine Anddam
 
Serie recurrents & arithmetiques
Serie recurrents & arithmetiquesSerie recurrents & arithmetiques
Serie recurrents & arithmetiques
mohamed_SAYARI
 
Les algorithmes d'arithmetique
Les algorithmes d'arithmetiqueLes algorithmes d'arithmetique
Les algorithmes d'arithmetique
mohamed_SAYARI
 
Introduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El HassaniIntroduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El Hassani
Shellmates
 
Les algorithmes recurrents
Les algorithmes recurrentsLes algorithmes recurrents
Les algorithmes recurrents
mohamed_SAYARI
 
Cours algo: Les pointeurs
Cours algo: Les pointeursCours algo: Les pointeurs
Cours algo: Les pointeurs
Sana REFAI
 
Exercice java vehicule
Exercice java vehiculeExercice java vehicule
Exercice java vehicule
NadaBenLatifa
 
Chapitre iv algorithmes de tri
Chapitre iv algorithmes de triChapitre iv algorithmes de tri
Chapitre iv algorithmes de tri
Sana Aroussi
 
Résumé Algorithme et Programmation
Résumé Algorithme et ProgrammationRésumé Algorithme et Programmation
Résumé Algorithme et Programmation
borhen boukthir
 
Corrige exercices pascal_fenni_2018
Corrige exercices pascal_fenni_2018Corrige exercices pascal_fenni_2018
Corrige exercices pascal_fenni_2018
salah fenni
 
Cours : les listes chainées Prof. KHALIFA MANSOURI
Cours : les listes chainées  Prof. KHALIFA MANSOURI Cours : les listes chainées  Prof. KHALIFA MANSOURI
Cours : les listes chainées Prof. KHALIFA MANSOURI
Mansouri Khalifa
 
Cours complet Base de donne Bac
Cours complet Base de donne Bac Cours complet Base de donne Bac
Cours complet Base de donne Bac
Amri Ossama
 

Similaire à IMPLEMENTATION EN PYTHON DES CONVENTIONS ALGORITHMIQUES (2022-2023) (20)

Chapitre1: Langage Python
Chapitre1: Langage PythonChapitre1: Langage Python
Chapitre1: Langage Python
Aziz Darouichi
 
FormationPython2019.pptx
FormationPython2019.pptxFormationPython2019.pptx
FormationPython2019.pptx
LamissGhoul1
 
01 - Introduction à Python chaines de caractères.pdf
01 - Introduction à Python chaines de caractères.pdf01 - Introduction à Python chaines de caractères.pdf
01 - Introduction à Python chaines de caractères.pdf
MARYAM510573
 
M2 INAE introduction python.pdf
M2 INAE introduction python.pdfM2 INAE introduction python.pdf
M2 INAE introduction python.pdf
Hajer Amdouni
 
Formation en Python_Niveau1_2023.pptx
Formation en Python_Niveau1_2023.pptxFormation en Python_Niveau1_2023.pptx
Formation en Python_Niveau1_2023.pptx
betalab
 
02 Spécificité du C++ COURS SYS SYSSSSSS
02 Spécificité du C++  COURS SYS SYSSSSSS02 Spécificité du C++  COURS SYS SYSSSSSS
02 Spécificité du C++ COURS SYS SYSSSSSS
AyoubElmrabet6
 
Convention Algorithmique AS 2022-2023.pdf
Convention Algorithmique AS 2022-2023.pdfConvention Algorithmique AS 2022-2023.pdf
Convention Algorithmique AS 2022-2023.pdf
LamissGhoul1
 
COURS_PYTHON_22.ppt
COURS_PYTHON_22.pptCOURS_PYTHON_22.ppt
COURS_PYTHON_22.ppt
IbtissameAbbad1
 
Algorithmique et progrfgfgfgfgfgfgffggfammation PYTHON.pptx
Algorithmique et progrfgfgfgfgfgfgffggfammation PYTHON.pptxAlgorithmique et progrfgfgfgfgfgfgffggfammation PYTHON.pptx
Algorithmique et progrfgfgfgfgfgfgffggfammation PYTHON.pptx
ssuser80a7e81
 
4SI-Algo-2025 manuel et resumé de programmation
4SI-Algo-2025 manuel et resumé de programmation4SI-Algo-2025 manuel et resumé de programmation
4SI-Algo-2025 manuel et resumé de programmation
jokertunis2022
 
Découvrez C# 4.0 et les améliorations apportées à la BCL
Découvrez C# 4.0 et les améliorations apportées à la BCLDécouvrez C# 4.0 et les améliorations apportées à la BCL
Découvrez C# 4.0 et les améliorations apportées à la BCL
DotNetHub
 
Les structures de données.pptx
Les structures de données.pptxLes structures de données.pptx
Les structures de données.pptx
PROFPROF11
 
Les nouveautés de C++11 : Ecrire du C++ Moderne
Les nouveautés de C++11 : Ecrire du C++ ModerneLes nouveautés de C++11 : Ecrire du C++ Moderne
Les nouveautés de C++11 : Ecrire du C++ Moderne
Microsoft
 
Introduction à la programmattion en langage C.pptx
Introduction à la programmattion en langage C.pptxIntroduction à la programmattion en langage C.pptx
Introduction à la programmattion en langage C.pptx
ssuserf313bf
 
langage de progra python pythonnnnn.pptx
langage de progra python pythonnnnn.pptxlangage de progra python pythonnnnn.pptx
langage de progra python pythonnnnn.pptx
ovitchmoi
 
Introduction à la Programmation Structurée en Langage C.pdf
Introduction à la Programmation Structurée en Langage C.pdfIntroduction à la Programmation Structurée en Langage C.pdf
Introduction à la Programmation Structurée en Langage C.pdf
Pointer @Info
 
phyton introduction initiative programmation
phyton introduction initiative programmationphyton introduction initiative programmation
phyton introduction initiative programmation
FchtlMounim
 
Bases_Python_1Bases_Python_1Bases_Python_1.pdf
Bases_Python_1Bases_Python_1Bases_Python_1.pdfBases_Python_1Bases_Python_1Bases_Python_1.pdf
Bases_Python_1Bases_Python_1Bases_Python_1.pdf
Oussama Haj Salem
 
cours détaillé python premier annee OFPPT.pptx
cours détaillé python  premier annee OFPPT.pptxcours détaillé python  premier annee OFPPT.pptx
cours détaillé python premier annee OFPPT.pptx
MedUsfi
 
cours détaillé python premier annee OFPPT.pptx
cours détaillé python  premier annee OFPPT.pptxcours détaillé python  premier annee OFPPT.pptx
cours détaillé python premier annee OFPPT.pptx
MedUsfi
 
Chapitre1: Langage Python
Chapitre1: Langage PythonChapitre1: Langage Python
Chapitre1: Langage Python
Aziz Darouichi
 
FormationPython2019.pptx
FormationPython2019.pptxFormationPython2019.pptx
FormationPython2019.pptx
LamissGhoul1
 
01 - Introduction à Python chaines de caractères.pdf
01 - Introduction à Python chaines de caractères.pdf01 - Introduction à Python chaines de caractères.pdf
01 - Introduction à Python chaines de caractères.pdf
MARYAM510573
 
M2 INAE introduction python.pdf
M2 INAE introduction python.pdfM2 INAE introduction python.pdf
M2 INAE introduction python.pdf
Hajer Amdouni
 
Formation en Python_Niveau1_2023.pptx
Formation en Python_Niveau1_2023.pptxFormation en Python_Niveau1_2023.pptx
Formation en Python_Niveau1_2023.pptx
betalab
 
02 Spécificité du C++ COURS SYS SYSSSSSS
02 Spécificité du C++  COURS SYS SYSSSSSS02 Spécificité du C++  COURS SYS SYSSSSSS
02 Spécificité du C++ COURS SYS SYSSSSSS
AyoubElmrabet6
 
Convention Algorithmique AS 2022-2023.pdf
Convention Algorithmique AS 2022-2023.pdfConvention Algorithmique AS 2022-2023.pdf
Convention Algorithmique AS 2022-2023.pdf
LamissGhoul1
 
Algorithmique et progrfgfgfgfgfgfgffggfammation PYTHON.pptx
Algorithmique et progrfgfgfgfgfgfgffggfammation PYTHON.pptxAlgorithmique et progrfgfgfgfgfgfgffggfammation PYTHON.pptx
Algorithmique et progrfgfgfgfgfgfgffggfammation PYTHON.pptx
ssuser80a7e81
 
4SI-Algo-2025 manuel et resumé de programmation
4SI-Algo-2025 manuel et resumé de programmation4SI-Algo-2025 manuel et resumé de programmation
4SI-Algo-2025 manuel et resumé de programmation
jokertunis2022
 
Découvrez C# 4.0 et les améliorations apportées à la BCL
Découvrez C# 4.0 et les améliorations apportées à la BCLDécouvrez C# 4.0 et les améliorations apportées à la BCL
Découvrez C# 4.0 et les améliorations apportées à la BCL
DotNetHub
 
Les structures de données.pptx
Les structures de données.pptxLes structures de données.pptx
Les structures de données.pptx
PROFPROF11
 
Les nouveautés de C++11 : Ecrire du C++ Moderne
Les nouveautés de C++11 : Ecrire du C++ ModerneLes nouveautés de C++11 : Ecrire du C++ Moderne
Les nouveautés de C++11 : Ecrire du C++ Moderne
Microsoft
 
Introduction à la programmattion en langage C.pptx
Introduction à la programmattion en langage C.pptxIntroduction à la programmattion en langage C.pptx
Introduction à la programmattion en langage C.pptx
ssuserf313bf
 
langage de progra python pythonnnnn.pptx
langage de progra python pythonnnnn.pptxlangage de progra python pythonnnnn.pptx
langage de progra python pythonnnnn.pptx
ovitchmoi
 
Introduction à la Programmation Structurée en Langage C.pdf
Introduction à la Programmation Structurée en Langage C.pdfIntroduction à la Programmation Structurée en Langage C.pdf
Introduction à la Programmation Structurée en Langage C.pdf
Pointer @Info
 
phyton introduction initiative programmation
phyton introduction initiative programmationphyton introduction initiative programmation
phyton introduction initiative programmation
FchtlMounim
 
Bases_Python_1Bases_Python_1Bases_Python_1.pdf
Bases_Python_1Bases_Python_1Bases_Python_1.pdfBases_Python_1Bases_Python_1Bases_Python_1.pdf
Bases_Python_1Bases_Python_1Bases_Python_1.pdf
Oussama Haj Salem
 
cours détaillé python premier annee OFPPT.pptx
cours détaillé python  premier annee OFPPT.pptxcours détaillé python  premier annee OFPPT.pptx
cours détaillé python premier annee OFPPT.pptx
MedUsfi
 
cours détaillé python premier annee OFPPT.pptx
cours détaillé python  premier annee OFPPT.pptxcours détaillé python  premier annee OFPPT.pptx
cours détaillé python premier annee OFPPT.pptx
MedUsfi
 
Publicité

Plus de Tunisie collège (20)

ملخص مخرجات لجان اصلاح المنظومة التربوية في تونس
ملخص مخرجات لجان اصلاح المنظومة التربوية في تونسملخص مخرجات لجان اصلاح المنظومة التربوية في تونس
ملخص مخرجات لجان اصلاح المنظومة التربوية في تونس
Tunisie collège
 
Meubles Barnas
Meubles BarnasMeubles Barnas
Meubles Barnas
Tunisie collège
 
Cours informatique internet - 7ème (2011-2012)
Cours   informatique internet - 7ème (2011-2012)  Cours   informatique internet - 7ème (2011-2012)
Cours informatique internet - 7ème (2011-2012)
Tunisie collège
 
مشروع تدريب على المقال الادبي الرابعة آداب - الأستاذ يحيى الزاهد
مشروع تدريب على المقال الادبي   الرابعة آداب  - الأستاذ يحيى الزاهدمشروع تدريب على المقال الادبي   الرابعة آداب  - الأستاذ يحيى الزاهد
مشروع تدريب على المقال الادبي الرابعة آداب - الأستاذ يحيى الزاهد
Tunisie collège
 
مشروع تدريب على المقال الادبي الرابعة آداب - الأستاذ يحيى الزاهد
مشروع تدريب على المقال الادبي   الرابعة آداب  - الأستاذ يحيى الزاهدمشروع تدريب على المقال الادبي   الرابعة آداب  - الأستاذ يحيى الزاهد
مشروع تدريب على المقال الادبي الرابعة آداب - الأستاذ يحيى الزاهد
Tunisie collège
 
Cours informatique ordinateur et système d'exploitation
Cours informatique ordinateur et système d'exploitationCours informatique ordinateur et système d'exploitation
Cours informatique ordinateur et système d'exploitation
Tunisie collège
 
Cours informatique supports de stockage
Cours  informatique supports de stockage Cours  informatique supports de stockage
Cours informatique supports de stockage
Tunisie collège
 
Cours photo filtre - collège pilote - Tunisie
Cours photo filtre - collège pilote - TunisieCours photo filtre - collège pilote - Tunisie
Cours photo filtre - collège pilote - Tunisie
Tunisie collège
 
Cours photo filtre - collège pilote Tunisie
Cours photo filtre  - collège pilote TunisieCours photo filtre  - collège pilote Tunisie
Cours photo filtre - collège pilote Tunisie
Tunisie collège
 
Cours informatique éléments de présentation - 8ème
Cours  informatique éléments de présentation - 8èmeCours  informatique éléments de présentation - 8ème
Cours informatique éléments de présentation - 8ème
Tunisie collège
 
درس التكاثر عند النبات الزهري علوم الحياة و الأرض - الثامنة أساسي الآنسة...
درس التكاثر عند النبات الزهري   علوم  الحياة و الأرض - الثامنة أساسي   الآنسة...درس التكاثر عند النبات الزهري   علوم  الحياة و الأرض - الثامنة أساسي   الآنسة...
درس التكاثر عند النبات الزهري علوم الحياة و الأرض - الثامنة أساسي الآنسة...
Tunisie collège
 
Cours français : description - 8ème (2010-2011) elève sarra
Cours français : description - 8ème (2010-2011)  elève sarraCours français : description - 8ème (2010-2011)  elève sarra
Cours français : description - 8ème (2010-2011) elève sarra
Tunisie collège
 
درس في علوم الحياة و الأرض التــــ9ـــاسعة أساسي - دراسة إحساس شعوري الإبص...
درس في علوم الحياة و الأرض   التــــ9ـــاسعة أساسي -  دراسة إحساس شعوري الإبص...درس في علوم الحياة و الأرض   التــــ9ـــاسعة أساسي -  دراسة إحساس شعوري الإبص...
درس في علوم الحياة و الأرض التــــ9ـــاسعة أساسي - دراسة إحساس شعوري الإبص...
Tunisie collège
 
Cours informatique chapitre 1 ordinateur et système d'exploitation 7ème
Cours informatique chapitre 1 ordinateur et système d'exploitation   7ème Cours informatique chapitre 1 ordinateur et système d'exploitation   7ème
Cours informatique chapitre 1 ordinateur et système d'exploitation 7ème
Tunisie collège
 
Cours informatique chapitre 1 ordinateur et système d'exploitation 7ème
Cours informatique chapitre 1 ordinateur et système d'exploitation   7ème Cours informatique chapitre 1 ordinateur et système d'exploitation   7ème
Cours informatique chapitre 1 ordinateur et système d'exploitation 7ème
Tunisie collège
 
Cours : Traitement d'images - 7ème de base
Cours : Traitement d'images  - 7ème de baseCours : Traitement d'images  - 7ème de base
Cours : Traitement d'images - 7ème de base
Tunisie collège
 
Cours : Internet - 7ème année de base
Cours : Internet - 7ème  année de baseCours : Internet - 7ème  année de base
Cours : Internet - 7ème année de base
Tunisie collège
 
Origines des Fruits et légumes
Origines des Fruits et légumesOrigines des Fruits et légumes
Origines des Fruits et légumes
Tunisie collège
 
Nos ancetres les carthaginois
Nos ancetres les carthaginoisNos ancetres les carthaginois
Nos ancetres les carthaginois
Tunisie collège
 
L'histoire de fruits et de légumes
L'histoire de fruits et de légumesL'histoire de fruits et de légumes
L'histoire de fruits et de légumes
Tunisie collège
 
ملخص مخرجات لجان اصلاح المنظومة التربوية في تونس
ملخص مخرجات لجان اصلاح المنظومة التربوية في تونسملخص مخرجات لجان اصلاح المنظومة التربوية في تونس
ملخص مخرجات لجان اصلاح المنظومة التربوية في تونس
Tunisie collège
 
Cours informatique internet - 7ème (2011-2012)
Cours   informatique internet - 7ème (2011-2012)  Cours   informatique internet - 7ème (2011-2012)
Cours informatique internet - 7ème (2011-2012)
Tunisie collège
 
مشروع تدريب على المقال الادبي الرابعة آداب - الأستاذ يحيى الزاهد
مشروع تدريب على المقال الادبي   الرابعة آداب  - الأستاذ يحيى الزاهدمشروع تدريب على المقال الادبي   الرابعة آداب  - الأستاذ يحيى الزاهد
مشروع تدريب على المقال الادبي الرابعة آداب - الأستاذ يحيى الزاهد
Tunisie collège
 
مشروع تدريب على المقال الادبي الرابعة آداب - الأستاذ يحيى الزاهد
مشروع تدريب على المقال الادبي   الرابعة آداب  - الأستاذ يحيى الزاهدمشروع تدريب على المقال الادبي   الرابعة آداب  - الأستاذ يحيى الزاهد
مشروع تدريب على المقال الادبي الرابعة آداب - الأستاذ يحيى الزاهد
Tunisie collège
 
Cours informatique ordinateur et système d'exploitation
Cours informatique ordinateur et système d'exploitationCours informatique ordinateur et système d'exploitation
Cours informatique ordinateur et système d'exploitation
Tunisie collège
 
Cours informatique supports de stockage
Cours  informatique supports de stockage Cours  informatique supports de stockage
Cours informatique supports de stockage
Tunisie collège
 
Cours photo filtre - collège pilote - Tunisie
Cours photo filtre - collège pilote - TunisieCours photo filtre - collège pilote - Tunisie
Cours photo filtre - collège pilote - Tunisie
Tunisie collège
 
Cours photo filtre - collège pilote Tunisie
Cours photo filtre  - collège pilote TunisieCours photo filtre  - collège pilote Tunisie
Cours photo filtre - collège pilote Tunisie
Tunisie collège
 
Cours informatique éléments de présentation - 8ème
Cours  informatique éléments de présentation - 8èmeCours  informatique éléments de présentation - 8ème
Cours informatique éléments de présentation - 8ème
Tunisie collège
 
درس التكاثر عند النبات الزهري علوم الحياة و الأرض - الثامنة أساسي الآنسة...
درس التكاثر عند النبات الزهري   علوم  الحياة و الأرض - الثامنة أساسي   الآنسة...درس التكاثر عند النبات الزهري   علوم  الحياة و الأرض - الثامنة أساسي   الآنسة...
درس التكاثر عند النبات الزهري علوم الحياة و الأرض - الثامنة أساسي الآنسة...
Tunisie collège
 
Cours français : description - 8ème (2010-2011) elève sarra
Cours français : description - 8ème (2010-2011)  elève sarraCours français : description - 8ème (2010-2011)  elève sarra
Cours français : description - 8ème (2010-2011) elève sarra
Tunisie collège
 
درس في علوم الحياة و الأرض التــــ9ـــاسعة أساسي - دراسة إحساس شعوري الإبص...
درس في علوم الحياة و الأرض   التــــ9ـــاسعة أساسي -  دراسة إحساس شعوري الإبص...درس في علوم الحياة و الأرض   التــــ9ـــاسعة أساسي -  دراسة إحساس شعوري الإبص...
درس في علوم الحياة و الأرض التــــ9ـــاسعة أساسي - دراسة إحساس شعوري الإبص...
Tunisie collège
 
Cours informatique chapitre 1 ordinateur et système d'exploitation 7ème
Cours informatique chapitre 1 ordinateur et système d'exploitation   7ème Cours informatique chapitre 1 ordinateur et système d'exploitation   7ème
Cours informatique chapitre 1 ordinateur et système d'exploitation 7ème
Tunisie collège
 
Cours informatique chapitre 1 ordinateur et système d'exploitation 7ème
Cours informatique chapitre 1 ordinateur et système d'exploitation   7ème Cours informatique chapitre 1 ordinateur et système d'exploitation   7ème
Cours informatique chapitre 1 ordinateur et système d'exploitation 7ème
Tunisie collège
 
Cours : Traitement d'images - 7ème de base
Cours : Traitement d'images  - 7ème de baseCours : Traitement d'images  - 7ème de base
Cours : Traitement d'images - 7ème de base
Tunisie collège
 
Cours : Internet - 7ème année de base
Cours : Internet - 7ème  année de baseCours : Internet - 7ème  année de base
Cours : Internet - 7ème année de base
Tunisie collège
 
Origines des Fruits et légumes
Origines des Fruits et légumesOrigines des Fruits et légumes
Origines des Fruits et légumes
Tunisie collège
 
Nos ancetres les carthaginois
Nos ancetres les carthaginoisNos ancetres les carthaginois
Nos ancetres les carthaginois
Tunisie collège
 
L'histoire de fruits et de légumes
L'histoire de fruits et de légumesL'histoire de fruits et de légumes
L'histoire de fruits et de légumes
Tunisie collège
 
Publicité

Dernier (6)

Chercheurs de sens. — 002. Préhistoire et antiquité jusqu’à J.-C.
Chercheurs de sens. — 002. Préhistoire et antiquité jusqu’à J.-C.Chercheurs de sens. — 002. Préhistoire et antiquité jusqu’à J.-C.
Chercheurs de sens. — 002. Préhistoire et antiquité jusqu’à J.-C.
Institut de recherche sur la Résolution Non-violente des Conflits
 
Penseurs et acteurs de l’écologie et de l’altercroissance. — 07. Depuis 1980
Penseurs et acteurs de l’écologie et de l’altercroissance. — 07. Depuis 1980Penseurs et acteurs de l’écologie et de l’altercroissance. — 07. Depuis 1980
Penseurs et acteurs de l’écologie et de l’altercroissance. — 07. Depuis 1980
Institut de recherche sur la Résolution Non-violente des Conflits
 
Les arbres et nous. — 03. Forêts, politique et climat
Les arbres et nous. — 03. Forêts, politique et climatLes arbres et nous. — 03. Forêts, politique et climat
Les arbres et nous. — 03. Forêts, politique et climat
Institut de recherche sur la Résolution Non-violente des Conflits
 
Programme du Pays d'Art et d'Histoire Aure Louron pour le mois de mai 2025
Programme du Pays d'Art et d'Histoire Aure Louron pour le mois de mai 2025Programme du Pays d'Art et d'Histoire Aure Louron pour le mois de mai 2025
Programme du Pays d'Art et d'Histoire Aure Louron pour le mois de mai 2025
pvillette
 
Baromètre de la solidarité - Ipsos pour Apprentis d'Auteuil
Baromètre de la solidarité - Ipsos pour Apprentis d'AuteuilBaromètre de la solidarité - Ipsos pour Apprentis d'Auteuil
Baromètre de la solidarité - Ipsos pour Apprentis d'Auteuil
Ipsos France
 
Les arbres et nous. — 08. Documentation sur les arbres
Les arbres et nous. — 08. Documentation sur les arbresLes arbres et nous. — 08. Documentation sur les arbres
Les arbres et nous. — 08. Documentation sur les arbres
Institut de recherche sur la Résolution Non-violente des Conflits
 

IMPLEMENTATION EN PYTHON DES CONVENTIONS ALGORITHMIQUES (2022-2023)

  • 1. Ministère de l’Éducation Direction Générale des Programmes et de la Formation Continue ❖◆❖ Année scolaire 2022/2023 IMPLEMENTATION EN PYTHON DES CONVENTIONS ALGORITHMIQUES
  • 2. Implémentation en python des conventions algorithmiques–2022/2023 Page 2 sur 12 Le langage de programmation choisi pour implémenter les solutions algorithmiques est le langage de programmation Python. A. Introduction générale ▪ Python est un langage de programmation sensible à la casse. ▪ Dans un code Python, il est recommandé d’ajouter des commentaires. o Commentaire sur une seule ligne : débuter la ligne par le symbole #. o Commentaire sur plusieurs lignes : délimiter les lignes du commentaire par ’’’. B. Les syntaxes des structures algorithmiques 1. Les opérations élémentaires simples a. L’opération d’entrée En algorithmique En python Lire (Objet) Objet = input() Objet = input(‘message’) N.B. : Par défaut, la valeur saisie est de type chaîne de caractères. b. L’opération de sortie En algorithmique En python Écrire ("Message", Objet, Expression) Écrire_nl ("Message", Objet, Expression) print ("Message", Objet, Expression) print ("Message", Objet, Expression, "n") Remarques : - Objet est de type variable simple (entier, réel, booléen, caractère et chaîne de caractères). - "n" permet d’ajouter un retour à la ligne. - L’affichage d’un tableau T en python, doit se faire élément par élément et non pas avec l’instruction print(T). c. L’opération d’affectation En algorithmique En python Objet  Expression Objet = Expression Remarque : Objet est une variable de type simple (entier, réel, booléen, caractère et chaîne de caractères).
  • 3. Implémentation en python des conventions algorithmiques–2022/2023 Page 3 sur 12 2. Les types de données simples En algorithmique En python Entier int Réel float Booléen bool Caractère str Chaîne de caractères str Exemples de conversions entre les types simples en python Conversion Syntaxe Exemple De str vers int int(ch) x = int("3") signifie que x reçoit l’entier 3 De str vers float float(ch) x = float("3.2") signifie que x reçoit le réel 3.2 De str vers bool bool(ch) x = bool("0") signifie que x reçoit True De int vers str str(int) x = str(3) signifie que x reçoit le caractère "3" x = str(123) signifie que x reçoit la chaîne "123" 3. Les structures de données En algorithmique En python Tableau (à une et à deux dimensions) Ces types seront présentés ci-après (voir 4.b) , 4.c) et 4.d). Enregistrement Fichier 4. Les déclarations a. Les objets de type de donnée simple En algorithmique En Python Une variable n’a pas besoin d’être déclarée avec un type particulier : c’est au moment où on lui attribue une valeur qu’elle sera créée. Ainsi, son type sera défini en fonction du type de la valeur qui lui a été attribuée. L’identificateur d’une variable est sensible à la casse. Objet Type / Nature Nom_objet Type_objet
  • 4. Implémentation en python des conventions algorithmiques–2022/2023 Page 4 sur 12 b. Les tableaux En algorithmique En Python • On utilisera la bibliothèque numpy pour implémenter les tableaux. • Un tableau de la bibliothèque numpy est : o homogène, c’est-à-dire constitué d’éléments de même type, o statique, car sa taille est fixée lors de la création. • La déclaration d’un tableau se fait en deux étapes : o Importation des modules nécessaires de la bibliothèque numpy Importation from numpy import array ou from numpy import * ou import numpy as alias o Déclaration du tableau Déclaration Tableau à une dimension T = array ([Type_élément] * N) ou bien T = array ([valeur_initiale] * N) Tableau à deux dimensions T = array ([Type_élément]*Colonnes]* Lignes) ou bien T = array ([valeur_initiale]*Colonnes]* Lignes) Remarque : On peut spécifier le type des éléments d’un tableau avec la syntaxe : Nom_tableau = array ([Valeur_initiale] * N, dtype=Type_élément) Objet Type / Nature Tableau à une dimension Nom_tableau Tableau de N Type _élément Tableau à deux dimensions Nom_tableau Tableau de N lignes * M colonnes Type_élément
  • 5. Implémentation en python des conventions algorithmiques–2022/2023 Page 5 sur 12 Exemples de déclarations de tableaux en Python Déclaration Explication T = array ([5] * 10) Déclarer un tableau T de 10 entiers et initialiser ses éléments par « 5 ». T = array ([float ()] * 10) Déclarer un tableau T de 10 réels et initialiser ses éléments par «0.0 ». T = array ([str] * 10) Déclarer un tableau T de 10 chaînes de caractères. T = array ([str()] * 10) Déclarer un tableau T de 10 caractères et initialiser ses éléments par le caractère vide. T = array ([‘’] * 10 , dtype = ’U20’) Déclarer un tableau T de 10 éléments initialisés par une chaîne vide. Chaque élément peut contenir 20 caractères au maximum. T = array ([[int ( )] * 10]*30) Déclarer un tableau T de 30 lignes x 10 colonnes d’entiers. c. L’enregistrement En algorithmique En Python Nom_enregistrement = dict ( Nom_champ1 = Type_champ1, Nom_champ2 = Type_champ2, ... ) Remarque : Pour accéder à un champ d’un enregistrement on utilise la syntaxe suivante : Nom_Enregistrement [ ‘Nom_Champ’ ]. Objet Type / Nature Nom_enregistrement Enregistrement Nom_champ1 : Type_champ1 Nom_champ2 : Type_champ2 ... Fin
  • 6. Implémentation en python des conventions algorithmiques–2022/2023 Page 6 sur 12 d. Les fichiers En algorithmique En Python La déclaration d’un objet de type fichier se fait lors de sa création à l'aide de la fonction open() détaillée ci-après (voir 10.a) et 10.b) ). 5. Les structures de contrôle conditionnelles En algorithmique En python Si Condition Alors Traitement FinSi if Condition : Traitement Si Condition Alors Traitement1 Sinon Traitement2 FinSi if Condition : Traitement1 else : Traitement2 Si Condition1 Alors Traitement1 Sinon Si Condition2 Alors Traitement2 ……… [Sinon TraitementN] FinSi if Condition1 : Traitement1 elif Condition2 : Traitement2 ……… else : TraitementN Selon <Sélecteur> Valeur1_1[, Valeur1_2, …] : Traitement1 Valeur2_1 . . Valeur2_2 : Traitement2 ……… [Sinon TraitementN] Fin Selon A partir de la version 3.10 match Sélecteur : case Valeur1 : Traitement1 case Valeur2_1 | Valeur2_2 : Traitement2 case Sélecteur if V3_1 <=Sélecteur<= V3_2 : Traitement3 case _ : TraitementN N.B. : Le sélecteur doit être de type scalaire. Objet Type / Nature Fichier texte Nom_ fichier Fichier Texte Fichier de données Nom_ fichier Fichier de Type _élément
  • 7. Implémentation en python des conventions algorithmiques–2022/2023 Page 7 sur 12 6. Les structures de contrôle itératives a. La structure de contrôle itérative complète En algorithmique Pour compteur de Début à Fin [Pas = valeur_pas] Faire Traitement Fin Pour En Python for compteur in range (Début, Fin+1, Pas) : Traitement N.B. : La valeur finale du compteur est exclue de la boucle. Remarques : - La valeur du pas peut être positive ou négative. Par défaut, elle est égale à 1. - Ne pas utiliser l’instruction break pour forcer l’arrêt de la boucle for. b. Les structures de contrôle itératives à condition d'arrêt En algorithmique En Python Tant que Condition Faire Traitement Fin Tant que while Condition : Traitement Répéter Traitement Jusqu'à Condition d’arrêt Remarque : Ne pas utiliser l’instruction break pour forcer l’arrêt de la boucle while.
  • 8. Implémentation en python des conventions algorithmiques–2022/2023 Page 8 sur 12 7. Les modules a. La déclaration En algorithmique En Python Fonction Nom_fonction (pf1 : type1 , pf2 : type2 , … , pfn : typen) : Type_résultat DEBUT Traitement Retourner résultat FIN Un module (fonction ou procédure) se définit en utilisant le mot clé def selon la syntaxe suivante : def Nom_module (pf1 , pf2 , … , pfn) : Traitement [return résultat] N.B. : Dans un module, l’instruction "return" peut être utilisée, et ce, pour retourner un seul résultat de type simple. Procédure Nom_procédure (pf1 : type1 , pf2 : type2 , … , pfn : typen) DEBUT Traitement FIN b. L’appel Module En algorithmique En Python Fonction Objet Nom_fonction (pe1 , …, pen) Objet = Nom_module (pe1 , …, pen) Procédure Nom_procédure (pe1 , … , pen) Nom_module (pe1 , … , pen) c. Le mode de passage En algorithmique En Python Si le mode de passage est par référence (par adresse), on ajoutera le symbole @ avant le nom du paramètre. Procédure Nom_procédure (@pf1 : type1 , @pf2 : type2 , … , pfn : typen) DEBUT Traitement FIN Nom_module (pf1 , pf2 , … , pfn) : Traitement N.B. : En python, les paramètres de type dictionnaire, tableau et fichier sont, par défaut passés par référence. d. La portée des variables en python : • Toute variable déclarée au sein d’un module a une portée locale. • Toute variable déclarée au sein d’un module précédée par le mot clé global a une portée globale. Par conséquent, elle ne devra pas figurer parmi les paramètres de ce module.
  • 9. Implémentation en python des conventions algorithmiques–2022/2023 Page 9 sur 12 Exemple d’un programme en python présentant une solution modulaire 2ème façon d’implémentation du module saisieTaille en utilisant une variable globale nommée Taille
  • 10. Implémentation en python des conventions algorithmiques–2022/2023 Page 10 sur 12 8. Les opérateurs arithmétiques et logiques a. Opérateurs arithmétiques Opération En algorithmique En Python Somme + + Soustraction - - Multiplication * * Division / / Division entière Div // Reste de la division entière Mod % b. Opérateurs de comparaison Opération En algorithmique En Python Egal = == Différent ≠ != Strictement supérieur > > Supérieur ou égal ≥ >= Strictement inférieur < < Inférieur ou égal ≤ <= Appartient (entier, caractère)  in c. Opérateurs logiques Opération En algorithmique En Python Négation Non not Conjonction Et and Disjonction Ou or 9. Les fonctions prédéfinies a. Les fonctions sur le type numérique En algorithmique En Python Observation Arrondi (x) round (x) RacineCarré(x) sqrt (x) Nécessite l’importation de la bibliothèque math. Aléa (vi, vf) randint(vi, vf) Nécessite l’importation de la bibliothèque random. Ent(x) int (x) Abs (x) abs (x)
  • 11. Implémentation en python des conventions algorithmiques–2022/2023 Page 11 sur 12 b. Les fonctions sur le type caractère En algorithmique En Python Ord (c) ord (c) Chr (d) chr (d) c. Les fonctions sur le type chaîne de caractères En algorithmique En Python Long(ch) len(ch) Pos(ch1, ch2) ch2.find (ch1) Convch(x) str (x) Estnum(ch) ch.isdecimal() Valeur (ch) int (ch) | float (ch) Sous_chaine(ch, d, f) ch[d:f] Effacer (ch, d, f) ch = ch[ : d ]+ch[ f :] Majus(ch) ch.upper() Remarque : Pour concaténer deux chaînes de caractères, on utilise l’opérateur « + ». 10. Les fonctions et les procédures prédéfinies sur les fichiers a. Les fichiers de données En algorithmique En Python Ouvrir("CheminNom_physique", Nom_logique , "Mode") Avec mode d’ouverture égal à : o "rb" : Lecture (pointer au début) o "wb" : Ecriture (création) o "ab" : Ajout à la fin du fichier Nom_logique=open (‘CheminNom_physique’ , ‘Mode’) Lire (Nom_logique , Objet) from pickle import load, dump Objet = load (Nom_logique) Ecrire (Nom_logique , Objet) from pickle import load, dump dump (Objet , Nom_logique) Fin_fichier (Nom_logique) Fin_fichier = False while not (Fin_fichier) : try : x = load (Nom_logique) except : Fin_fichier = True Fermer (Nom_logique) Nom_logique.close () b. Les fichiers textes
  • 12. Implémentation en python des conventions algorithmiques–2022/2023 Page 12 sur 12 En algorithmique En Python Ouvrir ("CheminNom_physique" , Nom_logique , "Mode") Avec mode d’ouverture égal à : o "r" : Lecture o "w" : Ecriture (création) o "a" : Ajout à la fin du fichier Nom_logique = open (‘CheminNom_physique’ , ‘Mode’) Lire (Nom_logique , ch) ch = Nom_logique.read() Lire_ligne (Nom_logique , ch) ch = Nom_logique.readline() Ecrire(Nom_logique , ch) Nom_logique.write(ch) Ecrire_nl (Nom_logique , ch) Nom_logique.write(ch + "n") Fin_fichier (Nom_logique) ch= Nom_logique.readline() While ch != "" : Traitement ch = Nom_logique.readline() N.B. : La fin d’un fichier texte est la chaine vide Fermer (Nom_logique) Nom_logique.close () Remarque : Lors de la résolution d’un problème, il est fortement interdit d’utiliser autres fonctions ne figurant pas dans la liste des fonctions énumérées dans le présent document. Toutefois, les énoncés des épreuves pratiques du baccalauréat des matières « Informatique » et « Algorithmique et programmation », pourraient intégrer une nouvelle fonction. Dans ce cas, le rôle et la syntaxe de cette fonction seront détaillés dans l’énoncé de l’épreuve.