Exercice #4 : Test, Booléen et boucle POUR en pseudo-code

Cet exercice permet de réviser les notions de test, booléen et boucle POUR. Il est extrait du module de formation “51 exercices d’algorithmique (avec Milo)“. Il montre comment écrire un algorithme, façon H2PROG et compréhensible par tout un chacun.

Bien que cet algorithme ne soit pas directement programmable (à cause de l’utilisation d’un personnage et d’un parcours), la syntaxe utilisée et la logique observée, vous permettront de mieux appréhender les notions de base de la programmation.

Tentez de résoudre cet exercice par vous même. Vous en trouverez la correction sous la présentation du sujet.

Le sujet de l’exercice

Proposez un algorithme permettant à Milo de traverser le niveau suivant :

le parcours de l'exercice
Le parcours de l’exercice
  • Il commence avec une petite taille et lorsqu’il rencontre une tête il grandit. Attention, il n’y a que deux tailles possibles pour le personnage, soit il est grand, soit il est petit.
  • Si Milo est déjà grand quand il marche sur une tête, il dit « taille MAX »
  • Une tête permet à Milo de grandir

Pour rappel, le personnage ne peut réaliser que 3 actions de déplacement (instructions) :

  • gauche : effectue un quart de tour sur sa gauche
  • droite : effectue un quart de tour sur sa droite
  • avancer : avance d’une case vers l’avant

La représentation visuelle (algorithme)

Voici la représentation visuelle de l’algorithme, permettant à Milo de traverser le niveau :

la représentation visuelle de l'exercice
la représentation visuelle

L’écriture du pseudo-code de l’algorithme

La version ci-dessous montre la liste des instructions nécessaires pour que Milo traverse le niveau. Les tests en violet, sont à écrire à la place des instructions encadrées dans la version finale.

pseudo-code exercice
pseudo-code

Le bloc « SINON » du premier test intervient dans 3 cas :

  • le personnage n’a pas marché sur une tête
  • il n’est pas petit
  • Milo n’a pas marché sur une tête et il n’est pas petit

Il est donc nécessaire de faire un nouveau test dans le bloc « SINON » pour vérifier que le personnage a bien marché sur une tête

Le test proposé dans la version précédente peut être écrit soit en utilisant l’opérateur « ET » pour combiner deux conditions, soit avec des « SI » imbriqués, comme le montre cette autre possibilité :

autre version du test SI
Autre version pour le test “SI”

Notez qu’écrire le test « SI petit » revient à tester « SI petit = VRAI ».

Enfin, en rajoutant une boucle « POUR » gérant la séquence de déplacement (Avancer / Droite / Avancer Gauche), il est possible d’optimiser l’algorithme. Voici la version finale que je propose :

Version finale
Version finale, Test, Booléen et boucle POUR

Aller à la liste des exercices

L’exercice est disponible en vidéo

La vidéo youtube de l’exercice

Pour continuer votre apprentissage de l’algorithmique

pack d'exercices algorithmique

Le pack de 51 exercices

Laisser un commentaire

RSS
Suivre les articles par mails
YouTube
YouTube
LinkedIn
LinkedIn
Share
Instagram