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

Cours Python

Ce document décrit les conventions algorithmiques et leur implémentation en Python. Il présente la forme générale d'un algorithme et des opérations élémentaires comme l'entrée, la sortie et l'affectation. Il détaille également les types de données, opérateurs et fonctions en algorithmique et leur équivalent en Python.

Transféré par

Azer Boubaker
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)
396 vues8 pages

Cours Python

Ce document décrit les conventions algorithmiques et leur implémentation en Python. Il présente la forme générale d'un algorithme et des opérations élémentaires comme l'entrée, la sortie et l'affectation. Il détaille également les types de données, opérateurs et fonctions en algorithmique et leur équivalent en Python.

Transféré par

Azer Boubaker
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
Vous êtes sur la page 1/ 8

Conventions Algorithmiques & Implémentation en Python (2021-2022)

1. La forme générale d’un algorithme


ALGORITHME Nom
DEBUT
Traitement1
TraitementN
FIN
Tableau de Déclaration des Objets (T.D.O)
Objet Type/Nature

N.B. :
 L’écriture de l’algorithme doit obligatoirement respecter l’indentation.
 Le nommage des objets doit être significatif.

2. Les opérations élémentaires simples
L’opération d’entrée
Notation Algorithmique Notation en Python
Pour les chaînes de caractères :
Objet = input ("Commentaire")
Ecrire ("Commentaire") Pour les entiers :
Lire (Objet) Objet = int (input ("Commentaire"))
Pour les réels :
Objet = float (input ("Commentaire"))

L’opération de sortie
Notation Algorithmique Notation en Python
Ecrire ("Message", Objet) print ("Message", Objet, end = "")
Ecrire ("Message", Expression) print ("Message", Expression, end = "")
print ("Message", Objet)
Ecrire_nl ("Message", Objet)
print ("Message", Expression)
Ecrire_nl ("Message", Expression)
N.B. : "print" fait un retour à la ligne automatique
N.B. : Objet est de type simple.

L’opération d’affectation
Notation Algorithmique Notation en Python
Objet 

Valeur Objet = Valeur
Objet Expression Objet = Expression
Objet1 Objet2

Objet1 = Objet2
N.B. : Objet1 et Objet2 doivent être de même type ou de types compatibles.
Conventions Algorithmiques & Implémentation en Python (2021-2022)

3. Les types de données simples


3.1. Les types des données

Types des données en algorithmique Types des données en Python


Entier int ( )
Réel float ( )
Caractère str ( )
Booléen bool ( )
Chaîne de caractères str ( )
3.2. Les déclarations des objets en algorithmique
La déclaration des constantes et des variables est réalisée comme suit :
Tableau de Déclaration des Objets (T.D.O)
Objet Type/Nature
Nom_Constante Constante = Valeur de la Constante
Nom_Variable Type_Variable
N.B. :
  L’indice du 1er caractère d’une chaîne de caractère est Zéro.
  Pour accéder à un caractère d’une chaîne Ch, on utilise la notation Ch[i] avec 0 i long(Ch)-1.
 On pourra utiliser l’opérateur « + » pour concaténer deux chaînes.

4. Les opérateurs arithmétiques et logiques
 Toute structure algorithmique à laquelle il n’y a pas de correspondance au niveau du langage de
 programmation utilisé sera remplacée par la structure adéquate de ce dernier.
 Pour les opérateurs arithmétiques et logiques, on va se baser sur celles qui sont standards et développés
