« Mathématiques avec Python et Ruby/Une tortue qui accélère la résolution de problèmes » : différence entre les versions

Un livre de Wikilivres.
Contenu supprimé Contenu ajouté
Aucun résumé des modifications
Ligne 3 : Ligne 3 :




Depuis la version 2.6, ''Python'' possède un module appelé '''turtle''' et qui lui permet de faire du graphisme à la [[w:LOGO|LOGO]]. Outre l'intérêt que peut présenter la consultation de son code source (on y trouve pratiquement tout ce qui est décrit dans [[Mathématiques_avec_Python_et_Ruby/Python_et_géométrie|les chapitres précédents]] sur la géométrie), ce module ''turtle'' permet de simplifier la résolution de certains problèmes et même d'introduire graphiquement certaines notions mathématiques. Le [[w:fil d'Ariane|Ariane (mythologie)]] de ce chapitre est que la tortue LOGO peut mémoriser certaines données de position et se comporte comme une mémoire à la fois plus puissante et moins abstraite que les habituelles variables numériques.
Depuis la version 2.6, ''Python'' possède un module appelé '''turtle''' et qui lui permet de faire du graphisme à la [[w:LOGO|LOGO]]. Outre l'intérêt que peut présenter la consultation de son code source (on y trouve pratiquement tout ce qui est décrit dans [[Mathématiques_avec_Python_et_Ruby/Python_et_géométrie|les chapitres précédents]] sur la géométrie), ce module ''turtle'' permet de simplifier la résolution de certains problèmes et même d'introduire graphiquement certaines notions mathématiques. Le [[w:Ariane (mythologie)|fil conducteur]] de ce chapitre est que la tortue LOGO peut mémoriser certaines données de position et se comporte comme une mémoire à la fois plus puissante et moins abstraite que les habituelles variables numériques.

Avant d'utiliser la tortue de ''Python'', on doit l'importer, en faisant

<source lang="python">
from turtle import *
</source>

Ensuite, une connaissance du vocabulaire de situation et de déplacement en anglais peut aider; en voici un échantillon:

# ''forward'' ou ''fd'': Pour avancer (l'unité de distance est le pixel)
# ''backward'' ou ''bk'': Pour reculer
# ''left'' ou ''lt'': Pour tourner à gauche (l'unité d'angle est le degré)
# ''right'' ou ''rt'': Pour tourner à droite
# ''goto'' pour téléporter la tortue (donner l'abscisse puis l'ordonnée)
# ''penup()'' ou ''pu()'' pour que les déplacements de la tortue cessent de laisser des traces à l'écran
# ''pendown()'' ou ''pd()'' pour que les déplacements de la tortue recommencent à laisser des traces
# ''position'' renvoie les coordonnées de la tortue
# ''home()'' renvoie la tortue au centre de l'écran (sa position initiale)
# ''reset()'' fait pareil mais en effaçant l'écran
# ''circle'' dessine un cercle (le rayon est en pixels)
# ''stamp()'' donne un coup de tampon sur l'écran, en laissant une empreinte de la tortue

L'écran n'apparaît que lors de l'exécution de la première instruction graphique (un ''forward'' par exemple). Sous Windows, il est déconseillé de laisser traîner la souris sur cet écran graphique. Dans les exemples qui suivent, l'export [[w:Graphisme vectoriel|vectoriel]] au format [[w:Postscript|eps]] du module ''TkInter'' (dont le module ''turtle'' hérite) a été utilisé pour produire des figures de meilleure qualité que celles qu'on voit sur l'écran de ''turtle''.


=Nombres relatifs=
=Nombres relatifs=
Ligne 10 : Ligne 33 :


==Nombres positifs==
==Nombres positifs==

Pour représenter l'addition de 21 et 34, on peut tout simplement entrer

<source lang="python">
from turtle import *

forward(21)
forward(34)

print(position())
</source>

Ce qui oblige à ignorer une information superflue (l'ordonnée de la tortue). La variante suivante permet d'éviter cela:

<source lang="python">
reset()
forward(21)
forward(34)

print(distance(0,0))
</source>



===Addition===
===Addition===

Version du 1 janvier 2012 à 15:36


Depuis la version 2.6, Python possède un module appelé turtle et qui lui permet de faire du graphisme à la LOGO. Outre l'intérêt que peut présenter la consultation de son code source (on y trouve pratiquement tout ce qui est décrit dans les chapitres précédents sur la géométrie), ce module turtle permet de simplifier la résolution de certains problèmes et même d'introduire graphiquement certaines notions mathématiques. Le fil conducteur de ce chapitre est que la tortue LOGO peut mémoriser certaines données de position et se comporte comme une mémoire à la fois plus puissante et moins abstraite que les habituelles variables numériques.

Avant d'utiliser la tortue de Python, on doit l'importer, en faisant

from turtle import *

Ensuite, une connaissance du vocabulaire de situation et de déplacement en anglais peut aider; en voici un échantillon:

  1. forward ou fd: Pour avancer (l'unité de distance est le pixel)
  2. backward ou bk: Pour reculer
  3. left ou lt: Pour tourner à gauche (l'unité d'angle est le degré)
  4. right ou rt: Pour tourner à droite
  5. goto pour téléporter la tortue (donner l'abscisse puis l'ordonnée)
  6. penup() ou pu() pour que les déplacements de la tortue cessent de laisser des traces à l'écran
  7. pendown() ou pd() pour que les déplacements de la tortue recommencent à laisser des traces
  8. position renvoie les coordonnées de la tortue
  9. home() renvoie la tortue au centre de l'écran (sa position initiale)
  10. reset() fait pareil mais en effaçant l'écran
  11. circle dessine un cercle (le rayon est en pixels)
  12. stamp() donne un coup de tampon sur l'écran, en laissant une empreinte de la tortue

L'écran n'apparaît que lors de l'exécution de la première instruction graphique (un forward par exemple). Sous Windows, il est déconseillé de laisser traîner la souris sur cet écran graphique. Dans les exemples qui suivent, l'export vectoriel au format eps du module TkInter (dont le module turtle hérite) a été utilisé pour produire des figures de meilleure qualité que celles qu'on voit sur l'écran de turtle.

Nombres relatifs

Les nombres (réels) peuvent être représentés par des graduations sur une droite, et donc par les emplacements de la tortue à l'écran.

Nombres positifs

Pour représenter l'addition de 21 et 34, on peut tout simplement entrer

from turtle import *

forward(21)
forward(34)

print(position())

Ce qui oblige à ignorer une information superflue (l'ordonnée de la tortue). La variante suivante permet d'éviter cela:

reset()
forward(21)
forward(34)

print(distance(0,0))


Addition

Soustraction

Nombres négatifs

Addition

Soustraction

Angles orientés

Fonctions

Nomogrammes

Statistique

Fractales

Voir aussi

Sur ce site, il y a un wikibook sur LOGO dont beaucoup d'idées sont transposables ici.