Exercice #50 : Booléen – Algorithme non programmable avec Milo

Cet exercice permet de créer un algorithme non programmable avec Milo et de réviser la logique de la programmation. Le sujet principal abordé dans cet exercice et la notion de booléen. Cet exercice est construit sur le même principe que les exercices du pack “51 exercices d’algorithmique (avec Milo)“.

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

Proposez un algorithme permettant à Milo de traverser le niveau :

sujet
  • Milo 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 marche sur une tête alors qu’il est déjà grand, il dit « tailleMAX »
  • Pour rappel :
    • Une tête permet à Milo de grandir.
    • Un booléen ne peut prendre que deux valeurs « VRAI » ou « FAUX ».
    • 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

Revoir les types

La représentation visuelle (algorithme)

représentation visuelle

L’algorithme non programmable écrit en Pseudo-code (Notion de booléen)

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

début algorithme

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

  • 1 : Si le personnage n’a pas marché sur une tête
  • 2 : Si le personnage n’est pas petit
  • 3 : Si le personnage n’a pas marché sur une tête et qu’il n’est pas petit

Il est donc nécessaire de faire un nouveau test dans le bloc « SINON » (ou après le mot clef « FINSI ») pour vérifier si le personnage a bien marché sur une tête.

alternative test si

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

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


Enfin, si j’ajoute une boucle « POUR » gérant la séquence de déplacement (Avancer / Droite / Avancer / Gauche), il est possible d’optimiser l’algorithme avec cette version finale que je propose :

version finale
Version finale de l’algorithme non programmable (Booléen)

Aller à la liste des exercices

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