Partie I : Affectation et Calculs Simples (Exercices 1 à 6)
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.
Partie II : Procédures avec Variables Internes (Exercices 7 à 12)
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).
Corrections (Partie I & II)
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**.
Explication :
- 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