dans le tableau suivant :
Les opérateurs arithmétiques et logiques et leurs priorités
Désignation Notation
Priorité Type d’opérande
de l’opération Algo. Python
Parenthèses 1 (…) (…) Tous les types
Multiplication * * Entier ou Réel
Division réelle / / Réel
2
Division entière Div // Entier
Reste de la division entière Mod % Entier
Addition + + Entier ou Réel
3
Soustraction - - Entier ou Réel
Égale = == Tout Type ordonné
Différent ≠ != Tout Type ordonné
Strictement supérieur > > Tout Type ordonné
4
Supérieur ou égal ≥ >= Tout Type ordonné
Strictement inférieur < < Tout Type ordonné
Inférieur ou égal ≤ <= Tout Type ordonné
L’appartenance (Entier, Caractère ou Booléen)  in Type Scalaire
Conventions Algorithmiques & Implémentation en Python (2021-2022)

Remarques :

Notation
Appartenance
Algorithmique Python
Ensemble x ∈ {val1, val2, …, valn} x in {val1, val2, …}
Pour les entiers :
x in range(val1, valn+1) ou bien
x ∈ [val1..valn]
val1 <= x <= valn
Intervalle ou bien
Pour les caractères :
val1 ≤ x ≤ valn
ord(x) in range(ord(val1),ord(valn)+1) ou bien
val1 <= x <= valn

Opérateurs logiques (booléens) & Priorités & Tables de vérité


Opérateurs & Priorités & Tables de vérité
Opération
Algo. Python Priorité Table de vérité
A not (A)
Négation NON not 1 True False
False True
A B A and B
True True True
Conjonction ET and 2 True False False
False True False
False False False
A B A or B
True True True
Disjonction OU or 3 True False True
False True True
False False False
Conventions Algorithmiques & Implémentation en Python (2021-2022)

5. Les fonctions prédéfinies


5.1. Les fonctions arithmétiques

Les fonctions sur les types numériques


Notation algorithmique Notation Python Rôle Exemples en Python - Résultat
N = abs (-20) N==20
N  abs (X) N = abs (X) Retourne la valeur absolue de X. N = abs (.5.8) N == 5.8
N = int (5.2) N==5
N  ent (X) N = int (X) Retourne un Entier représentant la partie entière de X. N = int (-5.8) N==-5
N = round (2.2) N==2
Retourne l’Entier le plus proche de X.
N = round (2.8) N==3
N  arrondi (X) N = round (X) N.B. : En Python, si la partie fractionnaire est égale à 5, N = round (2.5) N==2
l’entier Pair le plus proche est retourné.
N = round (3.5) N==4
N = sqrt (9) N == 3.0
N   from math import sqrt
racinecarré (X) N = sqrt (X)
Retourne un Réel représentant la racine carrée de X.
Si X < 0, elle provoque une erreur. N = sqrt (25.0) N == 5.0
N = sqrt (-5) Erreur

from random import randint Retourne un entier d’une façon aléatoire et automatique de N = randint ( 2 , 5 )
N  
aléa (Vi , Vf) N = randint (Vi , Vf) l’intervalle [Vi , Vf ]. N pourra avoir 2 ou 3 ou 4 ou 5

5.2. Les fonctions sur les caractères

Les fonctions sur le type caractère


Notation algorithmique Notation Python Rôle Exemples en Python - Résultat
N = ord ("0") N==48
N  Ord ( Ca ) N = ord (Ca) Retourne le code ASCII du caractère Ca. N = ord ("A") N==65
N = ord ("a") N==97
Ca = chr (50) Ca == "2"
Ca  Chr ( X ) Ca = chr (X) Retourne le Caractère dont le code ASCII est X. Ca = chr (90) Ca == "Z"
Conventions Algorithmiques & Implémentation en Python (2021-2022)

5.3. Les fonctions sur les chaînes de caractères


