même si ce chapitre présente les composants élémentaires du langage, l’aisance qu’on
peut acquérir en programmation vient à la fois de la connaissance du langage mais
aussi de la connaissance d’algorithmes standards comme celui du tri ou d’une
recherche dichotomique. C’est cette connaissance tout autant que la maîtrise d’un
langage de programmation qui constitue l’expérience en programmation.
Les trois concepts des algorithmes
Les algorithmes sont composés d’instructions, ce sont des opérations élémentaires que
le processeur exécute selon trois schémas :
enchaînement des instructions les unes à la suite des autres : passage d’une
instruction à la suivante
passage d’une instruction à une autre qui n’est pas forcément la suivante
(c’est une rupture de séquence)
choix entre deux instructions
Le saut n’apparaît plus de manière explicite dans les langages évolués car il est une
source fréquente d’erreurs. Il intervient dorénavant de manière implicite au travers des
boucles qui combinent un saut et un test. On écrit toujours ceci avec les langages les
plus récents :
initialisation de la variable moy à 0
faire pour i allant de 1 à N
moy reçoit moy + ni
moy reçoit moy / N
Et ceci est traduit par :
ligne 1 : initialisation de la variable moy à 0
ligne 2 : initialisation de la variable i à 1
ligne 3 : moy reçoit moy + ni
ligne 4 : i reçoit i + 1
ligne 5 : si i est inférieur ou égal à N alors aller à la ligne 3
ligne 6 : moy reçoit moy / N
Tout programme peut se résumer à ces trois concepts. Chaque langage les met en
place avec sa propre syntaxe et parfois quelques nuances mais il est souvent facile de
les reconnaître même dans des langages inconnus. Le calcul d’une somme décrit plus
haut et écrit en python correspond à l’exemple suivant :
<<<
t = [0, 1, 2, 3, 4]
N = 5
moy = 0
for i in range(1, N + 1): # de 1 à N+1 exclu --> de 1 à N inclus
moy += t[i - 1] # le premier indice est 0 et non 1
moy /= N
print(moy)