Dans sa prochaine mise à jour
5.5 gratuite prévue pour
Mai 2020,
Texas Instruments va rajouter de
formidables possibilités à ta
TI-83 Premium CE :
- mise à jour en 5.5 de l'application SciTools
- mise à jour en 5.5 de l'application Periodic
- mise à jour en 5.5 de l'application Python (TI-83 Premium CE Édition Python uniquement)
Cette dernière application apporte de nouveaux modules importables pour tes scripts
Python :
- time, certes déjà présent mais maintenant listé au menu et donc officiel; il ne risque plus de disparaitre
- ti_system, avec diverses possibilités :
- détection des simples pressions de touches clavier (sans validation donc) par l'utilisateur, avec même l'éventuel modificateur actif (
2nde
ou alpha
), et ça marche aussi avec un clavier USB ! - affichage dans la console à la ligne que tu veux
- exportation de listes de nombres (entiers, flottants ou complexes) existant dans le contexte Python vers l'environnement de la calculatrice, pour traitement à l'aide d'autres applications
- importation depuis le contexte Python de listes ou équation de régression existant dans l'environnement de la calculatrice
- et donc plus généralement un début d'intégration du Python à l'environnement mathématique de la calculatrice, enfin l'application Python va pouvoir servir non plus seulement à coder un truc déconnecté dans un coin, mais à traiter des problèmes et tâches complexes dans leur globalité !
- ti_plotlib, une bibliothèque graphique pour tracer dans un repère othogonal, conformément aux programmes de Mathématiques et Physique-Chimie, comparable à matplotl chez Casio ou encore matplotlib.pyplot
- ti_graphics pour contrôler directement les pixels de l'écran, comparable à kandinsky chez NumWorks ou encore casioplot
- ti_hub, pour les projets d'objects connectés à l'aide de l'interface TI-Innovator Hub
- ti_rover, pour les projets de robotique à l'aide du TI-Innovator Rover
Nous t'avions donc déjà exploré les possibilités des modules
ti_system,
ti_plotlib et
ti_graphics.
A priori donc pas de module
turtle. Trouvais-tu donc les possibilités graphiques décevantes ?
Et bien si, crois-le ou pas mais la formidable mise à jour
5.5 n'en a pas terminé de te révéler sa pléthore de secrets.
Texas Instruments nous a bien concocté en secret un module comparable à
turtle ici appelé
ce_turtl !
Décidément, c'est bien une mise à jour historique que
Texas Instruments est en train de te préparer. La plus grande mise à jour depuis le lancement de la
TI-83 Premium CE à la rentrée 2015 ?
Non non tu ne rêves pas. Nous ne t'en avions pas parlé jusqu'à présent car la solution retenue est étrangement similaire à celle de
Casio. C'est-à-dire que le module
ce_turtle n'est pas intégré à la mise à jour
5.5 et voilà donc pourquoi tu n'as pu en noter aucune trace jusqu'à présent. Il prend en fait la forme d'un fichier externe de variable d'application
ce_turtle.8xv qu'il faut à ce jour rajouter manuellement.
Toutefois
ce_turtle semble nous réserver quelques surprises, puisqu'une fois rajouté au contenu de la calculatrice ses icônes et types dans l'explorateur de
TI-Connect CE diffèrent de ceux utilisés pour les scripts
Python, un objet donc a priori fort intéressant...
Effectivement grosse surprise, la calculatrice ne liste pas
ce_turtl avec les autres scripts
Python transférés, mais avec les autres modules intégrés importables !
Cela voudrait-il dire que
Texas Instruments a codé un moyen de rajouter ses propres modules ?
Outre ce détail, en quoi
ce_turtl diffère-t-il d'un script
Python normal ?
Et bien à partir de l'entrée précédente tu as ici accès à un menu par onglets documentant ses différentes fonctions et en facilitant l'accès !
Peut-être y a-t-il d'autres avantages à utiliser un module rajouté plutôt qu'un script
Python normal comme
Casio, comme la disponibilité en mode examen. Ne disposant pas à ce jour du fichier
ce_turtle.8xv nous ne pouvons pas tester, mais ne manquerons pas de t'en informer aussitôt que possible.
Maintenant pour l'utilisation, l'importation du module
ce_turtle apporte apparemment un objet
turtle.
Il est donc a priori possible de construire du code compatible avec différents modèles à l'aide des lignes suivantes :
- Code: Select all
try:
from ce_turtl import turtle
except:
import turtle
Terminons justement avec quelques exemples pour commencer à découvrir la compatibilité. Nous utiliserons une fonction annexe
mypencolor() pour le réglage de la couleur de crayon, afin de contourner une divergence déjà évoquée chez
NumWorks.
Voici les
flocons de Koch :
Graph 35+E II | Graph 90+E | TI-83 Premium CE Edition Python | Num Works | ordi |
| | | | |
- Code: Select all
try: from ce_turtl import turtle except: import turtle
def mypencolor(t): cmax=255 try: turtle.pencolor((2, 2, 2)) except: cmax=1 if cmax==1 and max(t)>1: t=tuple(u/255 for u in t) elif cmax==255 and any(isinstance(u, float) for u in t): t=tuple(int(255*u) for u in t) turtle.pencolor(t) def koch(n, l): if n<=0: turtle.forward(l) else: koch(n-1, l/3) turtle.left(60) koch(n-1, l/3) turtle.right(120) koch(n-1, l/3) turtle.left(60) koch(n-1, l/3)
def flock(n, l): koch(n, l) turtle.right(120) koch(n, l) turtle.right(120) koch(n, l)
l=80
turtle.penup() turtle.forward(5) turtle.left(90) turtle.forward(45) turtle.right(150) turtle.pendown() turtle.pensize(3) mypencolor((0, 0, 255)) flock(2, l)
turtle.penup() turtle.left(30) turtle.backward(45) turtle.right(90) turtle.backward(105) turtle.right(90) turtle.forward(5) turtle.left(30) turtle.pendown() turtle.pensize(5) mypencolor((0, 255, 0)) flock(1, l)
turtle.penup() turtle.left(30) turtle.forward(22) turtle.left(30) turtle.pendown() turtle.pensize(3) mypencolor((255, 0, 0)) flock(0, l)
turtle.penup() turtle.left(30) turtle.forward(14) turtle.left(90) turtle.forward(205) turtle.left(120) turtle.pendown() turtle.pensize(1) mypencolor((0, 0, 0)) flock(3, l)
turtle.penup() turtle.left(30) turtle.forward(13) turtle.pendown() turtle.left(30) mypencolor((255, 127, 0)) flock(4, l)
turtle.penup() turtle.forward(150)
|
On note en passant également une divergence chez
Casio, la fonction
turtle.pensize() ne semblant pas être gérée correctement.
Et maintenant les
triangles de Sierpiński :
Graph 35+E II | Graph 90+E | TI-83 Premium CE Edition Python | Num Works | ordi |
| | | | |
- Code: Select all
try: from ce_turtl import turtle except: import turtle
def mypencolor(t): cmax=255 try: turtle.pencolor((2, 2, 2)) except: cmax=1 if cmax==1 and max(t)>1: t=tuple(u/255 for u in t) elif cmax==255 and any(isinstance(u, float) for u in t): t=tuple(int(255*u) for u in t) turtle.pencolor(t)
def sierp(n, l): if n == 0: for i in range (0, 3): turtle.fd(l) turtle.left(120) if n > 0: sierp(n-1, l/2) turtle.fd(l/2) sierp(n-1, l/2) turtle.bk(l/2) turtle.left(60) turtle.fd(l/2) turtle.right(60) sierp(n-1, l/2) turtle.left(60) turtle.bk(l/2) turtle.right(60)
turtle.penup() turtle.backward(109) turtle.left(90) turtle.backward(100) turtle.right(90) turtle.pendown() mypencolor((255, 0, 0)) sierp(6, 217) turtle.penup() turtle.forward(400)
|
Merci
Texas Instruments pour cette belle surprise des modules
Python rajoutables à laquelle nous ne nous attendions absolument pas.
Le module
ce_turtl hautement pertinent et a priori bénéficiant d'une certaine compatibilité avec le
turtle standard, offrira donc très bientôt de quoi réinvestir en Seconde les acquis du langage
Scratch du collège pour une transition en douceur vers le
Python !
Mais au-delà de cela, la solution technique retenue est des plus intéressantes. Cela voudrait-il dire qu'il serait à l'avenir possible pour des entités tierces de fournir des modules d'extension
Python pour la
TI-83 Premium CE Edition Python; avec peut-être validation par le constructeur via une signature électronique si le mode examen entre dans l'équation ?...