A la rentrée 2019 le
Plusieurs calculatrices graphiques intègrent déjà une implémentation
Ces diverses implémentations ne sont pas équivalentes et diffèrent dans l'éventail de modules qu'elles proposent.
Aussi comme nous l'avons déjà vu, ces implémentations diffèrent également par le contenu proposé dans chaque module.
Nous avons en effet déjà comparé les modules , , , , ,
Voici un petit récapitulatif des modules disponibles sur chaque implémentation avec le nombre d'entrées offertes à chaque fois :
D'où à date le classement suivant :
Python
sera le seul langage de programmation préconisé pour l'enseignement de l'algorithmique au lycée en Seconde et Première.Plusieurs calculatrices graphiques intègrent déjà une implémentation
Python
officielle dans leur dernière mise à jour, plus ou moins complète, fidèle et réussie selon le cas :- NumWorksavecMicroPython 1.9.4
- Casio Graph 90+EavecMicroPython 1.9.4
- HP Primeavec l'écriturePythondeXcas
- le module externe TI-PythonpourTI-83 Premium CEavecCircuitPython(dérivé de MicroPython)
- TI-NspireavecMicroPython 1.4.6
- Casio Graph 90+Eavec l'écriturePythondeKhiCAS
- Casio Graph 35+E/75+EavecMicroPython 1.9.4
Ces diverses implémentations ne sont pas équivalentes et diffèrent dans l'éventail de modules qu'elles proposent.
Aussi comme nous l'avons déjà vu, ces implémentations diffèrent également par le contenu proposé dans chaque module.
Nous avons en effet déjà comparé les modules , , , , ,
sys
, array
, collections
et gc
.Voici un petit récapitulatif des modules disponibles sur chaque implémentation avec le nombre d'entrées offertes à chaque fois :
NumWorks | Casio Graph 90+E | module externe TI-Python pourTI-83 Premium CE | |||
builtins | 218 | 188 | 175 | 204 | 190 |
array | 4 | 4 | 4 | ||
collections | 2 | ||||
cmath | 12 | 12 | 12 | ||
gc | 7 | 7 | 7 | ||
math | 41 | 41 | 25 | 41 | 28 |
random | 8 | 8 | 8 | 8 | |
sys | 15 | 12 | 15 | ||
time | 3 | 4 | |||
spécifique | ? (nsp) | ? (kandinsky) | ? (handshake) | ||
Modules | 7 | 6 | 3 | 7 | 9 |
Éléments | 297+ | 252+ | 208 | 288 | 258+ |
D'où à date le classement suivant :
- avec 7modules et plus de297entrées
- avec 7modules et288entrées
- module externe TI-PythonpourTI-83 Premium CEavec9modules et plus de258entrées
- NumWorksavec6modules et plus de252entrées
- Casio Graph 90+Eavec3modules et208entrées
Un classement bien évidemment non final, puisque basé sur la comparaison d'une partie des modules.
Aujourd'hui poursuivons avec la comparaison des modules
Pour cela, utilisons le script suivant :
Python
spécifiques à certains implémentations:- kandinskypour le dessin surNumWorks
- nsppour le dessin et le clavier surTI-Nspire
- et le mystérieux handshakesur le module externeTI-Python
Pour cela, utilisons le script suivant :
- Code: Select all
#platforms:
#0: MicroPython / TI-Nspire
#1: MicroPython / NumWorks
#2: MicroPython / G90+E
#3: MicroPython / G35+E/USB / G75/85/95
#4: CircuitPython / TI-Python / 83PCE
#5: Xcas / HP Prime
#6: KhiCAS / Graph 90+E
def getplatform():
id=-1
try:
import sys
try:
if sys.platform=='nspire':id=0
if sys.platform=='TI-Python Adapter':id=4
except:id=3
except:
try:
import kandinsky
id=1
except:
try:
if chr(256)==chr(0):id=5+(not ("HP" in version()))
except:
id=2
return id
platform=getplatform()
#lines shown on screen
plines=[29,12, 7, 9,11,0,0]
#max chars per line
#(error or new line if exceeded)
pcols =[53,99,509,32,32,0,0]
nlines=plines[platform]
ncols=pcols[platform]
curline=0
def mprint(*ls):
global curline
st=""
for s in ls:
if not(isinstance(s,str)):
s=str(s)
st=st+s
stlines=1+int(len(st)/ncols)
if curline+stlines>=nlines:
input("Input to continue:")
curline=0
print(st)
curline+=stlines
def sstr(obj):
try:
s=obj.__name__
except:
s=str(obj)
a=s.find("'")
b=s.rfind("'")
if a>=0 and b!=a:
s=s[a+1:b]
return s
def isExplorable(obj):
s=str(obj)
return s.startswith("<module '") or s.startswith("<class '")
def explmod(pitm,pitmsl=[],reset=True):
global curline
if(reset):
curline=0
pitmsl=[sstr(pitm)]
hd="."*(len(pitmsl)-1)
spath=".".join(pitmsl)
c=0
for itms in sorted(dir(pitm)):
c=c+1
try:
itm=eval(spath+"."+itms)
mprint(hd+itms+"="+str(itm))
if isExplorable(itm):
pitmsl2=pitmsl.copy()
pitmsl2.append(itms)
c=c+explmod(itm,pitmsl2,False)
except:
mprint(hd+itms)
if c>0:
mprint(hd+"Total: "+str(c)+" item(s)")
return c
Enfin, voici ci-dessous une reconstitution de ce que le module externe
Il semble donc s'agir d'un module redéfinissant la fonction
TI-Python
devrait afficher à partir de nos observations d'octobre dernier :TI-Python wrote:>>> from EXPLMOD import *
>>> import handshake
>>> explmod(handshake)
__file__=handshake.py
__name__=handshake
_print=<function>
print=<function>
Total: 4 item(s)
4
Il semble donc s'agir d'un module redéfinissant la fonction
print()
, peut-être pour que son affichage se produise bien sur l'écran de la calculatrice TI-83 Premium CE
qui, rappelons-le, n'est techniquement pas la machine exécutant les scripts puisque c'est le processeur du module externe TI-Python
qui s'en charge.Il sera intéressant d'en consulter le code, ce que nous n'avons pas pu faire la dernière fois. 

Suite à cela, mettons à jour notre petit récapitulatif :
Voici donc enfin le classement final de la richesse des différentes implémentations
NumWorks | Casio Graph 90+E | module externe TI-Python pourTI-83 Premium CE | |||
builtins | 218 | 188 | 175 | 204 | 190 |
array | 4 | 4 | 4 | ||
collections | 2 | ||||
cmath | 12 | 12 | 12 | ||
gc | 7 | 7 | 7 | ||
math | 41 | 41 | 25 | 41 | 28 |
random | 8 | 8 | 8 | 8 | |
sys | 15 | 12 | 15 | ||
time | 3 | 4 | |||
spécifique | 10 (nsp) | 5 (kandinsky) | 4 (handshake) | ||
Modules | 7 | 6 | 3 | 7 | 9 |
Éléments | 307 | 257 | 208 | 288 | 262 |
Voici donc enfin le classement final de la richesse des différentes implémentations
Python
sur calculatrices: 
- avec 7modules et307entrées
- avec 7modules et288entrées
- module externe TI-PythonpourTI-83 Premium CEavec9modules et262entrées
- NumWorksavec6modules et257entrées
- Casio Graph 90+Eavec3modules et208entrées
Enfin final jusqu'à-ce que l'un ou l'autre des constructeurs se décide à nous rajouter de nouveaux modules. 
