Seconde 7, année 2013-2014 ALGORITHMIQUE Cours – Exemples •1
1 Qu’est-ce qu’un algorithme ?
1.1 Exemples
Considérons le programme de construction suivant inti-
tulé cercle circonscrit à un triangle ABC.
1. Soient A, B et C trois points distincts non
alignés du plan.
2. - Tracer la médiatrice (d) du segment [AB].
3. - Tracer la médiatrice (d’) du segment [AC].
4. - Appeler 0 le point d’intersection des
droites (d) et (d’).
5. - Tracer le cercle de centre O et de
rayon R=OA.
On appelera Cle cercle circonscrit au triangle ABC.
En étudiant ce programme de plus près, on peut distinguer
trois parties :
a) des données : les trois points A, B et C.
b) une suite d’instruction : 2, 3 et 4 écrites dans un ordre
déterminé
— certaines instructions, comme 2 et 3, s’ap-
pliquent aux données (les points A, B et C)
— d’autres, telle l’instruction de la ligne 4 (et aussi
5), s’appliquent à des « objets » produits par le
programme (les droites (d) et (d’))
c) un résultat : ici le résultat produit par le programme
est le cercle Ccirconscrit au triangle ABC.
Considérons la recette suivante intitulée pâte à crêpes.
1. - prendre 5 oeufs, 500 g de farine,
1 litre de lait, 3 cuillères à soupe
d’huile, 1/2 verre de bière,
1 saladier et 1 fouet
2. - dans le saladier, verser la moitié de
la farine
3. - rajouter les oeufs un par un, en mélangeant
avec le fouet
4. - rajouter un peu de lait puis de la farine,
puis à nouveau du lait et ainsi de suite
(en continuant à mélanger)
5. - rajouter l’huile et la bière
6. - laisser reposer 1 heure
7. - récupérer une pâte à crêpe pour faire
20 crêpes
Ici aussi, on retrouve la même structure que précédem-
ment :
a) des données : ici ce sont les différents ingrédients mais
aussi le matériel à utiliser
b) une suite d’instruction à réaliser dans un ordre déter-
miné
c) un résultat : la pâte à crêpes (miam)
1.2 Une définition
Un algorithme peut être considéré comme une « machine »
formée de trois blocs :
1. les ENTRÉES sont des données (nombres, listes de
nombres, chaînes de caractères . ..) permettant « d’ini-
tialiser » l’algorithme (en seconde, les entrées seront es-
sentiellement des nombres)
2. une suite finie d’INSTRUCTIONS qui s’appliquent, dans
un ordre déterminé, à des entrées ou à des données
produites par les instructions précédentes. On parle du
TRAITEMENT des données.
3. les SORTIES sont les résultats obtenus par l’application
de la suite (finie et ordonnée) des instructions.
Remarque •Le mot « algorithme » vient du nom du ma-
thématicien persan al-Khuwarizmi (9ème siècle) dont le
traité d’algèbre décrit des procédés de calcul à suivre étape
par étape pour résoudre des problèmes qui se ramènent
souvent à la résolution d’équations. Divers algorithmes
sont en fait connus dès l’Antiquité, par exemple l’algo-
rithme d’Euclide (qui permet le calcul du PGCD de deux en-
tiers) ou encore le calcul d’approximations du nombre π.
1.3 Organigramme
Il est pratique de présenter un algorithme sous la forme
d’un organigramme (voir les exemples plus loin); par
convention les ENTRÉES soront précédées de l’instruction
«Lire » et les SORTIES seront précédées de l’instruction « Af-
ficher ».
L’organigramme est destiné à faciliter, par sa présentation,
la programmation (en machine) de l’algorithme dans le
langage que l’on aura choisi (par exemple le langage C, le
langage C++, le langage Python, le langage Java .. . qui sont
des langages utilisés pour la programmation sur ordina-
teur).
2 Le langage de l’algorithmique
2.1 Variable et affectation
Pour mémoriser les donnnées initiales ou les résultats in-
termédiaires des calculs, on utilise des VARIABLES. Du point
de vue de l’ordinateur, une variable est une zone de mé-
moire au contenu de laquelle on accède via un identifica-
teur. Du point de vue algorithmique, une variable a un nom
fixe et une valeur qui peut changer au cours de l’exécution
de l’algorithme.
Remarque •On peut imaginer que pour un ordinateur,
une variable est une « boîte » dont le nom est fixe mais
dont le contenu change au fur et à mesure de l’exécution
de l’algorithme.
Remarque •La nature et le rôle des variables en informa-
tique et en mathématique sont donc différents, bien qu’on
utilise le même mot.
Les instructions de base que l’on peut pratiquer avec une
variable V sont les suivantes :