🐢 TP Pratique N°7 : Variables et Procédures Paramétrées

Bienvenue dans ce TP Pratique N°7 sur monirpro.com, consacré à la maîtrise des variables et de la commande DONNE. En programmation, une variable est un espace mémoire nommé qui permet de conserver une information pour l'utiliser plus tard. Jusqu'à présent, vos dessins utilisaient des valeurs fixes ; aujourd'hui, vous apprenez à rendre vos scripts intelligents. Grâce à la commande DONNE, vous allez pouvoir stocker des longueurs, des angles ou des nombres de répétitions, rendant votre code flexible et adaptable. C'est cette capacité à manipuler des données changeantes qui constitue le cœur de la création de logiciels et d'algorithmes professionnels.

Objectif du TP

Maîtriser les commandes DONNE, : (appel de variable) et la création de procédures dynamiques.

Prérequis Techniques

Maîtrise de REPETE, AV, TD et des bases de l'interface LOGO.

I Partie I : Affectation et Calculs Simples

Exercice 1 : Initialisation de la Taille

Écrivez la ligne de commande LOGO qui permet d'initialiser une variable nommée TAILLE avec la valeur 150.
N'oubliez pas les guillemets (") pour nommer la variable.

Exercice 2 : Affichage d'une Variable

Écrivez les commandes LOGO pour :

  • Affecter la valeur 90 à une variable nommée ANGLE.
  • Afficher cette valeur dans la console LOGO.

Exercice 3 : Utilisation dans un Calcul (Avance)

Écrivez les commandes pour :

  • Affecter 50 à une variable X.
  • Affecter à une variable Y le double de X (X * 2).
  • Faire avancer la tortue de la valeur de Y.

Exercice 4 : Ordre d'Exécution et Réaffectation

Quel est le dernier nombre affiché par la commande EC après l'exécution du code suivant ?

DONNE "A 10
DONNE "B 20
DONNE "A :B - :A
EC :A

Exercice 5 : Lecture et Réaffectation (Couleur)

Écrivez les commandes qui permettent d'affecter la couleur ROUGE (valeur 2) à la variable C1, puis d'affecter la valeur de C1 à une nouvelle variable C2, et enfin d'utiliser C2 pour régler la couleur du tracé (FCC :C2).

Exercice 6 : Calcul avec Division

Quel est le résultat affiché par la commande EC après l'exécution du code suivant ?

DONNE "TOTAL 75
DONNE "PART :TOTAL / 3
DONNE "RESULTAT :PART + 5
EC :RESULTAT

Rappel : Les calculs se font en utilisant le `:` devant les variables utilisées dans l'opération.

II Partie II : Procédures avec Variables Internes

Exercice 7 : La Procédure AV_MAJ

Créez une procédure nommée AV_MAJ qui effectue les actions suivantes :

  • Définit une variable locale LONGUEUR à 80.
  • Avance de LONGUEUR.
  • Tourne à droite de 120 degrés.

Écrivez l'ensemble du code de la procédure.

Exercice 8 : Dessiner un Segment Dynamique (Externe)

Créez une procédure SEGMENT qui utilise une variable globale PAS pour avancer. Écrivez le code de la procédure, suivi des lignes de commande qui permettront de dessiner un segment de 50 puis un segment de 100.

Attention : Ici, PAS est défini à l'extérieur de la procédure.

Exercice 9 : Le Carré Variable (Interne)

Modifiez la procédure CARRE pour qu'elle utilise une variable TAILLE. Définissez TAILLE à 70 à l'intérieur de la procédure.

Écrivez la nouvelle procédure, puis l'appel simple pour l'exécuter.

Exercice 10 : Le Triangle Variable (Interne)

Créez une procédure TRIANGLE qui dessine un triangle équilatéral. La longueur des côtés sera définie par une variable LONG initialisée à 120.

Rappel : L'angle de rotation d'un triangle équilatéral est de 360 / 3 = 120 degrés.

Exercice 11 : Le Pentagone Variable (Interne)

Créez une procédure PENTAGONE qui utilise les variables internes COTE (longueur 60) et ANGLE (calculé avec 360 / 5).

Écrivez la procédure complète pour dessiner cette figure à 5 côtés.

Exercice 12 : Séquence de Dessins Variables

Utilisez les procédures CARRE (Ex. 9) et TRIANGLE (Ex. 10) pour créer une nouvelle procédure nommée SEQUENCE. Dans cette procédure, assurez-vous de soulever le crayon (LC) et de faire avancer de 100 pas entre les deux dessins, puis de remettre le crayon (BC).

Analysez les solutions proposées ci-dessous et assurez-vous de bien comprendre le rôle de chaque commande, l'affectation et l'appel des variables.

