Académique Documents
Professionnel Documents
Culture Documents
Résumé de Cours Algorithmes
Résumé de Cours Algorithmes
Remarque :
Lorsque deux opérateurs sont de priorité égale, on évalue de gauche à droite.
Par exemple : a + b - c est évalué (a + b) - c, et non pas a + (b - c).
1
Pensée computationnelle et programmation
Syntaxe en Syntaxe en
Rôle de la fonction Exemples
algorithme python
Ent (x) int (x) Elimine la partie décimale d'un réel. Ent (15.56) vaut 15
Racine_carré
sqrt (x) Retourne la racine carrée d'un Racine_carré (16) vaut 4.0
(x) Racine_carré (4) vaut 2.0
nombre x positif.
2) Le type booléen :
Déclaration en algorithme :
Objet Type/nature
Général Nom Booléen
Exemple test Booléen
En algorithme En python
non not
et and
ou or
ouex ^
Il existe un ordre de priorité entre les opérateurs logiques : non, et, ou, ouex.
3) Le type caractère :
Déclaration en algorithme :
Objet Type/nature
Général Nom Caractère
Exemple c Caractère
Syntaxe en Syntaxe en
Rôle de la fonction Exemples
algorithme python
HEX DEC CAR HEX DEC CAR HEX DEC CAR HEX DEC CAR
0 0 NUL 20 32 40 64 @ 60 96 `
1 1 SQH 21 33 ! 41 65 A 61 97 a
2 2 STX 22 34 " 42 66 B 62 98 b
3 3 ETX 23 35 # 43 67 C 63 99 c
4 4 EOT 24 36 $ 44 68 D 64 100 d
5 5 ENQ 25 37 % 45 69 E 65 101 e
6 6 ACK 26 38 & 46 70 F 66 102 f
7 7 BEL 27 39 ' 47 71 G 67 103 g
8 8 BS 28 40 ( 48 72 H 68 104 h
9 9 HT 29 41 ) 49 73 I 69 105 i
A 10 LF 2A 42 * 4A 74 J 6A 106 j
B 11 VT 2B 43 + 4B 75 K 6B 107 k
C 12 FF 2C 44 , 4C 76 L 6C 108 l
D 13 CR 2D 45 - 4D 77 M 6D 109 m
E 14 SO 2E 46 . 4E 78 N 6E 110 n
F 15 SI 2F 47 / 4F 79 O 6F 111 o
10 16 DLE 30 48 0 50 80 P 70 112 p
11 17 DC1 31 49 1 51 81 Q 71 113 q
12 18 DC2 32 50 2 52 82 R 72 114 r
13 19 DC3 33 51 3 53 83 S 73 115 s
14 20 DC4 34 52 4 54 84 T 74 116 t
15 21 NAK 35 53 5 55 85 U 75 117 u
16 22 SYN 36 54 6 56 86 V 76 118 v
17 23 ETB 37 55 7 57 87 W 77 119 w
18 24 CAN 38 56 8 58 88 X 78 120 x
19 25 EM 39 57 9 59 89 Y 79 121 y
1A 26 SUB 3A 58 : 5A 90 Z 7A 122 z
1B 27 ESC 3B 59 ; 5B 91 [ 7B 123 {
1C 28 FS 3C 60 < 5C 92 \ 7C 124 |
1D 29 GS 3D 61 = 5D 93 ] 7D 125 }
1E 30 RS 3E 62 > 5E 94 ^ 7E 126 ~
1F 31 US 3F 63 ? 5F 95 _ 7F 127
Slicing en python :
On peut découper la chaîne de caractère avec la syntaxe ch [d : f] où d représente l’indice de début, f
l’indice de fin. Le premier indice d est inclus, le dernier f ne l’est pas.
ch [d:f] produit donc la chaîne de caractère composée des éléments ch [0] à ch [f-1].
On prendra tous les éléments à droite de d et à gauche de f.
Exemples :
ch = "Hello World!"
ch [0:7] donne "Hello W"
ch [:7] donne "Hello W"
ch [6:13] donne "World !"
ch [6:] donne "World !"
Syntaxe en Syntaxe en
Rôle de la fonction Exemples
algorithme python
ch1 "programmer"
Permet la concaténation de deux ch2 "en"
+ + ou plusieurs chaînes des ch3 "PYTHON"
ch ch1+ch2+ch3
caractères. ch contient
"programmerenPYTHON"
x valeur (ch)
Retourne la conversion d’une x contient 11231
int (ch) chaine ch en une valeur
valeur (ch)
float (ch) numérique sinon elle provoque ch "100.25"
une erreur. x valeur (ch)
x contient 100.25
x estnum ("100")
ch.isdigit () Retourne vrai si la chaîne ch est
x contient Vrai
estnum (ch) ch.isdecimal () convertible en une valeur
x estnum ("a25")
ch.isnumeric () numérique, elle retourne faux
x contient Faux
sinon.
7
Les fonctions prédéfinis sur le type chaines de caractères :
Syntaxe en Syntaxe en
Rôle de la fonction Exemples
algorithme python
ch1 sous_chaine
Retourne une partie de la chaine ("Programmer en
sous_chaine ch à partir de la position d Jusqu'à python", 0,10)
ch[d:f]
(ch, d, f)
la position f (non incluse). ch1 contient
"Programmer"
ch1 efface
Retourne une partie de la chaine ("Programmer en
efface (ch, d, f) ch[:d] + ch[f:] ch à partir de la position d Jusqu'à python", 10,13)
la position f (non incluse). ch1 contient
"Programmer python"
8
Pensée computationnelle et programmation
5) Le type tableau :
Déclaration en algorithme :
Objet Type/nature
Général nom Tableau de taille et de type élément
Exemple t Tableau de 100 entiers
Ou bien :
Tableau de déclaration des nouveaux types (TDNT)
Type
Type = Tableau de taille et de type élément
Implémentation en python :
Python propose plusieurs implémentations du tableau dont les listes et les tableaux numpy.
1) Les listes :
Une liste est une collection ordonnée d’éléments éventuellement hétérogènes, ces éléments sont
séparés par des virgules, et entourés de crochets et accessibles à l’aide des indices associés (liste
[indice]).
Déclaration :
L = [] #déclaration d’une liste vide
L = [v1, v2, v3,…] #initialiser une liste par des valeurs
L = [type] * nb_éléments
L = [valeur] * nb_éléments
L = [valeur for i in range (nb_éléments)]
La méthode append : permet d'ajouter un élément à la fin d’une liste.
Exemple :
>>> L= [0,2,3,1]
2ème méthode :
Entier int t = array ([0] * n, int)
t = array ([0 for i in range (n)], int)
Exemple :
t = array ([0] * 5, int)
"i" : entier
"f" : réel
"?" : booléen
"U" : caractère
"Ux" : chaine de x caractères
Objet Type/nature
Général nom Tableau de nb lignes * nb colonnes Type élément
Exemple m Tableau de 4 lignes * 5 colonnes entiers
Ou bien :
Tableau de déclaration des nouveaux types (TDNT)
Type
Type = Tableau de nb lignes * nb colonnes Type élément
2ème méthode :
Entier int m = array ([[0] * c for i in range (l)], int)
Réel float m = array ([[0] * c for i in range (l)], float)
Caractère str m = array ([[""] * c for i in range (l)], str)
Chaine (str , nombre_caractère) m = array ([[""] * c for i in range (l)], (str,20))
Exemple :
m = array ([[0] * 5 for i in range (4)], int)
L’affectation :
L’affichage :
Affichage d’un message texte :
Affichage mixte :
La lecture :
Ecrire ("texte")
variable = input ("texte")
Lire (variable)
La fonction input () effectue toujours une saisie en mode texte (la valeur retournée est une
chaîne) dont on peut ensuite changer le type (on dit aussi « transtyper » ou cast en anglais).
En algorithme En python
En algorithme En python
En algorithme En python
En algorithme En python
En algorithme En python
Tant que (condition non arrêt) faire while (condition non arrêt) :
bloc d'instructions bloc d'instructions
Fin tant que
En algorithme En python
Répéter Initialisation
bloc d'instructions while (condition non arrêt) :
Jusqu'à (condition d’arrêt) bloc d’instructions
a) Les fonctions :
En algorithme :
Fonction nom_fonction (pf1 : type , pf2 : type ……… pfn : typen) : type résultat
Début
Traitement
Retourner résultat
Fin
En python :
def nom_fonction (pf1 : type , pf2 : type ……… pfn : typen) :
Traitement
return résultat
b) Les procédures :
Vocabulaire et syntaxe :
En algorithme :
Procédure nom_procédure (pf1 : type , pf2 : type ……… pfn : typen)
Début
Traitement
Fin
En python :
def nom_procédure (pf1 : type , pf2 : type ……… pfn : typen) :
Traitement
Il faut ajouter le mot-clé global pour modifier une variable globale à l'intérieur du module.
Tri à bulles :
La recherche séquentielle :
La recherche dichotomique :
fm–1
Sinon
d m+1
Fin si
Fin tant que
Retourner -1
Fin
PGCD :
PPCM :
Premier :
Facteurs premiers :
Déclaration :
En algorithme :
Tableau de déclaration des nouveaux types
Type
nom_type = Enregistrement
champ 1 : type 1
champ 2 : type 2
……………..
champ n : type n
Fin
Les types (type 1, type 2, .. , type n) peuvent être soit prédéfinis, soit définis par l'utilisateur.
En python :
En utilisant les classes :
Une classe est un ensemble incluant des variables ou attributs et des fonctions ou méthodes.
Les attributs sont des variables accessibles depuis toute méthode de la classe où elles sont définies.
Forme générale :
Exemple :
En algorithme :
Tableau de déclaration des nouveaux types
Type
ville = Enregistrement
nom : chaine de caractères
code : entier
surface : réel
population : entier
Fin
v = ville ( )
Forme générale :
nom_type = Enregistrement nom_variable = {"champ 1" : valeur 1,"champ 2" :
champ 1 : type 1 valeur 2,…….., "champ n" : valeur n}
champ 2 : type 2
Ou bien :
……………..
nom_variable = dict (champ 1 : valeur 1 , champ
champ n : type n
2 : valeur 2,…….,champ n : valeur n)
Fin
Ou bien :
nom_variable = {}
ou nom_variable = dict () #dictionnaire vide
nom_variable ["champ 1"] = valeur 1
nom_variable ["champ 2"] = valeur 2
……………..
nom_variable ["champ n"] = valeur n
Exemple :
En algorithme :
Tableau de déclaration des nouveaux types
Type
ville = Enregistrement
nom : chaine de caractères
code : entier
surface : réel
population : entier
Fin
v ["nom"] = valeur 1
v ["code"] = valeur 2
v ["surface"] = valeur 3
v ["population"] = valeur 4
Affichage :
Action en algorithme Action en python
Ecrire (variable.champ) print (variable.champ)
Ecrire ("texte", variable.champ) print ("texte", variable.champ)
Exemple :
Action en algorithme Action en python
print (v.surface)
Ecrire (v.surface)
print (v ["surface"])
print ("Surface =", v.surface)
Ecrire ("Surface =", v.surface)
print ("Surface =", v ["surface"])
Tableau d’enregistrements :
Un tableau d’enregistrements est un tableau de n enregistrements.
Exemple : Tableau de 3 villes
nom : nom : nom :
code : code : code :
surface : surface : surface :
Population : Population : Population :
0 1 2
Déclaration :
En algorithme :
Tableau de déclaration des nouveaux types
Type
nom_type = Enregistrement
champ 1 : type 1
champ 2 : type 2
……………..
champ n : type n
Fin
nom_type_tableau = Tableau de n nom_type
ville = Enregistrement
nom : chaine de caractères
code : entier
surface : réel
population : entier
Fin
Tab = tableau de 10 villes
En python :
En utilisant les classes :
nom_type = Enregistrement
champ 1 : type 1
champ 2 : type 2
……………..
champ n : type n
Fin
nom_fichier1 = Fichier de nom_type
nom_fichier2 = Fichier de type
Exemple :
Tableau de déclaration des nouveaux types
Type
ville = Enregistrement
nom : chaine de
caractères
code : entier
surface : réel
population : entier
Fin
fvilles = Fichier de ville
fnotes = Fichier de réels
En algorithme :
Ouvrir ("chemin\nom_physique", nom_logique , "mode")
Rôle :
Ouverture d’un fichier.
Mode d’ouverture :
"rb" : Lecture (pointer au début).
"wb" : Ecriture (création).
"ab" : Ecriture à la fin du fichier.
En python :
nom_logique = open ("chemin\nom_physique", "mode")
with open ("chemin\nom_physique","mode") as nom_logique
Exemple :
Ouvrir ("apprenants.dat", f ,"wb")
f = open ("apprenants.dat","wb")
Lecture :
En algorithme :
Lire (nom_logique, objet)
Rôle :
Lecture d’un enregistrement d’un fichier.
En python :
from pickle import *
objet = load (nom_logique)
Exemple :
Lire (f,a)
from pickle import *
a = load (f)
Ecriture :
En algorithme :
Ecrire (nom_logique, objet)
Rôle :
Ecriture dans un fichier.
En python :
from pickle import *
dump (objet, nom_logique)
Exemple :
Ecrire (f,a)
from pickle import *
dump (a,f)
Pointer :
En algorithme :
Pointer (nom_logique, p)
Rôle :
Se pointer à une position p du fichier (p ∈ 0 , Taille_fichier - 1])
En python :
nom_logique.seek (p)
Exemple :
Pointer (f,3)
f.seek (3)
En algorithme :
Fin_fichier (nom_logique)
Rôle :
Retourne Vrai si le pointeur est à la fin du fichier sinon elle retourne Faux.
En python : pas de correspondance
Exemple :
Fin_fichier (f)
Taille du fichier :
En algorithme :
Taille_fichier (nom_logique)
Rôle :
Retourne la taille du fichier.
En python : pas de correspondance
Exemple :
Taille_fichier (f)
Fermeture :
En algorithme :
Fermer (nom_logique)
Rôle :
Fermeture du fichier.
En python :
nom_logique.close ()
Exemple :
Fermer (f)
f.close ()
Exemple :
Ouverture :
En algorithme :
Ouvrir ("chemin\nom_physique", nom_logique , "mode")
Rôle :
Elle permet d’ouvrir un fichier.
Mode d’ouverture :
"r" : Lecture.
"w" : Ecriture (création).
"a" : Ecriture à la fin du fichier.
En python :
nom_logique = open ("chemin\nom_physique", "mode")
Exemple :
Ouvrir ("Résultat.txt", f2 ,"w")
f2 = open ("Résultat.txt","w")
Lecture :
En algorithme :
Lire (nom_logique, ch)
Rôle :
Lecture de la totalité d’un fichier.
En python :
ch = nom_logique.read ()
Exemple :
Lire (f, ch)
ch = f.read ()
En algorithme :
Lire_ligne (nom_logique, ch)
Rôle :
Lecture d’une ligne depuis un fichier texte, et placer le curseur sur la ligne suivante.
En python :
ch = nom_logique .readline ()
Exemple :
Lire (f, ch)
ch = f.readline ()
Ecriture :
En algorithme :
Ecrire (nom_logique, ch)
Rôle :
Ecriture dans un fichier texte.
En python :
Ecriture sans retour à la ligne : nom_logique.write (ch)
Ecriture avec retour à la ligne : nom_logique.write (ch+"\n")
Exemple :
Ecrire (f, ch)
f.write (ch)
En algorithme :
Fin_fichier (nom_logique)
Rôle :
Retourne Vrai si le pointeur est à la fin du fichier sinon elle retourne Faux.
En python : pas de correspondance
Fermeture :
En algorithme :
Fermer (nom_logique)
Rôle :
Fermeture du fichier.
En python :
nom_logique.close ()
Exemple :
Fermer (f)
f.close ()