Faire un carré en Python

La réforme du BAC Agricole est en marche. Pour vous raconter un peu ma vie, et le fonctionnement des lycées agricoles, nous allons de la 4ᵉ au BAC dans mon établissement. On peut monter jusqu’aux BTS et aux écoles d’ingénieur. L’an prochain, nous accueillons d’ailleurs deux BTS. J’enseigne principalement en troisième les maths et l’info, et pour compléter, je fais la première et la terminale. La réforme induit essentiellement deux nouveautés. La fin de l’examen terminal au profit de CCF, l’introduction de Python au programme. La grande difficulté va être de trouver du sens à Python quand la Numworks fait déjà beaucoup. Mon premier objectif sera de me remettre à niveau, et de présenter des activités simples aux élèves. Nous commençons par faire un carré en Python.

Préambule

J’insiste bien par me mettre au niveau BAC PRO. Car, bien évidemment, ce genre d’article attire tous les trolls de l’internet qui vont expliquer qu’on peut faire autrement, mieux. Pour se mettre à niveau, j’ai choisi le seul manuel actuellement disponible, qui se trouve être piloté par l’inspecteur. Vous noterez que j’y mets le lien, le backlink est offert 😉

Les mathématiques, c’est particulièrement compliqué pour les BAC PRO. Des lacunes, des énoncés denses, du texte, des problèmes de logique. La programmation rajoute une complexité de plus. Le programme quant à lui n’a pas diminué, au contraire. Nous n’avons que deux heures par semaine pour faire plus. Il s’agit donc de faire une approche de Python sans noyer les élèves. Je me calerai donc sur le niveau du manuel et apporterai des activités complémentaires et rapides. En effet, les exemples dans le livre sont assez nombreux, ici ça me permet de faire une synthèse.

Faire un carré en Python

Le langage Python fonctionne avec certaines bibliothèques. La bibliothèque pour faire un dessin, c’est turtle. Concrètement, si vous vous voulez faire des lignes, vous êtes forcé de dire que vous allez utiliser la bibliothèque turtle. C’est pareil que pour dire qu’on va faire Pythagore, on a besoin d’un triangle rectangle. Ainsi, votre programme commencera de la façon suivante.

from turtle import *

Trois, instructions différentes pour dessiner. forward(distance), permet de se déplacer de la distance donnée vers l’avant. left(angle) permet d’orienter vers la gauche et right(angle) vers la droite. Je trouve que la notion n’est pas forcément simple, comme ça, c’est pas mal. On voit qu’en tournant deux fois sur la gauche, on a un angle droit à 90° par rapport au premier trait.

Ainsi, pour faire un carré en Python de 150 de côté, on exécutera le programme suivant :

On remarquera deux points. Le premier, c’est la fermeture du programme par done(). Il sera nécessaire de l’utiliser dès qu’on fera appel à la bibliothèque turtle. Le second point, c’est que j’ai fait le choix de left. Cela veut dire que j’avance, je tourne à gauche, donc je monte, et ainsi de suite. J’obtiendrai un résultat similaire en faisant right sauf que je partirai vers le bas. Voici le résultat avec deux carrés qui se succèdent. Le premier en partant à gauche, le second en partant à droite.

Utiliser une boucle

La boucle est connue depuis la classe de troisième avec Scratch. L’élève est donc capable de comprendre rapidement qu’avec un carré, on a une répétition de quatre fois les choses.

Ce qu’il faut comprendre dans la syntaxe.

  • La boucle sera définie par l’instruction for i in range(nombre de fois qu’on veut boucler): On voit qu’on boucle quatre fois car tout revient quatre fois dans le carré
  • La syntaxe est précise, si on ne met pas les deux points ça ne fonctionne pas.
  • De la même manière, le contenu de la boucle est réalisé par une indentation, c’est-à-dire un espace. Pour faire propre, on utilise la touche tabulation du clavier. On voit que seules les instructions forward et left sont dans la boucle.

Réaliser un carré en Python avec une longueur demandée

Plutôt que de changer à la main la longueur du côté, il peut être intéressant de demander à la personne la longueur qu’elle veut. Voici le programme correspondant, attention, il est faux.

Je viens de définir la variable « cote « . On notera que je n’ai pas mis de caractères spéciaux ou de chiffres. Il est possible de mettre des chiffres, mais pas au début. Pour faire simple, on va éviter des noms étranges pour des programmes simples.

L’expression input en anglais signifie mettre à l’intérieur. On met donc dans « cote » ce que va saisir l’utilisateur à la question concernant la longueur de côté. Le problème c’est que Python considère qu’il s’agit d’une chaine de caractère sans savoir qu’il s’agit de chiffres. On va donc rajouter eval, pour faire comprendre à Python que l’utilisateur a fait une saisie d’un nombre. Soit :

Conclusion

Un exercice particulièrement simple mais qui permet à la fin de :

  • définir les boucles
  • définir les variables
  • dessiner

One Comment

Comments are closed.