Correction Exercice 1 : Initialisation de la Taille

DONNE "TAILLE 150

Rappel : DONNE pour l'affectation, "TAILLE" pour le nom.

Correction Exercice 2 : Affichage d'une Variable

DONNE "ANGLE 90
EC :ANGLE  # Utilisation du ':' pour lire la valeur

Rappel : EC (Écris) est la primitive pour afficher dans la console. Le : est obligatoire pour lire la valeur.

Correction Exercice 3 : Utilisation dans un Calcul (Avance)

DONNE "X 50
DONNE "Y :X * 2 # Y vaudra 100
AV :Y          # Avance de 100

Correction Exercice 4 : Ordre d'Exécution et Réaffectation

Le nombre affiché est 10.

Explication :
DONNE "A 10 (A=10)
DONNE "B 20 (B=20)
DONNE "A :B - :A (A = 20 - 10 = 10). La nouvelle valeur 10 est affectée à A.
EC :A (Affiche 10)

Correction Exercice 5 : Lecture et Réaffectation (Couleur)

DONNE "C1 2      # C1 vaut 2 (Rouge)
DONNE "C2 :C1    # C2 prend la valeur de C1, soit 2
FCC :C2         # Règle la couleur du crayon sur 2 (Rouge)

Correction Exercice 6 : Calcul avec Division et Arrondi

Le résultat affiché est 30.

DONNE "TOTAL 75
DONNE "PART :TOTAL / 3
DONNE "RESULTAT :PART + 5
EC :RESULTAT (Affiche 30)

Correction Exercice 7 : La Procédure AV_MAJ

POUR AV_MAJ
    DONNE "LONGUEUR 80
    AV :LONGUEUR
    TD 120
FIN

# Pour lancer la procédure :
AV_MAJ

Correction Exercice 8 : Dessiner un Segment Dynamique (Externe)

POUR SEGMENT
    # Utilise la variable PAS définie globalement
    AV :PAS
FIN

# Appels :
DONNE "PAS 50
SEGMENT   # Dessine un segment de 50
DONNE "PAS 100
SEGMENT   # Dessine un segment de 100

Note : Définir la variable en dehors de la procédure permet de la changer facilement pour les appels suivants.

Correction Exercice 9 : Le Carré Variable (Interne)

POUR CARRE
    DONNE "TAILLE 70
    REPETE 4 [ AV :TAILLE TD 90 ]
FIN

# Pour l'exécuter:
CARRE

Correction Exercice 10 : Le Triangle Variable (Interne)

POUR TRIANGLE
    DONNE "LONG 120
    REPETE 3 [ AV :LONG TD 120 ]
FIN

# Pour l'exécuter:
TRIANGLE

Correction Exercice 11 : Le Pentagone Variable (Interne)

POUR PENTAGONE
    DONNE "COTE 60
    DONNE "ANGLE 360 / 5
    REPETE 5 [ AV :COTE TD :ANGLE ]
FIN

# Pour l'exécuter:
PENTAGONE

Correction Exercice 12 : Séquence de Dessins Variables

POUR SEQUENCE
    CARRE      # Dessine le carré (taille interne 70)
    LC         # Lève le crayon
    AV 100     # Avance sans tracer
    BC         # Baisse le crayon
    TRIANGLE   # Dessine le triangle (taille interne 120)
FIN

# Pour l'exécuter:
SEQUENCE

💡 Maîtriser la commande DONNE sur monirpro.com

La Rigueur du Guillemet

En Logo, la commande DONNE nécessite l'utilisation d'un guillemet (") avant le nom de la variable pour l'initialiser. C'est une convention syntaxique majeure. Sur monirpro.com, nous insistons sur cette précision car elle entraîne l'élève à comprendre la différence entre l'étiquette d'un conteneur et son contenu réel.

Appel de la Valeur

Une fois la donnée stockée, on y accède en utilisant les deux-points (:). Cette distinction entre l'écriture (") et la lecture (:) est un concept universel en informatique que vous retrouverez dans des langages plus avancés comme le PHP ou les scripts Shell.

Flexibilité Algorithmique

L'avantage des variables dans ce TP est de pouvoir modifier une seule ligne de code (la valeur donnée à la variable) pour transformer instantanément toute la figure géométrique. Cela illustre parfaitement la puissance de l'automatisation et de la maintenance logicielle.

Vers des Projets Complexes

La maîtrise des variables est le dernier verrou à faire sauter avant de pouvoir créer des jeux interactifs ou des simulations mathématiques. En réussissant ces exercices, vous prouvez votre capacité à gérer des états mémoire, une compétence clé pour tout futur informaticien.