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

Implémentation Python

Le document présente l'implémentation en Python des conventions algorithmiques pour l'année scolaire 2024/2025. Il couvre les syntaxes des structures algorithmiques, les types de données, les structures de contrôle, les modules, ainsi que les opérateurs et fonctions prédéfinies. Des exemples pratiques et des remarques sur l'utilisation de Python sont également fournis.

Transféré par

xgmmcg2qfg
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)
52 vues12 pages

Implémentation Python

Le document présente l'implémentation en Python des conventions algorithmiques pour l'année scolaire 2024/2025. Il couvre les syntaxes des structures algorithmiques, les types de données, les structures de contrôle, les modules, ainsi que les opérateurs et fonctions prédéfinies. Des exemples pratiques et des remarques sur l'utilisation de Python sont également fournis.

Transféré par

xgmmcg2qfg
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

Ministère de l’Éducation

Direction Générale des Programmes


et de la Formation Continue
   

IMPLEMENTATION
EN PYTHON DES
CONVENTIONS
ALGORITHMIQUES

Année scolaire 2024 /2025


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) print ("Message", Objet, Expression, end=' ')
print ("Message", Objet, Expression)
Écrire_nl ("Message", Objet, Expression)
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–2024/2025 Page 2 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

4. Les déclarations
a. Les objets de type de donnée simple
En algorithmique

Objet Type / Nature

Nom_objet Type_objet

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.

Implémentation en python des conventions algorithmiques–2024/2025 Page 3 sur 12


b. Les tableaux
En algorithmique

Objet Type / Nature

Tableau
Nom_tableau Tableau de N Type _élément

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 T = array ([Type_élément] * N) ou
dimension bien
T = array ([valeur_initiale] * N)

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)

Implémentation en python des conventions algorithmiques–2024/2025 Page 4 sur 12


Exemples de déclarations de tableaux en Python
Déclaration Explication

Déclarer un tableau T de 10 entiers et


T = array ([5] * 10)
initialiser ses éléments par « 5 ».

Déclarer un tableau T de 10 réels et initialiser


T = array ([float ()] * 10) ses éléments par «0.0 ».

Déclarer un tableau T de 10 chaînes de


T = array ([str] * 10)
caractères.

Déclarer un tableau T de 10 caractères et


T = array ([str()] * 10)
initialiser ses éléments par le caractère vide.

Déclarer un tableau T de 10 éléments


initialisés par une chaîne vide. Chaque
T = array ([‘’] * 10 , dtype = ’U20’)
élément peut contenir 20 caractères au
maximum.

Implémentation en python des conventions algorithmiques–2024/2025 Page 5 sur 12


En Python

5. Les structures de contrôle conditionnelles


En algorithmique En python

Si Condition Alors if Condition :


Traitement Traitement
FinSi

Si Condition Alors if Condition :


Traitement1 Traitement1
Sinon else :
Traitement2 Traitement2
FinSi

Si Condition1 Alors if Condition1 :


Traitement1 Traitement1
Sinon Si Condition2 Alors elif Condition2 :
Traitement2 Traitement2
……… ………
[Sinon TraitementN] else :
FinSi TraitementN

Selon <Sélecteur>
Valeur1_1[, Valeur1_2, …] :
A partir de la version 3.10
Traitement1 match Sélecteur : case
Valeur2_1 . . Valeur2_2 : Valeur1 : Traitement1
Traitement2 case Valeur2_1 | Valeur2_2 :
……… Traitement2 case Sélecteur if
[Sinon TraitementN] V3_1 <=Sélecteur<= V3_2 :
Fin Selon Traitement3
case _ : TraitementN
N.B. : Le sélecteur doit être de type scalaire.

Implémentation en python des conventions algorithmiques–2024/2025 Page 6 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 :
Répéter Traitement
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–2024/2025 Page 7 sur 12


7. Les modules
a. La déclaration
En algorithmique En Python

Fonction Nom_fonction (pf1 : type1 , pf2 : Un module (fonction ou procédure) se


type2 , … , pfn : typen) : Type_résultat définit en utilisant le mot clé def selon la
DEBUT syntaxe suivante :
Traitement
Retourner résultat def Nom_module (pf1 , pf2 , … , pfn) :
Traitement
FIN
[return résultat]
Procédure Nom_procédure (pf1 : type1 ,
pf2 : type2 , … , pfn : typen)
N.B. : Dans un module, l’instruction
DEBUT
"return" peut être utilisée, et ce, pour
Traitement retourner un seul résultat de type
FIN simple.

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 Nom_module (pf1 , pf2 , … , pfn) :
du paramètre. Traitement

Procédure Nom_procédure (@pf1 : type1 , @pf2 :


N.B. : En python, les paramètres
type2 , … , pfn : typen)
de type tableau sont, par défaut
DEBUT
passés par référence.
Traitement
FIN

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–2024/2025 Page 8 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–2024/2025 Page 9 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 En Python
algorithmique
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)


Nécessite l’importation de la
RacineCarré(x) sqrt (x)
bibliothèque math.
Nécessite l’importation de la
Aléa (vi, vf) randint(vi, vf)
bibliothèque random.
Ent(x) int (x)
Abs (x) abs (x)

Implémentation en python des conventions algorithmiques–2024/2025 Page 10 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()

Remarques :
 Pour concaténer deux chaînes de caractères, on utilise l’opérateur « + ».
 La fonction isdecimal est appliquée sur les entiers positifs.

Implémentation en python des conventions algorithmiques–2024/2025 Page 11 sur 12


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.

Implémentation en python des conventions algorithmiques–2024/2025 Page 12 sur 12

Vous aimerez peut-être aussi