Débuter en algorithmique
Fiche professeur Seconde
Auteur : IREM de Lorraine
Mots-clefs :
débuter en algorithmique
instruction conditionnelle
notion de variable informatique
Durée indicative : 1 heure
Thème de l’activité :
Cette première activité a pour objectif de faire comprendre aux élèves ce qu’est un al-
gorithme, de mettre en évidence les différents acteurs qui gravitent autour (concepteur,
exécutant,...) et de dégager sa structure principale (entrée-traitement-sortie).
Dans un premier temps, les élèves ont pour tâche d’écrire un procédé de calcul destiné à
être exécuté par une personne ignorant la nature du problème.
Dans un deuxième temps, il s’agira de faire exécuter ce procédé par un ordinateur. L’écri-
ture d’un algorithme est liée à la nature et au fonctionnement de l’exécutant. Le professeur
expliquera pour la première fois la manière de « s’adresser à un ordinateur » et explicitera
en particulier la gestion des données par un ordinateur au travers du concept de variable
informatique et du principe d’affectation.
Énoncé :
Une entreprise de transport possède trois cars de 50 places chacun et elle se propose
d’assurer le transport des supporters d’une équipe de rugby. Chaque car se loue 800
euros.
Le secrétaire de l’entreprise souhaite pouvoir donner le prix à payer pour chaque
supporter dès qu’on lui donne le nombre total de supporters qui se déplacent.
Pourriez-vous lui rédiger un procédé de calcul qui conduit au résultat voulu ?
Déroulement de la séance :
Phase 1 :
Dans un premier temps, il est demandé aux élèves d’écrire un algorithme destiné à être
exécuté par une personne et non par une machine. On précisera que la procédure de calcul
doit pouvoir être exécutée par une personne ne connaissant pas la nature du problème.
Aucun formalisme d’écriture n’est exigé, on insiste sur la précision de l’écriture de la pro-
cédure de calcul.
Après une première phase d’écriture individuelle, il est souhaitable de laisser les élèves
échanger sur la qualité de leur production (l’élève exécute l’algorithme de son voisin et
juge de sa clarté et de son exactitude).
La principale difficulté rencontrée par les élèves à ce stade résulte de l’ignorance du nombre
de supporters qui se déplacent et de l’impossibilité de connaître par avance le nombre de
cars nécessaire au transport des supporters.
On pourra aider les élèves en difficulté en leur suggérant d’écrire un procédé de calcul pour
30 supporters, pour 65 supporters puis de généraliser l’écriture d’un procédé de calcul.
1
Cette généralisation devrait conduire à l’utilisation du « si ... alors ».
Exemples de production d’élèves
La structure « Si...alors » apparaît naturellement mais écrite sous différentes formes (si...
faire, pour...faire). Certains élèves ont naturellement recours à une variable mathématique
égale au nombre de supporters afin de faciliter l’écriture de l’algorithme.
Le professeur mettra en évidence la notion d’entrée (que faut-il connaître pour appliquer
cet algorithme ?) et la notion de sortie (quel est le résultat attendu ?)
On met en évidence les personnes qui interviennent autour de cet algorithme :
- Le concepteur de l’algorithme (ici l’élève).
- L’exécutant de l’algorithme (le secrétaire).
- La personne qui fournit l’entrée (le président du club de supporters).
Un algorithme est composé d’une liste de tâches à effectuer par l’exécutant. Il est donc
souhaitable de le rédiger par une suite d’injonctions.
On aboutira ainsi à un algorithme de ce type :
Entrée : Le nombre de supporters x(compris entre 1 et 150)
Sortie : Le prix par supporter
Traitement :
si 1 x50 alors effectuer l’opération 800
xqui donne le prix par supporter
si 51 x100 alors effectuer l’opération 1600
xqui donne le prix par supporter
si 101 x150 alors effectuer l’opération 2400
xqui donne le prix par supporter
Phase 2 : Introduction à la notion de variable informatique
L’ordinateur fonctionne d’une manière particulière ; on ne lui communique pas la liste
des tâches à effecteur comme on le ferait à une personne. Un élément fondamental qui
distingue son fonctionnement de celui d’une personne est la gestion de sa mémoire. Le
professeur introduira le concept de variable informatique (espace mémoire) et la notion
d’affectation. Pour que les élèves aient une image physique de la notion de variable, il
est possible de leur présenter une variable informatique comme une case vide qui porte
un nom dans laquelle on peut mettre une valeur. L’opération qui consiste à mettre une
valeur dans la case s’appelle l’affectation.
Ici, deux variables informatiques sont utilisées : la variable X qui stocke le nombre de
supporters et la variable P qui stocke le prix par supporter.
Dans cet algorithme, il est nécessaire de mentionner le traitement de l’entrée et de la
2
sortie. Le traitement de l’entrée est fait par l’injonction « Lire X » (l’ordinateur demande
à l’utilisateur une valeur à saisir au clavier et l’affecte à X), le traitement de la sortie est
fait par l’injonction « Afficher la valeur de P ».
Entrée : Le nombre de supporters compris entre 1 et 150 stocké
dans la variable X
Sortie : Le prix par supporter affic à l’écran
Traitement :
lire X
si 1X50 alors affecter à Pla valeur 800
X
si 51 X100 alors affecter à Pla valeur 1600
X
si 101 X150 alors affecter à Pla valeur 2400
X
écrire la valeur de P
Remarque :
Au lieu de X, il faudrait écrire la valeur de X! Par commodité d’écriture, on confond
la variable informatique Xet son contenu. A ce stade de l’apprentissage, pour l’élève, la
notion de variable informatique est très proche de celle de variable mathématique !
Quel lien avec les contenus mathématiques à enseigner ?
Si fdésigne la fonction qui au nombre de supporters associe le prix par supporter, cette
activité permet de mettre en évidence le concept de fonction en tant que processus qui à
un nombre xen associe un autre ; analogie entre f:x7→ f(x) et Algorithme : Entrée 7→
Sortie. La notion d’ensemble de définition de fest naturellement abordée.
La question sur le minimum de fet les valeurs pour lesquelles il est atteint peut être
posée.
Exemples d’exercices de consolidation des notions étudiées dans cette pre-
mière activité :
Quelques exemples d’exercices qui pourraient être proposés comme travail à faire à la
maison suite à cette première séance.
Travail sur le concept de variable informatique
Exercice :
Bob a écrit ci-dessous la partie « traitement » un algorithme per-
mettant d’échanger les valeurs de deux variables dont les valeurs
initiales sont saisies au clavier.
L’exécution de cet algorithme produit-elle le résultat souhaité ? si
oui, justifier la réponse, si non modifier l’algorithme en conséquence.
lire A
lire B
affecter à Ala valeur de B
affecter à Bla valeur de A
écrire la valeur de A
écrire la valeur de B
Travail sur l’identification des entrées et des sorties
1. Écrire un algorithme dont l’exécution permet de renvoyer la valeur de l’aire d’un
rectangle dont les dimensions sont données par l’utilisateur.
les entrées sont mentionnées dans l’énoncé. Cet exercice ne devrait pas poser de
difficulté particulière.
2. Ecrire un algorithme dont l’exécution permet de calculer le volume d’un cylindre.
L’élève devra cette fois identifier les entrées.
3. Écrire un algorithme dont l’exécution permet de calculer le volume d’un cône dont
3
la hauteur est deux fois supérieure au rayon de la base.
Exercice difficile. Bien que le rayon de la base soit lié à la hauteur du cône, de
nombreux élèves ne réalisent pas qu’il s’agit d’un algorithme à une entrée !
4.
[AB] est un segment de longueur 10. Mest un point du
segment [AB].
Écrire un algorithme dont l’exécution renvoie la valeur
de l’aire de la figure composée des deux carrés AMCD
et MBEF en fonction de la position du point M.
A BM
CD
EF
Analyse de ce dernier exercice :
La position du point Mest définie par la donnée de la longueur AM ou BM donc
par un réel de l’intervalle [0,10]. Ce changement de registre constitue la première
difficulté de cet exercice.
Le calcul de l’aire de cette figure nécessite la connaissance de la longueur AM et
celle de BM. Un grand nombre d’élèves considèrent alors qu’il y a deux entrées.
Ci-dessous un algorithme très répandu parmi les productions d’élèves.
Lors de l’exécution de cet algorithme traduit en langage
Algobox, les élèves saisissent cependant les valeurs de X
et de Yen cohérence. Ils ont donc bien compris que ces
deux variables sont liées mais ils ne conçoivent pas qu’il
y a qu’une seule entrée pour cet algorithme.
La compréhension de l’unicité de l’entrée est un enjeu
majeur de cet exercice et est un objectif important en
mathématiques. En effet, si l’on souhaite par la suite
que les élèves associent naturellement une fonction ma-
thématique à ce type d’énoncé (en vue par exemple de
résoudre un problème d’optimisation), il est nécessaire
qu’ils aient bien compris que cette aire dépend de la
donnée d’une seule variable !
Entrées :
longueur Xde [AM].
longueur Yde [BM ].
Sortie : Aire Sde la figure
Traitement :
lire X
lire Y
affecter à A1la valeur X2
affecter à A2la valeur Y2
affecter à Sla valeur A1+A2
écrire la valeur de S
On aboutira successivement aux algorithmes suivants :
Entrées :
longueur Xde [AM]
Sortie : Aire Sde la figure
Traitement :
lire X
affecter à Yla valeur 10 X
affecter à A1la valeur X2
affecter à A2la valeur Y2
affecter à Ala valeur A1+A2
écrire la valeur de S
puis vers un
algorithme
« optimisé »
Entrées :
longueur Xde [AM]
Sortie : Aire Sde la figure
Traitement :
lire X
affecter à Sla valeur X2+ (10 X)2
écrire la valeur de S
Il restera à aborder une propriété fondamentale de la variable informatique, à savoir
la possibilité d’affecter à une variable informatique, une valeur calculée à partir de son
contenu précédent. Cette propriété est fondamentale et permettra la programmation de
boucles.
4
1 / 4 100%