π
<-
Chat plein-écran
[^]

News 2024
Avril (1)

News 2023
Août (2)
Juin (3)
Mai (7)
Avril (2)
Mars (3)

News 2022
Août (3)
Juin (4)
Mai (1)
Avril (6)
Mars (4)
Janvier (12)

News 2021
Août (8)
Juillet (28)
Juin (20)
Mai (19)
Avril (25)
Mars (15)

News 2020
Août (16)
Juillet (13)
Juin (17)
Mai (38)
Avril (21)
Mars (17)

News 2019
Août (10)
Juin (4)
Mai (11)
Avril (8)
Mars (18)
Janvier (14)

News 2018
Août (5)
Juin (9)
Mai (10)
Avril (2)
Mars (14)
Janvier (12)

News 2017
Août (10)
Juillet (14)
Juin (14)
Mai (11)
Avril (9)
Mars (12)
Janvier (11)

News 2016
Octobre (10)
Août (8)
Juin (8)
Mai (14)
Avril (9)
Mars (13)
Janvier (11)

News 2015
Octobre (15)
Août (11)
Juin (7)
Mai (12)
Avril (6)
Mars (11)

News 2014
Août (2)
Juin (2)
Mai (5)
Avril (4)
Mars (5)

News 2013
Août (6)
Juin (8)
Mai (14)
Avril (24)
Mars (16)
Janvier (10)

News 2012
Octobre (11)
Août (6)
Juin (8)
Mai (16)
Avril (16)
Mars (6)

News 2011
Août (4)
Juin (11)
Mai (5)
Avril (2)
Mars (6)

News 2010
Juin (1)
Mai (2)
Avril (1)

News 2009
Août (2)
Avril (1)

Module TI-Python: exploration module time + comparaison

Nouveau messagede critor » 19 Jan 2019, 11:42

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. Voici la liste de ces pythonnettes :
  • NumWorks avec MicroPython 1.9.4
  • Casio Graph 90+E avec MicroPython 1.9.4
  • HP Prime avec l'écriture Python de Xcas
L'on peut également citer le module externe TI-Python pour TI-83 Premium CE avec CircuitPython (dérivé de MicroPython), et qui sera disponible à compter de mars 2019.

À côté de cela nous avons aussi plusieurs implémentations communautaires, qui donc à la différence ne fonctionneront pas en mode examen pour les examens 2020 :


10015Dans sa dernière mise à jour 9.2.0 NumWorks vient de rajouter le module time, a priori une exclusivité.

Sauf que nous te révélions par la suite que le module time était déjà inclus dans le module externe TI-Python présenté au mois d'octobre aux journées APMEP à Bordeaux.

Après l'avoir donc fait sur NumWorks, explorons donc ce qu'a à offrir le module time sur le module externe TI-Python pour TI-83 Premium CE, toujours à l'aide du script suivant :
Code: Tout sélectionner
#platforms: (0)TI-Nspire (1)NumWorks (2)Graph 90+E (3)Graph 75+E (4)TI-Python
plines=[29,12,  7, 9,11]
pcols =[53,99,509,32,32]
platform=0
try:
  import sys
  try:
    if sys.platform=='nspire': platform=0
    if sys.platform=='TI-Python Adapter': platform=4
  except: platform=3
