Chapitre 2
Initiation `a la programmation
2.1 Notion d’algorithme
Python est un langage interpr´et´e. Ceci veut dire qu’`a chaque fois que Python rencontre un appui sur la
touche <Entree >, il ex´ecute l’instruction qu’on vient de lui fournir. L’ex´ecution de cette instruction est ef-
fectu´ee par l’interpr´eteur qui se charge de traduire l’instruction ´ecrite sous Python en ordres compr´ehensibles
par l’ordinateur, qui euxmˆemes se transformeront en signaux envoy´es aux circuits ´electroniques de l’ordinateur.
Le terme interpr´eteur peut prˆeter `a confusion. Python est incapable d’interpr´eter une instruction autrement
que comme un ordre imp´eratif. Il applique chaque instruction (c’est-`a-dire chaque ordre) sans aucun recul, sans
aucun ´etat d’ˆame, mˆeme si cela aboutit parfois `a un r´esultat tr`es ´eloign´e de ce que le programmateur avait en
tˆete. Incapable d’empathie avec le programmateur, un ordinateur ne r´einterpr`ete jamais un ordre de sa propre
initiative. C’est une machine qui fait exactement ce qu’on lui dit de faire, mais pas forc´ement ce qu’on voudrait
qu’il fasse. Ecrire un programme sous Python, c’est ´ecrire des instructions compr´ehensibles pour l’interpr´eteur
de Python. L’art de programmer, c’est agencer et imbriquer ces instructions de mani`ere judicieuse pour faire
calculer par l’ordinateur un r´esultat voulu. C’est `a la charge du programmateur de comprendre comment Python
effectue pr´ecis´ement chaque instruction pour pouvoir pr´evoir l’ex´ecution du programme.
Dans cette optique, il est fondamental de pouvoir ´ecrire en termes clairs une s´equence ou une imbrication d’ins-
tructions pour d´etailler un algorithme. Nous verrons essentiellement trois fa¸cons d’effectuer cette description :
M´ethode 1 : Ecrire le programme directement en Python. C’est une fa¸con rigoureuse de d´etailler un algorithme,
mais ce n’est pas forc´ement la fa¸con la plus intelligible, et elle n’est pas adapt´ee `a la description
succincte de gros programmes.
M´ethode 2 : le pseudocode. On d´etaille un algorithme avec des mots en fran¸cais, avec une syntaxe proche de
Python mais plus souple. La traduction du pseudocode en Python est relativement ais´ee, et il
est facile de traduire le pseudocode vers n’importe quel autre langage. Par ailleurs, quand il faut
´ecrire de gros programmes, le pseudocode peut s’adapter avec des mots qui d´ecrivent des parties
de programme plutˆot que des instructions. En pseudocode, on utilise les notations suivantes :
— Une affectation se note avec la fl`eche ←. Par exemple l’affectation a←5 se traduira en Python
par a= 5.
— Le test d’´egalit´e se note indiff´eremment = ou == (alors qu’en Python on le note ==).
M´ethode 3 : le graphe du flux des instructions. On repr´esente une instruction dans un rectangle si elle n’a
qu’une seule suite possible ; et dans un losange si elle ouvre la voie `a plusieurs possibilit´es de suite.
Des fl`eches repr´esentent l’ordre de d´eroulement des instructions. Nous verrons tr`es bientˆot ce genre
de repr´esentation. Un graphe de flux est un outil tr`es utile pour bien visualiser sur des exemples
de programmes courts le s´equen¸cage des instructions.
2.2 Instructions conditionnelles
Il est possible de r´ealiser des instructions seulement si une condition est v´erifi´ee
11