Exemples d’algorithmes :
Les ordinateurs, suivant le langage qu’on utilise, ont besoin d’instructions très détaillées pour atteindre l’objectif qu’on leur donne.
Les algorithmes de tri ne sont pas que des supports d’exercices, ils servent tous les jours dans la vraie vie des milliards et des milliards de fois. Autant qu’ils soient bien conçus.
Attention ! Seuls des élèves très expérimentés arriveront au bout de cette activité en une heure. Il est intéressant quand même d’arriver au moins à l’exercice du « point final ».
Écrivons un programme simple qui utilise un maximum de notions : un lanceur de dés.
Pour qu’Algobox puisse compter les messages qu’il écrit, il faut lui indiquer
un endroit dans son « cerveau » où stocker ce nombre.
On dit que l’on « déclare » une variable. Si on ne trouve pas de
meilleur nom, on peut au pire choisir i
.
On utilise le bouton DÉCLARER NOUVELLE VARIABLE
, et on utilise une variable
de type nombre
.
Utiliser les boutons NOUVELLE LIGNE
, Ajouter POUR…DE…A…
.
Dans la boucle (entre le DEBUT
et la FIN
du POUR
), on créé une ligne pour
AFFICHER MESSAGE
. Choisissez un mot simple comme « bonjour ».
Le bouton TESTER L’ALGORITHME
ouvre une fenêtre dans laquelle on trouve le
bouton LANCER L'ALGORITHME
. Êtes-vous content du résultat ? Fermez cette
fenêtre de test avant de passer à la suite pour améliorer la présentation.
On utilise les boutons NOUVELLE LIGNE
, MODIFIER LIGNE
, puis on ajoute une
espace ou on coche la case retour à la ligne
pour séparer les 10 affichages.
On utilise le bouton AFFICHER VARIABLE
pour ajouter une instruction dans la
boucle. Essayez de bien placer le numéro sur sa ligne.
Exercice
Obtenir le résultat suivant :
bonjour n°1.
bonjour n°2.
…
bonjour n°10.
Notez le point final sur chaque ligne.
retour à la ligne
.
On veut obtenir :
bonjour n°1,
bonjour n°2,
…
bonjour n°9,
bonjour n°10.
On supprime la ligne du point final avec Supprimer Ligne/Bloc
,
puis on la remplace par une NOUVELLE LIGNE
. On utilise le bouton
Ajouter SI…SINON
. La condition est i<=9
et on coche la case Ajouter SINON
.
On valide par OK
.
Dans la branche du SI
, on affiche une virgule, et dans celle du SINON
un
point (toujours avec le bouton AFFICHER MESSAGE
).
Exercice
Essayer de mettre une majuscule sur la première ligne uniquement, si possible sans toucher au 1 et au 10 de la boucle.
Déclarer une nouvelle variable nombre_lignes
(pas d’espace mais un tiret du
8), de type nombre
. Ajouter avant la boucle (avant la ligne commençant par
POUR…
l’instruction LIRE VARIABLE
et remplacer le nombre 10 par
nombre_lignes
.
(Le terme « lire » semble maladroit, mais vient d’une fonction
ancestrale read
.)
Tester. Bien observer la dernière ligne et ajuster le programme si besoin.
Déclarer nbre_aleat1
(pas d’espace mais un tiret du 8, pas d’accent).
AFFECTER
à cette variable la valeur random()
(à taper soi-même, sans
oublier les parenthèses).
Exercice
Toujours à partir du même programme, essayer d’obtenir un affichage du genre :
Nbre aléatoire n°1 : 0.12345,
Nbre aléatoire n°2 : 0.23451,
…
Nbre aléatoire n°10 : 0.34512,
Déclarer une nouvelle variable nbre_aleat2
et remplacer l’affichage de
nbre_aleat1
par celui de nbre_aleat2
grâce au bouton MODIFIER LIGNE
.
Deviner les opérations à effectuer sur nbre_aleat1
pour obtenir des nombres
aléatoires répartis dans $[1;7[$, puis affecter ce calcul à la variable
nbre_aleat2
. Tester.
Déclarer nbre_aleat3
et lui affecter floor(nbre_aleat2)
avant de
l’afficher à la place de nbre_aleat2
. Tester.
Exercice
Laisser l’utilisateur choisir le nombre de faces du dé.
Remarque
Depuis la version 0.6 d’Algobox, la fonction ALGOBOX_ALEA_ENT(m,n)
permet de
court-circuiter les étapes 6) et 7).