sixième Introduction à l'algorithmique avec PYTHON TURTLE Initiation aux algorithmes avec PYTHON turtle 1 Environement Python et remarques générales 1.0.1 Sous linux-ubuntu vous allez dans le menu Application/programmation et vous cliquez sur le programme IDLE o Sous windows : dans le menu Windows, cliquer sur le programme IDLE. o On peut aussi utiliser un éditeur en ligne : https://trinket.io/python Si on utilise l'éditeur installé sur l'ordinateur : o Dans la fenêtre Python Shell qui s'est ouverte choisir File/New Window. C'est dans cette deuxième fenêtre que vous allez saisir votre programme. Pas dans la fenêtre Python Shell . o Dans la nouvelle fenêtre qui s'est ouverte : File/Save As ... (indiquez le nom et l'emplacement du chier qui contiendra votre programme ; donnez-lui le suxe .py). Vous pouvez choisir votre clé USB (c'est le mieux) ou bien creer un répertoire à votre nom. o Saisissez votre programme. La coloration syntaxique permet de détecter les erreurs de syntaxe les plus supercielles. Pour sauvegarder : Ctrl-S. Pour lancer votre programme : F5. La fenêtre Python Shell devient la fenêtre active. C'est dans cette fenêtre qu'ont lieu les Entrées/Sorties de votre programme. C'est aussi dans cette fenêtre que s'achent les messages d'erreur. Sixième Introduction à l'algorithmique o Pour les erreurs de syntaxe, revenir dans la fenêtre où vous avez saisi votre programme : le petit carré rouge qui y est apparu est en général juste après votre erreur de syntaxe. o Pour les autres messages d'erreur, lire le libellé de la première erreur achée et relever le numéro de ligne indiqué. Dans la fenêtre où vous avez saisi votre programme : Alt-G puis saisissez le numéro de la ligne. Le curseur se positionne alors sur la ligne où s'est produit l'erreur. o Si un programme boucle indéniment, l'arrêter avec Ctrl-C. Remarques Remarques générales d'informaticien 1. De préférence, les noms de chiers ne doivent pas avoir d'espace ou de caractères spéciaux type ', !, : ... 2. Les raccourcis clavier suivants sont bien protables : Ctrl S pour sauvegarder PYTHON et algorithmique Page 1/4 Sixième Sixième Introduction à l'algorithmique o Lancer l'interpréteur Python : Introduction à l'algorithmique avec PYTHON TURTLE sixième Ctrl C pour copier Ctrl V pour coller Ctrl X pour couper Memento de turtle Le langage Logo a été inventé pour initier les enfants à la programmation. Une tortue parcourt l'écran en suivant les ordres qui sont donnés par le programme et sa trajectoire s'ache à l'écran. Voici les principales instructions qui peuvent être données à la tortue : Voici un aide mémoire des principales instruction de turtle. o reset() On eace tout et on recommence o goto(x, y) Aller à l'endroit de coordonnées x, y o forward(distance) Avancer d'une distance donnée Par exemple forward(100) fait avancer la tortue de 100 o backward(distance) Reculer Par exemple backward(100) fait reculer la tortue de 100 o up() Relever le crayon (pour pouvoir avancer sans dessiner) La tortue se déplace mais il n'y a plus de trait o down() Abaisser le crayon(pour recommencer à dessiner) Sixième Introduction à l'algorithmique o color(couleur) Couleur du tracé. <couleur> peut être une chaîne prédénie ('red', 'blue', 'green', etc.) Par exemple, color(red) fera un tracé en rouge et si on veut changer de couleur, il faut de nouveau utiliser cette instruction. o bgcolor(couleur) o left(angle) Couleur du fond d'écran. <couleur> peut être une chaîne prédénie Tourner à gauche d'un angle donné (exprimé en degrés) Par exemple, left(90) fera tourner la tortue de 90 degrés sur sa gauche. o right(angle) Tourner à droite o width(épaisseur) o fill(1) Choisir l'épaisseur du tracé Remplir un contour fermé à l'aide de la couleur sélectionnée o write(texte) <texte> doit être une chaîne de caractères délimitée avec des ou des ' Par exemple, write('bonjour') fera écrire bonjour sur l'écran PYTHON et algorithmique Page 2/4 Sixième Sixième Introduction à l'algorithmique 1.1 sixième Introduction à l'algorithmique avec PYTHON TURTLE 2 On commence pour de vrai Python a été installé avec diérents modules, spécialisés dans diérentes tâches. Pour utiliser un module il faut commencer par l'importer. Ici notre programme va utiliser le module turtle . from turtle import * sur la première ligne. Pour voir la tortue à l'écran, il faut lui donner une forme. Cela se fait avec l'instruction shape("turtle"). On peut ensuite dénir la taille de la fenêtre dans laquelle va se déplacer la tortue avec l'instruction screensize(l,h) où l et h sont les largeurs et hauteurs en pixels. Enn c'est une bonne habitude de commencer par eacer l'écran avec l'instruction clear() et puis réinitialiser toutes les variables par reset(). Les cinq premières lignes du prochain chier seront à répéter systématiquement. Remarque Avec l'éditeur en ligne, on n'a pas besoin de dénir la fenêtre (instruction screensize(1000,1000) par exemple). 2.1 Succession d'instructions Pour donner plusieurs instructions successives à la tortue, il sut d'écrire ces instructions à la suite les unes des autres, en allant à la ligne à chaque fois. Exercice 1 premier exemple On commence avec le programme suivant : 1. A from t u r t l e import * Sixième Introduction à l'algorithmique votre avis, que va dessiner ce pro- gramme. shape ( " t u r t l e " ) s c r e e n s i z e (1000 ,1000) reset () clear () forward (100) right (90) forward (100) 2. Ecrire le programme dans la fenêtre et le faire fonctionner 3. Compléter le programme pour qu'il dessine un carré. 4. Modier le programme pour que le carré soit dessiné avec deux couleurs, les côtés opposés étant de même couleur. 2.2 Boucle POUR Exercice 2 Utilisation d'une boucle pour répéter des instructions Pour dessiner le carré, on a répété 4 fois les instructions suivantes : forward(100) right(90) On peut utiliser une boucle POUR et il faut écrire alors for i in range(1,5) : Tester alors le programme suivant : PYTHON et algorithmique Page 3/4 Sixième Sixième Introduction à l'algorithmique Il doit donc commencer par sixième Introduction à l'algorithmique avec PYTHON TURTLE from t u r t l e import * 2.3 Applications des instructions vues dans les deux premiers exemples Exercice 3 Dessiner un triangle équilatéral 1. Rappeler quels sont les mesures des angles d'un triangle équilatéral. 2. Sans utiliser de boucle POUR, écrire une suite d'instructions pour dessiner un triangle équilatéral de côté 100. 3. Combien de fois a-t-on répété la même série d'instructions ? Réécrire alors ce programme en utilisant cette fois une boucle POUR. Exercice 4 Spirale En s'inspirant du programme ci-dessus, écrire un Sixième Introduction à l'algorithmique Ecrire le programme suivant : programme qui dessine une spirale comme cidessous. from t u r t l e import * shape ( " t u r t l e " ) s c r e e n s i z e (1000 ,1000) reset () clear () forward (10) right (90) forward (10*2) right (90) forward (10*3) right (90) forward (10*4) Exercice 5 Dessiner des pointillés Ecrire un programme pour dessiner des pointillés de longueur 10 et espacés de 10 PYTHON et algorithmique Page 4/4 Sixième Sixième Introduction à l'algorithmique shape ( " t u r t l e " ) s c r e e n s i z e (1000 ,1000) reset () clear () for i in range ( 1 , 5 ) : forward (100) right (90)