Outils pour l’algorithmique
0$"%$('# #()'*) $#(0!0"#) '(
( #()'*) $#(0!0"#) '(
Avant de pouvoir écrire un algorithme, il faut réussir à décomposer la résolution du problème
posé en instructions élémentaires.
On peut ranger des instructions très diverses en quatre grandes familles :
entrée/sortie : elles permettent d’entrer une donnée ou d’a cher un résultat ;
les a ectations de variables : elles modi ent la valeur d’un nombre, la forme d’un objet ;
les instructions conditionnelles : elles permettent de tester et de proposer des choix ;
les boucles : elles permettent de répéter des instructions.
) + )0(
Activité #!-()'$ (!$' )"(
Lire les deux entiers a et b
Calculer le reste r de la division
euclidienne de a par b
TANT QUE r est di érent de 0
– Remplacer a par b
– Remplacer b par r
– Remplacer r par le reste de la
division euclidienne de a par b
A cher la valeur de b
Lire le nombre n
Écrire tous les entiers entre 2 et n
Pour chacun de ces entiers, en
commençant par 2 :
– Si il n’est pas rayé
Alors rayer tous ses multiples
sauf lui-même
Écrire la liste des entiers non
rayés
Lire le nombre de données N
Lire toutes les données
Calculer la somme des données
Diviser cette somme par N
A cher le résultat.
1 Tester chacun des algorithmes ci-dessus, puis expliquer leur but.
2 Reproduire les algorithmes 1, 2 et 3, puis souligner à l’aide de couleurs di érentes, les quatre grandes familles d’ins-
tructions :
a. entrée/sortie : en rouge ; b. a ectation de variables : en bleu ;
c. instruction conditionnelle : en vert ; d. boucle : en noir.
3 En s’inspirant des décompositions en instructions élémentaires réalisées en 2 et en utilisant les familles
d’instructions vues au paragraphe , écrire un algorithme pour chacun des problèmes mathématiques suivant :
a. On connaît la courbe représentative d’une fonction f. On cherche à déterminer l’image d’un réel x par f.
b. On dispose d’une règle graduée et d’un compas. On cherche à construire un triangle équilatéral dont le côté mesure c.
c. On cherche à déterminer si un triangle dont les côtés mesurent respectivement a, b et c est rectangle.
Activité (*)'!!)!'#$* !!
Une grenouille distraite chasse une sauterelle. La grenouille et la sauterelle se déplacent en ligne droite
en faisant des bonds simultanés mesurant respectivement 40 cm et 24 cm. Cette grenouille est capable
d’attraper avec sa langue tout insecte situé à moins de 10 cm devant elle, mais elle
est fort distraite et si elle dépasse la sauterelle, elle oublie son objectif. Ce jour-là, la
grenouille aperçoit la sauterelle à une certaine distance d comprise entre 2 m et 5 m. La
course s’engage. On souhaite écrire un algorithme qui, lorsqu’on lui donne la distance
initiale d répond à la question « la sauterelle réussira-t-elle à échapper à la grenouille ? »
Pour chacun des items ci-après, écrire la (ou les) instruction(s) élémentaire(s) correspondante(s).
1 Il faut demander au début l’avance de la sauterelle sur la grenouille.
Outils pour l’algorithmique
2 Ensuite, on va placer dans des variables la position de la grenouille et celle de la sauterelle.
3 On crée également une variable qui contient la valeur 1 tant que la chasse continue et
la valeur 0 lorsque celle-ci doit s’arrêter.
4 Tant que la chasse continue, on fait avancer les animaux d’un saut, puis on regarde :
a. si la grenouille est à plus de 10 cm derrière la sauterelle, alors les 2 animaux refont un saut ;
b. sinon la chasse est nie.
5 a. Si la grenouille est à moins de 10 cm derrière la sauterelle, alors elle mange la sauterelle.
b. Si la grenouille a dépassé la sauterelle, alors la sauterelle s’est échappée.
6 Penser à donner la réponse à la question posée.
)'*#+' !
0 # ) $#(
Une variable est désignée par son nom (que le créateur de l’algorithme choisit) et
contient un objet (nombre, texte, tableau…) souvent appelé valeur de la variable.
A ecter une valeur à une variable consiste à « ranger » cette valeur (ou cet
objet) dans la variable considérée. Toute nouvelle a ectation remplace (et détruit)
la précédente.
Pour suivre l’évolution du contenu des variables d’un algorithme, on dresse
généralement un « tableau de suivi » dans lequel on indique le contenu de chaque
variable à chacune des étapes de l’algorithme :
abc À l’étape 4 , on a :
10// a = b + 2
2 2
2 + 2
4
a = 4
202/
302
- 7
442- 7
54- 2 - 7
64- 2 0
%$ #)!*!)'
Casio
La séquence de touches :
P
permet d’a ecter la valeur 2 à la variable P :
TI
La séquence de touches :
P
permet d’a ecter la valeur 2 à la variable P :
Sur les deux calculatrices, on constate que la valeur 2 a bien été « retenue » puisque le calcul de P3# donne bien 6.
Cependant les calculatrices Casio et Texas Instrument ne permettent pas d’a ecter un texte à une variable. L’activité 2
du paragraphe , page 12, n’est donc pas possible avec ces calculatrices.
Variable :
a, b, c : réel ;
Début
1 a = 0 ;
2 b = 2 ;
3 c = - 7 ;
4 a = b + 2 ;
5 b = b - 4 ;
6 c = b + 2 ;
Fin
4 b. Ne pas oublier
d’actualiser la variable
permettant de savoir
si la chasse est nie,
sinon la boucle du 4
n’aura pas de n.
On constate généralement
trois (ou quatre) façons de
noter l’a ectation d’une
valeur (par exemple 3) à une
variable (par exemple v) :
v : = 3
ou v3! ou v3
=
(dans les calculatrices,
on voit souvent : v3").