| HomeTortue graphiqueGPanelGameGrid WebTigerPython |
| Python - Online |
![]()
TU APPRENDRAS ICI... |
|
STRUCTURE D'UN PROGRAMME : SÉQUENCE |
Un programme informatique est constitué d'une suite d'instructions exécutées les unes après les autres, dans un ordre précis (séquence). Pour pouvoir utiliser les commandes de l'insecte, tu dois importer le module mbglow avec from mbglow import *.
Les commandes sont généralement écrites en anglais et se terminent toujours par des parenthèses. Celles-ci peuvent contenir des paramètres supplémentaires. Tu dois respecter exactement les majuscules et les minuscules. Avec forward(), l'insecte avance d'un pas dans sa direction actuelle. Au démarrage du programme, il est orienté vers le haut. Avec left(90), il tourne de 90 degrés vers la gauche et avec right(90), de 90 degrés vers la droite. Toutefois, ce changement de direction ne devient visible qu'à la prochaine commande forward(). on programme dessine la trace représentée sur la figure ci-contre.
|
RÉPÉTITION AVEC REPEAT |
Programme: from mbglow import * makeGlow() repeat 4: forward() left(90) |
Veille à respecter correctement l'indentation ! Programme: from mbglow import * makeGlow() setPos(-2, -2) repeat 4: repeat 4: forward() right(90) |
FONCTIONS (BLOCS DE PROGRAMME NOMMÉS) |
|
Les blocs de programme nommés, appelés fonctions en Python, rendent tes programmes plus clairs. De plus, tu peux appeler une fonction plusieurs fois. L'utilisation des fonctions est très importante, car elle permet d'éviter d'écrire plusieurs fois le même code dans un programme (duplication de code) et de décomposer un problème en plusieurs problèmes plus petits.
Choisis un nom de fonction qui indique ce que fait la fonction. Tu ne dois pas utiliser de caractères spéciaux (espaces, trémas, accents, signes de ponctuation, etc.). Commence toujours le nom par une lettre minuscule. Dans le programme suivant, tu définis une fonction square() qui dessine un carré, puis tu l'exécutes. Programme: from mbglow import * makeGlow() def square(): repeat 4: forward() forward() left(90) square()
Programme: from mbglow import * makeGlow() def square(): repeat 4: forward() forward() left(90) setSpeed(80) repeat 4: square() right(90) |
VARIABLES |
our cela, tu utilises l'instruction v = v + 20 , qui ressemble à première vue à une équation absurde. Elle indique cependant à l'ordinateur de prendre la valeur actuelle de v, d'y ajouter 20, puis d'enregistrer le résultat dans v. La commande showTrace(False) empêche l'insecte de laisser une trace derrière lui. Programme: from mbglow import * makeGlow() def square(): repeat 4: forward() forward() right(90) v = 30 showTrace(False) setPos(-1, -1) repeat 4: setSpeed(v) square() v = v + 20 |
RÉPÉTITION AVEC WHILE |
|
La boucle while est l'une des structures de programmation les plus importantes. Elle peut être utilisée pour toutes sortes de répétitions et existe dans pratiquement tous les langages de programmation. Une boucle whilecommence par le mot-clé while, suivi d'une condition et de deux-points. Tant que la condition est remplie, les instructions du bloc suivant sont répétées. Dans le langage courant, on pourrait exprimer cela ainsi : Tant que la condition est vraie, exécute... Dans les conditions, on utilise généralement les opérateurs de comparaison suivants :
Remarque que le signe égal est doublé lorsqu'on teste une égalité, afin de ne pas le confondre avec une affectation.
Programme: from mbglow import * makeGlow() setSpeed(90) showTrace(False) a = 0 while a <= 360: forward() forward() back() back() left(45) a = a + 45
Programme: from mbglow import * makeGlow() def square(): repeat 4: forward() forward() left(90) clear() setSpeed(90) showTrace(False) setPos(2, 0) left(45) while True: square() |
RÉPÉTITION AVEC FOR IN RANGE |
Avec for x in range(-2, 3) ,la variable x prend donc successivement les valeurs -2, -1, 0, 1 et 2. Les LED de la rangée supérieure s'allument alors les unes après les autres. Avec sleep(500), tu peux interrompre l'exécution du programme pendant 500 millisecondes afin de mieux observer son déroulement. Programme: from mbglow import * makeGlow() clear() for x in range(-2, 3): setPos(x, 2) sleep(500) |
STRUCTURE IF - ELSE (SÉLECTION) |
La sélection permet d'exécuter certains blocs de programme uniquement lorsque des conditions particulières sont remplies. Elle commence par le mot-clé if, suivi d'une condition. Les instructions du bloc if ne sont exécutées que si la condition est vraie. Sinon, les instructions qui suivent else sont exécutées. Dans une condition if, on utilise généralement les opérateurs de comparaison >, >=, <, <=, == et !=. Les instructions des blocs if et else doivent être indentées. La partie else peut également être omise.
Programme: from mbglow import * makeGlow() right(90) x = 0 showTrace(False) while True: forward() x = x + 1 if x == 3: setPos(-2, 0) x = -2 Dans le programme suivant, l'insecte doit avancer de deux pas ou reculer de deux pas de manière aléatoire, puis s'arrêter brièvement, effacer sa trace et revenir à sa position initiale. Il doit répéter ce mouvement 10 fois.
Programme: from mbglow import * from random import randint makeGlow() setSpeed(80) repeat 10: r = randint(0, 1) if r == 1: forward() forward() else: back() back() sleep(300) clear() setPos(0, 0) |
À RETENIR... |
Les structures fondamentales de la programmation sont la séquence, la répétition et la sélection. Dans une séquence, les instructions sont exécutées les unes après les autres. Une répétition permet d'exécuter plusieurs fois un bloc de programme. Dans TigerJython, tu peux utiliser pour cela les boucles repeat, while ou for. La sélection avec if et else permet d'exécuter certaines instructions uniquement lorsque des conditions particulières sont remplies. La partie else est facultative. Les fonctions sont importantes pour la programmation structurée. Elles permettent d'éviter la duplication du code et de décomposer les problèmes en sous-problèmes plus petits. On parle également de modularisation. |
EXERCICES À RÉSOUDRE |
|
![]()