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

Annexe

Transféré par

roua.sallemi18
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)
166 vues6 pages

Annexe

Transféré par

roua.sallemi18
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

Annexe

Dans le but de développer le raisonnement et la capacité de résolution des problèmes chez l’apprenant, le
domaine « Pensée computationnelle et programmation » met l’accent sur l’algorithmique. L’écriture d’un
algorithme doit respecter les conventions citées dans ce document.
1- Forme générale d’un algorithme
ALGORITHME Nom
DEBUT
Traitements
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.

1
Enseignant : Saber Jaballah
Annexe

3- Les types de données standards


En algorithmique En python
Entier int
Réel float
Booléen bool
Caractère str
Chaîne de caractères str

1- 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.
2- Les opérateurs arithmétiques et logiques
Les opérateurs arithmétiques et logiques et leurs priorités
Notation
Désignation de l’opération Priorité Type d’opérande
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é
Supérieur ou égal 4 ≥ >= 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
Remarque :
Notation
Appartenance
En algorithmique Python
Ensemble x ∈ {val1, val2, …, valn} x in {val1, val2, …}
x ∈ [val1..valn]
Intervalle ou bien val1 <= x <= valn
val1 ≤ x ≤ valn

2
Enseignant : Saber Jaballah
Annexe

Opérateurs logiques
Opération Priorité En algorithmique En python
Négation 1 Non not
Conjonction 2 Et and
Disjonction 3 Ou or

3- 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 bibliothèque math
RacineCarée(x) sqrt(x)

Nécessite l’importation de la bibliothèque


Aléa(vi,vf) randint(vi,vf)
random.
Ent(x) int(x)

Abs(x) abs(x)
b- Les fonctions sur le type caractère

En algorithmique En python
Ord (c) ord ( c )
Chr (c) chr (c)
c- Les fonctions sur le type chaîne de caractères

En algorithmique Python Rôle

Long (ch) Len(ch) Retourne le nombre de caractères de la chaîne ch.


Retourne la première position de la chaîne ch1 dans la
Pos (ch1, ch2) [Link](ch1)
chaîne ch2.
Retourne la conversion d’un nombre d en une chaîne de
Convch (d) str(d)
caractères.
Retourne la conversion d’une chaine ch en une
Valeur (ch) float(ch)/ int(ch)
valeur numérique, si c’est possible.
Retourne Vrai si la chaîne ch est convertible en une chaîne
Estnum (ch) [Link]()
numérique, elle retourne Faux sinon.
Retourne une partie de la chaîne ch à partir de la position d
Sous-chaine (ch,d,f) ch [d:f]
jusqu’à la position f (f exclue).
Efface des caractères de la chaîne Ch à partir de la position
Effacer (ch, d, f) ch=ch[:d]+ch[f:]
djusqu’à la position f (f exclue).
Majus (ch) [Link]() Convertit la chaîne ch en majuscule.

4- Les tableaux à une seule dimension


 Déclaration en algorithmique
1ère méthode
Tableau de Déclaration des Objets (T.D.O)
Objet Type/Nature
Nom_Tableau Tableau de N Type_élément

3
Enseignant : Saber Jaballah
Annexe

2ème méthode
Tableau de Déclaration des Nouveaux Types (T.D.N.T)
Nom_Type_Tableau = Tableau de N Type_élément

Tableau de Déclaration des Objets (T.D.O)


Objet Type/Nature
Nom_Tableau Nom_Type_Tableau

 Déclaration en Python en utilisant la bibliothèque Numpy

Déclaration dans le cas général


From numpy import *
Nom_Tableau = array ([Type_élément ( )] * N )

N.B. :
 Les éléments d’un tableau à une seule dimension doivent être de même type.
 Les indices des éléments d’un tableau sont de type scalaire.
 En Python, pour déclarer un tableau de chaînes de caractères et éviter que chaque case
contiendra uniquement le premier caractère de la chaîne saisie, on peut supprimer les
parenthèses après le "str".
 L’indice de la 1ère case d’un tableau est, par défaut, égal à Zéro.
 Pour accéder à un élément d’indice « i » d’un tableau : Nom_Tableau [ i ]

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
A partir de la version 3.10
Selon <Sélecteur>
match Sélecteur :
Valeur1_1,[ Valeur1_2, …] :
case Valeur1 :
Traitement1
Traitement1
Valeur2_1 .. Valeur2_2 :
case Valeur2_1 | Valeur2_2 :
Traitement2
Traitement2
………
case Sélecteur if V3_1 <=Sélecteur<= V3_2 :
[Sinon TraitementN]
Traitement3
Fin Selon
case _ : TraitementN

4
Enseignant : Saber Jaballah
Annexe

6- Les structures de contrôle itératives


a. 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 formedécrite
 Le nombre de répétitions est connu avant le précédemment.
traitement et il est égal à |Fin – Début |+ 1.  range (5) le compteur prendra les valeurs
 Le Pas peut être Positif ou Négatif. suivantes : 0 , 1 , 2 , 3 , 4
 Par défaut, le Pas est égal à 1.  range (2, 5) le compteur prendra les valeurs
 Il faut éviter de modifier la valeur du compteur de suivantes : 2 , 3 , 4
laboucle Pour… Faire… au niveau du traitement.  range (5, 2, -1) le compteur prendra les valeurs
suivantes : 5 , 4 , 3
 range (0, 10, 3) le compteur prendra les valeurs
suivantes : 0 , 3 , 6 , 9

b. 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


Répéter
Traitement Pas de correspondance
Jusqu’à 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.

c. 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.

7- Les modules
a. Les fonctions

Notation algorithmique
FONCTION Nom_fonction ( Pf1 : Type1 , … , Pfn : Typen ) : Type_Résultat
DEBUT
Instruction1
InstructionN
Retourner Résultat
FIN

5
Enseignant : Saber Jaballah
Annexe

Notation en Python
def Nom_fonction ( Pf1 , … , Pfn ) :
Instruction1
InstructionN
return Résultat

N. B. :
 La fonction retourne un seul résultat (Entier, Réel, Booléen, Caractère ou Chaîne de caractères).
 Les paramètres effectifs (Pe1 à Pen) et les paramètres formels doivent s’accorder de point de
vue ordre, nombre et type.
 L’appel d’une fonction est une expression.
b. Les procédures
Notation algorithmique
PROCEDURE Nom_procédure ( Pf1 : Type1 , … , Pfn : Typen )
DEBUT
Instruction1
Instruction2
InstructionN
FIN

Notation en Python
def Nom_fonction ( Pf1 , … , Pfn ) :
Instruction1
Instruction2
InstructionN

N. B. :
 Les paramètres effectifs et les paramètres formels (Pf1 à Pfn) doivent s’accorder de point
de vue ordre, nombre et type.
 L’appel d’une procédure est une instruction.
 Le passage de paramètre par adresse (par référence) permet au programme appelant
(PP) de transmettre une valeur à la procédure appelée (SP) et vice versa. Le changement
du paramètre formel permet aussi le changement du paramètre effectif. On ajoutera le
symbole « @ » avant le paramètre formel passé par adresse.
 En Python, pour résoudre le problème de passage par adresse, on peut suivre la
démarchesuivante :
1. Ne pas mettre les paramètres formels passés par adresse dans l’entête de la
procédure.
2. Mettre les paramètres formels passés par adresse dans le corps de la procédure
précédés dumot « global ».

6
Enseignant : Saber Jaballah

Vous aimerez peut-être aussi