Les fonctions sur le type chaîne de caractères
Notation algorithmique Notation Python Rôle Exemples en Python - Résultat
Retourne un entier représentant le nombre Lo = len ("Salut") Lo == 5
Lo  long (Ch) Lo = len (Ch) de caractères de la chaîne Ch (la longueur Lo = len ("L’élève") Lo == 7
de Ch). Lo = len ("") Lo == 0
Retourne un entier représentant la Ch1 = "Y"
position de la 1ère occurrence de Ch1 dans
Po  pos (Ch1, Ch2) Po = Ch2.find (Ch1) Ch2. Elle retourne -1 si Ch1 n’existe pas Ch2 = "BAYBAY"
dans Ch2. Po = Ch2.find (Ch1) Po == 2
Retourne une copie de la chaîne Ch1 à Ch1 = "BACCALAUREAT"
Ch2  
sous_chaîne (Ch1, Début, Fin) Ch2 = Ch1 [Début : Fin] partir de l’indice Début à l’indice Fin Ch2 = Ch1 [5 : 12]
(position Fin exclu). Chr == "LAUREAT"
Retourne une chaîne Ch2 après avoir Ch1 = "INFORMATIQUE"
Ch2  
effacer (Ch1, d, f) Ch2= Ch1[ : d]+Ch1 [f: ] effacer, de la chaîne Ch1, les caractères Ch2 = Ch1[:6] + Ch1[11:]
de la position d à la position f (f exclu). Ch2 == "INFORME"

ChM  majus (Ch) ChM = Ch.upper ( )


Retourne la chaîne ChM représentant la Ch = "Bonjour"
conversion en Majuscule de la chaîne Ch. ChM = Ch.upper ( )
ChM
=="BONJOUR"

Ch  convch (X) Ch = str (X)


Retourne la conversion du nombre X en
une chaîne de caractères.
N=358
Ch = str (N) Ch == "358"
Pas de correspondance.
Toutefois, on pourra utiliser Ch = "489"
Test  estnum (Ch) isnumeric ( ) malgré qu’elle Retourne VRAI si la chaîne Ch est
ne répond pas aux exigences convertible en une valeur numérique et
Test = Ch . isnumeric ( ) Test == True

oubien développer un FAUX dans le cas contraire. Ch = "489.56"


module qui permet de Test = Ch . isnumeric ( ) Test == False
réaliser cette tâche.
Ch = "489"
N = int (Ch) Retourne la conversion d’une chaîne Ch
N = int (Ch) N == 489
N valeur (Ch) ou bien en une valeur numérique, si c’est
Ch = "489"
N = float (Ch) possible. N = float (Ch) N == 489.0
Conventions Algorithmiques & Implémentation en Python (2021-2022)

6. Les structures de contrôle conditionnelles


6.1. La structure conditionnelle simple

Notation en algorithmique Notation en Python

Si Condition Alors if Condition :


Traitement Traitement
FinSi

6.2. La structure conditionnelle complète

Notation en algorithmique Notation en Python

Si Condition Alors if Condition :


Traitement1 Traitement1
Sinon else :
Traitement2 Traitement2
FinSi

6.3. La structure conditionnelle généralisée (Si imbriquée)

Notation en algorithmique Notation en Python

Si Condition1 Alors if Condition1 :


Traitement1 Traitement1
Sinon elif Condition2 :
Si Condition2 Alors Traitement2
Traitement2 else :
Sinon TraitementN
TraitementN
FinSi

6.4. La structure conditionnelle à choix multiples

Notation en algorithmique Notation en Python (Versions ≤3.9)

Selon Sélecteur Pas de correspondance en Python, toutefois, on pourra utiliser


la structure Si généralisée :
Val1 : Traitement1
if Sélecteur == Val1 :
Val2 , Val3 , Val4 : Traitement2 Traitement1
Val5 .. Val 6 : Traitement3 elif Sélecteur in { Val2 , Val3 , Val4 } :
………………….. Traitement2
Sinon elif Sélecteur in range ( Val5 , Val6 + 1 ) :
Traitement3
TraitementN
else :
FinSelon TraitementN
Remarque : Les valeurs Val5 et Val6 doivent être des
valeurs numériques. Pour les caractères, on doit utiliser le
code ASCII.

Conventions Algorithmiques & Implémentation en Python (2021-2022)