except:
  try:
    import kandinsky
    platform=1
  except:
    platform=2

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 explmod(pitm,r=False,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 r and spath.rfind(itms)<0:
        pitmsl2=pitmsl.copy()
        pitmsl2.append(itms)
        c=c+explmod(itm,r,pitmsl2,False)
    except:
      mprint(hd+itms)
  if c>0:
    mprint(hd+"Total: "+str(c)+" item(s)")
  return c


TI-Python a écrit:>>> from explmod import *
>>> import time
>>> explmod(time)
__name__=time
monotonic=<function>
sleep=<function>
struct_time=<class 'struct_time'>
Total: 4 item(s)
4
>>>


Et bien non, malgré le petit nombre d'entrées dans les deux cas, ces deux implémentations du module time ne sont pas équivalentes :
NumWorks
TI-Python pour
TI-83 Premium CE
__name__='time'
monotonic()
sleep()
.
__name__='time'
monotonic()
sleep()
<struct_time>
Total: 3Total: 4


D'où le classement suivant :
  1. module externe TI-Python pour TI-83 Premium CE avec 4 entrées
  2. NumWorks avec 3 entrées
  3. TI-Nspire et Casio Graph 35/75/90+E avec 0 entrée
Lien vers le sujet sur le forum: Module TI-Python: exploration module time + comparaison (Commentaires: 7)

Geometry Dash : Shiphard, adaptation libre Back on Track (2)

Nouveau messagede critor » 20 Jan 2019, 13:16

Ta TI-83 Premium CE bénéficie d'une superbe adaptation de Geometry Dash par Epharius aidé d'Anonyme0 :bj:

D'origine, le jeu inclut des adaptations de trois des 21 niveaux accompagnant la version complète du jeu mobile :
  • Stereo Madness (niveau 1 - easy)
  • Polargeist (niveau 3 - normal)
  • Dry Out (niveau 4 - normal)

Mais il est de plus possible de créer et charger tes propres niveaux. :bj:
La conception se passe sur ordinateur avec le logiciel Tiled où il suffira d'utiliser le tileset de Geometry Dash, puis d'en exporter une version .csv avant de la convertir en ligne en fichier pour ta calculatrice.
PocketArt t'a fait un tuto-vidéo à ce sujet. :bj:

Egalement disponible donc en niveau additionnel :


10183Pour continuer à avoir du fun cette semaine, Colisalalia te sort une adaptation du niveau 2, Back on Track.

Notons qu'il s'agit ici d'une adaptation libre, dans le sens où la fin a été complètement changée, d'où justement un changement du nom du niveau en Shiphard ainsi qu'un changement de la difficulté annoncée en hard.

Et bien justement, es-tu cap de passer la zone du bateau ?... :bat:

Pour le rajouter il n'y a rien de plus facile, il te suffira simplement d'envoyer le fichier du niveau sur ta calculatrice et il deviendra automatiquement sélectionnable à l'écran d'accueil de Geometry Dash.


Téléchargements :
Source : viewtopic.php?f=12&t=19211&p=237706#p237706
Lien vers le sujet sur le forum: Geometry Dash : Shiphard, adaptation libre Back on Track (2) (Commentaires: 5)

Avec Symbolic, étends les capacités maths de ta 82 Advanced

Nouveau messagede critor » 20 Jan 2019, 17:25

La TI-82 Advanced est techniquement une TI-84 Plus, mais a été bridée pour empêcher l'ajout d'applications.

Toutefois dans un article précédent, nous t'annoncions enfin la possibilité d'installer les applications TI-82+/83+/84+ de ton choix sur ta TI-82 Advanced, grâce au formidable travail de parrotgeek1. :bj:

10184Seules les applications n'occupant qu'une seule page mémoire (16Kio) sont installables.

Mais même dans ce cas ça ne marchera pas forcément suite aux grosses différences internes entre la version système 5.0.0.0028 de la TI-82 Advanced et la dernière version 2.55MP de la TI-84 Plus.

C'est notamment le cas de la légendaire application Symbolic qui, une fois son hook activé, plante la TI-82 Advanced dès que l'on effectue de la saisie en écriture naturelle. :'(

Mais une solution a été trouvée. Il te suffit de :
  • mettre l'application Symbolic sur ta calculatrice
  • ne pas installer le hook de l'application Symbolic (ne pas valider Install dans son menu une fois lancée, ou encore mieux ne pas la lancer du tout)
    10185
  • mettre l'application Omnicalc sur ta calculatrice
  • installer le hook de l'application Omnicalc (la lancer, valider le choix Install/Uninstall dans son menu, confirmer l'écrasement du hook si jamais elle le demande)