Notation en algorithmique Notation en Python (Versions ≥3.10)
Selon Sélecteur match Sélecteur :
Val1 : Traitement1 case Val1 :
Val2 , Val3 , Val4 : Traitement2 Traitement1
Val5 .. Val 6 : Traitement3 case Val2 | Val3 | Val4 :
………………….. Traitement2
Sinon case Sélecteur if Val5<=Sélecteur<=Val6 :
TraitementN Traitement3
FinSelon case _:
TraitementN

Exemple
On se propose d’afficher la nature d’un caractère donné (consonne, voyelle, chiffre, symbole). Écrire un
algorithme "Nature" correspondant à la résolution de cette situation puis l’implémenter en Python.
ALGORITHME Nature c=input("Saisir un caractère : ")
DEBUT c=c.upper()
Ecrire ("Saisir un caractère : ") match c :
Lire (c) case c if "A"<= c <="Z" :
c  Majus (c) match c :
Selon c
case "O"|"I"|"Y"|"E"|"A"|"U":
"A" .. "Z" : Selon c
print("Voyelle")
"A", "E", "I", "O", "U", "Y" : Ecrire ("Voyelle")
Sinon case _ :
Ecrire ("Consonne") print("Consonne")
FinSelon case c if "0" <= c <= "9":
"0" .. "9" : Ecrire ("Chiffre") print("Chiffre")
Sinon T.D.O case _ :
Ecrire ("Symbole") Objet Type/Nature print("Symbole")
FinSelon c Caractère
FIN

7. Les structures de contrôle itératives


7.1. La structure de contrôle itérative complète

La boucle Pour … Faire …


Notation en algorithmique Notation en Python
Pour Compteur de Début à Fin [Pas= valeur_pas] Faire for Compteur in range (Début, Fin+1, Pas) :
Traitement Traitement
FinPour
Remarques :  En python, on accepte seulement la forme
 Le nombre de répétitions est connu avant le décrite précédemment.
traitement et il est égal à |Fin – Début |+ 1.  range (5) le compteur prendra les valeurs
suivantes : 0 , 1 , 2 , 3 , 4
 Le Pas peut être Positif ou Négatif.
 range (2, 5) le compteur prendra les valeurs
 Par défaut, le Pas est égal à 1. suivantes : 2 , 3 , 4
 Il faut éviter de modifier la valeur du compteur de la  range (5, 2, -1) le compteur prendra les
boucle Pour… Faire… au niveau du traitement. valeurs suivantes : 5 , 4 , 3
 range (0, 10, 3) le compteur prendra les
valeurs suivantes : 0 , 3 , 6 , 9
Conventions Algorithmiques & Implémentation en Python (2021-2022)

7.2. La structure de contrôle itérative à condition d’arrêt (Répéter … Jusqu’à …)

La boucle REPETER … JUSQUA …

Notation en Algorithmique Notation en Python


Pas de correspondance. Toutefois, on peut utiliser :
Répéter valide = False
Traitement while valide == False :
Jusqu’à Condition(s) de sortie Traitement
valide = ( Condition(s) de sortie )
Remarque : Le nombre de répétitions n’est pas connu à l’avance et le traitement se fait au moins une fois.

7.3. La structure de contrôle itérative à condition d'arrêt (Tant que … Faire)

La boucle TANTQUE … FAIRE …

Notation en Algorithmique Notation en Python


Tantque Condition Faire while Condition :
Traitements Traitements
FinTantque

Remarque : Le nombre de répétitions n’est pas connu à l’avance et le traitement peut ne pas se faire.

N.B.:
 En Python, il est conseillé d’éviter l’utilisation de l’instruction « break », « continue » et « pass » dans les structures conditionnelles et les structures
itératives.

 En algorithmique, la structure itérative « Répéter… Jusqu’à… » doit être enseignée bien qu’elle n’a pas de correspondance en Python.

Vous aimerez peut-être aussi