Si tu souhaites continuer à pouvoir lancer les programmes assembleur et/ou archivés avec l'application Calcutil, lance-la maintenant pour installer son hook, mais choisis de le chaîner au hook déjà installé avec
+
et surtout pas de l'écraser.
ImageImageImage


L'application Omnicalc propose plein de choses dont nous couvrirons la compatibilité TI-82 Advanced dans un prochain article.

Mais ce qui nous intéresse ici, c'est qu'elle provient de la même équipe de développement que l'application Symbolic, qu'elle installe un hook qui gère également l'application Symbolic, et que cette version du hook ne plante pas sur TI-82 Advanced ! :bj:

En tapant maintenant
math
math
tu as accès à un tout nouveau menu avec plein de fonctions supplémentaires ! :bj:
ImageImageImageImage

On peut citer notamment :
  • d( pour la dérivation formelle ! :bj:
  • simp( pour la simplicication d'expressions ! :bj:
  • sign(, fonction de signe qui faisait défaut à la calculatrice ! :)
  • let( pour la substitution d'une variable dans une expression :)
  • numStr( pour la conversion d'un nombre en chaîne de caractères :)
Maintenant étendue avec Symbolic, ta TI-82 Advanced mérite enfin son suffixe ! :bj:


Téléchargements :
Liens :
Lien vers le sujet sur le forum: Avec Symbolic, étends les capacités maths de ta 82 Advanced (Commentaires: 0)

Module TI-Python disponible à l'unité chez Jarrety : 13,50€

Nouveau messagede critor » 23 Jan 2019, 19:47

100169917Python est désormais le seul langage de programmation préconisé pour l'enseignement de l'algorithmique au lycée.

Le module externe TI-Python permettra à ta TI-83 Premium CE d'exécuter des scripts Python.
Pas besoin donc de te racheter une deuxième calculatrice pour avoir le Python ! :bj:

Connectable directement à ta machine avec le câble mini-USB que tu utilises pour échanger des données entre deux calculatrices, il apporte donc un processeur externe Cortex-M0+ faisant tourner CircuitPython, une implémentation Python dérivée de MicroPython.

Texas Instruments avait proposé de réserver à la rentrée 2018 des packs de 35 modules gratuits qui seront livrés courant mars 2019.

Mais ces packs n'étaient offerts qu'aux enseignants, et de plus ils ont été épuisés en à peine une semaine... :'(

Et bien bonne nouvelle car le module TI-Python est également dès maintenant commercialisé à l'unité, comme nous l'apprend la boutique Jarrety.
De quoi donc contenter ceux qui n'ont pas pu bénéficier de l'offre pour une raison ou pour une autre ! :bj:

Le prix que nous découvrons en même temps que toi est donc ici de 13,50€ pièce, toutes taxes et port compris.
Pas grand chose donc pour mettre ta calculatrice en conformité avec les derniers programmes scolaires et lui redonner ainsi une nouvelle jeunesse ! :bj:

99029904Attention, ta TI-83 Premium CE ne pourra exploiter le module qu'après installation de la mise à jour système 5.3.5 (incluant l'application dédiée PyAdaptr), mise à jour qui n'a pas été publiée à ce jour même si ce n'est plus à notre avis qu'une question de semaines.

Si le but est de disposer du module pour les devoirs et examens, mieux vaut commander au plus tôt histoire de maximiser les chances de le recevoir à temps, surtout si il rencontre autant de succès que pour l'offre de rentrée 2018.

Lien : http://boutique.jarrety.fr/accessoires- ... e-cas.html
Lien vers le sujet sur le forum: Module TI-Python disponible à l'unité chez Jarrety : 13,50€ (Commentaires: 170)

Avec Symbolic+PrettyPt supers dérivations sur TI-82 Advanced

Nouveau messagede critor » 27 Jan 2019, 17:00

La TI-82 Advanced est techniquement une TI-84 Plus, mais a été bridée pour empêcher l'ajout d'applications.

Toutefois dans un article précédent, nous t'annoncions enfin la possibilité d'installer les applications TI-82+/83+/84+ de ton choix sur ta TI-82 Advanced, grâce au formidable travail de parrotgeek1. :bj:

Dans un article précédent, nous traitions de l'ajout de l'application Symbolic, ouvrant notamment la voie à la dérivation formelle ! :bj:

Mais voilà, les expressions des dérivées étaient retournées en écriture ligne, et il n'était donc pas toujours facile de les retranscrire sans erreur. :'(

Dans l'article précédent, nous t'avions décrit presque toutes les fonctions de Symbolic accessibles via le raccourci
math
math
.

Nous avions omis pretty( puisqu'elle ne pouvait pas fonctionner en l'état, nécessitant l'ajout d'une autre application, PrettyPt.

10202PrettyPt par Sebastian Theiss est une application qui permet la saisie en écriture naturelle, chose inutile puisque intégrée dans le système TI-84 Plus à partir de la version 2.53MP de la rentrée 2010, et donc par extension sur TI-82 Advanced.

Nous venons pourtant de te préconvertir cette application pour TI-82 Advanced.

10201En effet, la commande pretty( de Symbolic permet d'ouvrir une expression dans l'application PrettyPt, et donc d'afficher des résultats en écriture naturelle.

Plus que quelques lignes, et te voici avec un programme de dérivation absolument génial : :#tritop#:
ImageImageImage


Maintenant étendue avec Symbolic et PrettyPt , ta TI-82 est enfin véritablement Advanced ! :bj:

Téléchargements :Liens :
Lien vers le sujet sur le forum: Avec Symbolic+PrettyPt supers dérivations sur TI-82 Advanced (Commentaires: 5)

TI-Python: import sys révèle du CircuitPython Adafruit !

Nouveau messagede critor » 28 Jan 2019, 19:48

A la rentrée 2019 le 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 :
  • NumWorks avec MicroPython 1.9.4
  • Casio Graph 90+E avec MicroPython 1.9.4
  • HP Prime avec l'écriture Python de Xcas
  • le module externe TI-Python pour TI-83 Premium CE avec CircuitPython (dérivé de MicroPython)
À côté de cela nous avons aussi plusieurs implémentations communautaires, qui à la différence ne fonctionneront pas en mode examen en 2020 :

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 builtins, math, random, time et cmath.

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 pour
TI-83 Premium CE
builtins218188175204190
array???
collections?
cmath121212
gc???
math4141254128
random8888
sys???
time34
dessin
(spécifique)
?
(nsp)
?
(kandinsky)
Modules76378
Éléments271+252+208265+230+


D'où à date le classement suivant :
  1. TI-Nspire avec 7 modules et plus de 271 entrées
  2. Casio Graph 35+E/75+E avec 7 modules et plus de 265 entrées
  3. NumWorks avec 6 modules et plus de 252 entrées
  4. module externe TI-Python pour TI-83 Premium CE avec 8 modules et plus de 230 entrées
  5. Casio Graph 90+E avec 3 modules et 208 entrées

Un classement bien évidemment non final, puisque basé sur la comparaison d'une partie des modules.

Aujourd'hui poursuivons avec la comparaison d'un module remarquable, le module sys, disponible uniquement sur les TI-Nspire, Casio Graph 35/75+E et module externe TI-Python.
C'est en effet l'occasion d'arracher quelques secrets supplémentaires au module externe TI-Python... ;)

Pour cela, utilisons le script suivant :
Code: Tout sélectionner
#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 CR 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



Voici ci-contre ce que répondent les Graph 35/75+E et TI-Nspire, et ci-dessous une reconstitution de ce qu'affiche le module externe TI-Python à partir de nos observations et notes d'octobre 2018 aux journées APMEP et congrès UdPPC :
TI-Python a écrit:>>> from explmod import *
>>> import sys
>>> explmod(sys)
__name__=sys
argv=[]
byteorder=little
exit=<function>
implementation=(name='circuitpython', version=(3, 0, 0))
maxsize=1073741823
modules={'handshake': <module 'handshake' from 'handshake.py'>}
path=['', '/', '/lib', '.frozen']
platform=TI-Python Adapter
print_exception=<function>
stderr=<io.FileIO 2>
stdin=<io.FileIO 0>
stdout=<io.FileIO 1>
version=3.4.0
version_info=(3, 4, 0)


10016Comme promis, nous en apprenons davantage sur le module externe TI-Python, notamment que contrairement aux autres calculatrices il n'utilise pas MicroPython mais CircuitPython, une implémentation en fait dérivée de MicroPython et développée par Adafruit.
Il s'agirait apparemment d'un Circuitpython 3.0.0 implémentant du Python 3.4.0.

Après avoir déjà remarqué que le module externe TI-Python utilisait la puce Atmel ATSAMD21, puce notablement connue pour son usage dans les PyBoards (cartes de développement Python) Trinket M0 et Feather M0 justement également conçues par Adafruit, cela commence à faire beaucoup de coincidences... :#roll#:

1020310204Le module externe TI-Python ne serait-il pas tout simplement une carte Adafruit Trinket M0 ou Feather M0, avec le port micro-USB remplacé par du mini-USB ?

9948En tous cas du point de vue logiciel il doit y avoir sans doute un firmware différent, vu que la carte Adafruit Trinket M0 que nous avions apportée au congrès UdPPC 2018 n'était tout simplement pas reconnue par la calculatrice du stand de Texas Instruments.

A part cela, l'on note la possibilité pour un script Python de déterminer très facilement si il tourne sur le module externe TI-Python en testant juste si platform=='TI-Python Adapter'.

Nous remarquons également dans sys.path la mention de plusieurs dossiers du module externe TI-Python : dossier courant, dossier racine /, dossier /lib ainsi qu'un .frozen.

9911sys.modules révèle la présence d'un mystérieux module handshake provenant du script handshake.py, dans le sens où il n'est pas présent sur la calculatrice du stand de Texas Instruments ! :o


Bref, récapitulons ce qu'il y a donc dans nos différents modules sys :
TI-NspireCasio
Graph 35+E/USB
Graph 75/85/95
module externe
TI-Python pour
TI-83 Premium CE
__name__=sys
argv=[]
byteorder=little
exc_info()
exit()
implementation=(name='micropython', version=(1, 4, 6))
maxsize=2147483647
.
path=['', '/documents/ndless']
platform=nspire
print_exception()
stderr=<io.TextIOWrapper 2>
stdin=<io.TextIOWrapper 0>
stdout=<io.TextIOWrapper 1>
version=3.4.0
version_info=(3, 4, 0)
__name__=sys
argv=
byteorder=big
.
exit()
implementation=(name='micropython', version=(1, 9, 4))
maxsize=2147483647
modules={'explmod'}
path=
.
print_exception()
.
.
.
version=3.4.0
version_info=(3, 4, 0)
__name__=sys
argv=[]
byteorder=little
.
exit()
implementation=(name='circuitpython', version=(3, 0, 0))
maxsize=1073741823
modules={'handshake'}
path=['', '/', '/lib', '.frozen']
platform=TI-Python Adapter
print_exception()
stderr=<io.FileIO 2>
stdin=<io.FileIO 0>
stdout=<io.FileIO 1>
version=3.4.0
version_info=(3, 4, 0)
Total: 15Total: 12Total: 15


Ce qui déjà nous fait remarquer que le Micropython pour TI-Nspire n'est apparemment plus mis à jour depuis des lustres, étant en version 1.4.6 quand toutes les autres calculatrices concernées ont du Micropython 1.9.4. :(

Notons aussi que sys.maxsize, taille maximale des listes, chaînes de caractères et autres objets composés, est nettement inférieure sur le module externe TI-Python, un peu moins de la moitié de ce qu'elle vaut sur les autres modèles.

Suite à cela, mettons à jour notre petit récapitulatif :
NumWorks
Casio
Graph 90+E
module externe
TI-Python pour
TI-83 Premium CE
builtins218188175204190
array???
collections?
cmath121212
gc???
math4141254128
random8888
sys151215
time34
dessin
(spécifique)
?
(nsp)
?
(kandinsky)
Modules76378
Éléments286+252+208277+245+


D'où le classement qui ne change toujours pas :
  1. TI-Nspire avec 7 modules et plus de 286 entrées
  2. Casio Graph 35+E/75+E avec 7 modules et plus de 277 entrées
  3. NumWorks avec 6 modules et plus de 252 entrées
  4. module externe TI-Python pour TI-83 Premium CE avec 8 modules et plus de 245 entrées
  5. Casio Graph 90+E avec 3 modules et 208 entrées

A bientôt... ;)
Lien vers le sujet sur le forum: TI-Python: import sys révèle du CircuitPython Adafruit ! (Commentaires: 1)

TI-Python, exploration de 3 modules : array, collections, gc

Nouveau messagede critor » 29 Jan 2019, 19:49

A la rentrée 2019 le 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 :
  • NumWorks avec MicroPython 1.9.4
  • Casio Graph 90+E avec MicroPython 1.9.4
  • HP Prime avec l'écriture Python de Xcas
  • le module externe TI-Python pour TI-83 Premium CE avec CircuitPython (dérivé de MicroPython)
À côté de cela nous avons aussi plusieurs implémentations communautaires, qui à la différence ne fonctionneront pas en mode examen en 2020 :

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 builtins, math, random, time, cmath et sys.

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 pour
TI-83 Premium CE
builtins218188175204190
array???
collections?
cmath121212
gc???
math4141254128
random8888
sys151215
time34
dessin
(spécifique)
?
(nsp)
?
(kandinsky)
Modules76378
Éléments286+252+208277+245+


D'où à date le classement suivant :
  1. TI-Nspire avec 7 modules et plus de 286 entrées
  2. Casio Graph 35+E/75+E avec 7 modules et plus de 277 entrées
  3. NumWorks avec 6 modules et plus de 252 entrées
  4. module externe TI-Python pour TI-83 Premium CE avec 8 modules et plus de 245 entrées
  5. Casio Graph 90+E avec 3 modules et 208 entrées

Un classement bien évidemment non final, puisque basé sur la comparaison d'une partie des modules.

Aujourd'hui poursuivons avec la comparaison d'autres modules Python standard disponibles mais non listés sur le module externe TI-Python, array, collections et gc.

Pour cela, utilisons le script suivant :
Code: Tout sélectionner
#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

Le module array est donc disponible sur les TI-Nspire, Graph 35/75+E et module externe TI-Python. Voici ci-dessous une reconstitution de ce que répond le module externe TI-Python, et ci-contre ce que répondent les autres calculatrices concernées.
TI-Python a écrit:>>> from EXPLMOD import *
>>> import array
>>> explmod(array)
__name__=array
array=<class 'array'>
.append=<function>
.extend=<function>
.Total: 2 item(s)
Total: 4 item(s)
4
>>>

Le module array expose donc dans tous les cas 4 éléments.

Le module gc est lui aussi disponible sur les TI-Nspire, Graph 35/75+E et module externe TI-Python. Voici ci-dessous une reconstitution de ce que répond le module externe TI-Python, et ci-contre ce que répondent les autres calculatrices concernées.
TI-Python a écrit:>>> from EXPLMOD import *
>>> import gc
>>> explmod(gc)
__name__=gc
collect=<function>
disable=<function>
enable=<function>
isenabled=<function>
mem_alloc=<function>
mem_free=<function>
Total: 7 item(s)
7
>>>

Le module gc expose donc dans tous les cas 7 éléments.

Le module standard collections est quant à lui disponible uniquement sur le module externe TI-Python. Voici ci-dessous une reconstitution de ce qu'il répond :
TI-Python a écrit:>>> from EXPLMOD import *
>>> import collections
>>> explmod(collections)
__name__=collections
namedtuple=<function>
Total: 2 item(s)
2
>>>

Le module collections expose donc 2 éléments.

Suite à cela, mettons à jour notre petit récapitulatif :
NumWorks
Casio
Graph 90+E
module externe
TI-Python pour
TI-83 Premium CE
builtins218188175204190
array444
collections2
cmath121212
gc777
math4141254128
random8888
sys151215
time34
spécifique?
(nsp)
?
(kandinsky)
?
(handshake)
Modules76379
Éléments297+252+208288258+


D'où le nouveau classement avec un léger changement : ;)
  1. TI-Nspire avec 7 modules et plus de 297 entrées
  2. Casio Graph 35+E/75+E avec 7 modules et 288 entrées
  3. module externe TI-Python pour TI-83 Premium CE avec 9 modules et plus de 258 entrées
  4. NumWorks avec 6 modules et plus de 252 entrées
  5. Casio Graph 90+E avec 3 modules et 208 entrées

A bientôt... ;)
Lien vers le sujet sur le forum: TI-Python, exploration de 3 modules : array, collections, gc (Commentaires: 0)

TI-Python : handshake et autres modules spécifiques

Nouveau messagede critor » 30 Jan 2019, 18:07

A la rentrée 2019 le 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 :
  • NumWorks avec MicroPython 1.9.4
  • Casio Graph 90+E avec MicroPython 1.9.4
  • HP Prime avec l'écriture Python de Xcas
  • le module externe TI-Python pour TI-83 Premium CE avec CircuitPython (dérivé de MicroPython)
À côté de cela nous avons aussi plusieurs implémentations communautaires, qui à la différence ne fonctionneront pas en mode examen en 2020 :

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 builtins, math, random, time, cmath, 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 pour
TI-83 Premium CE
builtins218188175204190
array444
collections2
cmath121212
gc777
math4141254128
random8888
sys151215
time34
spécifique?
(nsp)
?
(kandinsky)
?
(handshake)
Modules76379
Éléments297+252+208288258+


D'où à date le classement suivant :
  1. TI-Nspire avec 7 modules et plus de 297 entrées
  2. Casio Graph 35+E/75+E avec 7 modules et 288 entrées
  3. module externe TI-Python pour TI-83 Premium CE avec 9 modules et plus de 258 entrées
  4. NumWorks avec 6 modules et plus de 252 entrées
  5. Casio Graph 90+E avec 3 modules et 208 entré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 Python spécifiques à certains implémentations:
  • kandinsky pour le dessin sur NumWorks
  • nsp pour le dessin et le clavier sur TI-Nspire
  • et le mystérieux handshake sur le module externe TI-Python

Pour cela, utilisons le script suivant :
Code: Tout sélectionner
#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

Le module nsp spécifique aux TI-Nspire nous révèle 10 éléments.

Le module kandinsky spécifique à la NumWorks nous révèle 5 éléments.

Enfin, voici ci-dessous une reconstitution de ce que le module externe TI-Python devrait afficher à partir de nos observations d'octobre dernier :
TI-Python a écrit:>>> 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 :
NumWorks
Casio
Graph 90+E
module externe
TI-Python pour
TI-83 Premium CE
builtins218188175204190
array444
collections2
cmath121212
gc777
math4141254128
random8888
sys151215
time34
spécifique10
(nsp)
5
(kandinsky)
4
(handshake)
Modules76379
Éléments307257208288262


Voici donc enfin le classement final de la richesse des différentes implémentations Python sur calculatrices: :bj:
  1. TI-Nspire avec 7 modules et 307 entrées
  2. Casio Graph 35+E/75+E avec 7 modules et 288 entrées
  3. module externe TI-Python pour TI-83 Premium CE avec 9 modules et 262 entrées
  4. NumWorks avec 6 modules et 257 entrées
  5. Casio Graph 90+E avec 3 modules et 208 entrées
Enfin final jusqu'à-ce que l'un ou l'autre des constructeurs se décide à nous rajouter de nouveaux modules. ;)
Lien vers le sujet sur le forum: TI-Python : handshake et autres modules spécifiques (Commentaires: 1)

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1064 utilisateurs:
>1030 invités
>29 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)