TI-z80 Jour 7 : Le Secret de l'Avent 2018
Link to topic: Jour 7 : Le Secret de l'Avent 2018 (Comments: 2)
Casio Gagne une Graph 90+E au puzzle de l'Avent 2018 Planète Casio
Il s'agit d'une série d'indices et énigmes publiés quotidiennement, et qui te préparent à affronter l'énigme finale du 24 décembre.
La première personne à résoudre l'ultime énigme recevra un superbe cadeau de Noël, la reine des calculatrices Casio Graph, j'ai nommé la calculatrice graphique couleur Python Graph 90+E !

Lien : https://www.planet-casio.com/Fr/forums/ ... p?id=15496
Link to topic: Gagne une Graph 90+E au puzzle de l'Avent 2018 Planète Casio (Comments: 1)
TI-z80 Jour 6 : Le Secret de l'Avent 2018

TI-84 Plus CE-T wrote:VIIIVVIIIV
Tente de prédire d'ici minuit les 3 prochains affichages !

Désapprends tout ce que tu sais !
Link to topic: Jour 6 : Le Secret de l'Avent 2018 (Comments: 0)
TI-z80 Module TI-Python: test mémoire de travail et comparaisons
La série d’articles continuée ici au sujet du module TI-Python est rédigée a posteriori et illustrée à l’aide des photos prises sur le stand de Texas Instruments aux journées APMEP 2018 et congrès UdPPC 2018.
Certaines photos ne correspondront ici pas exactement à ce qui est décrit, car nous avons amélioré le script utilisé entre les deux événements. Or malheureusement, il était beaucoup plus compliqué de prendre de bonnes photos au congrès UdPPC de par l'affluence nettement supérieure, le fait que seulement un module au lieu de deux était disponibles sur le stand pour tous ces visiteurs, ainsi que le fait que les stands ne disposaient cette fois-ci pas de cloisons à la différence mais consistaient en de simples tables alignées le long d'une allée et bien remplies - pas vraiment d'espace pour se poser. Mais au moins nous avons pu prendre note des résultats.
Dans tous les cas, notez que ces tests ont été réalisés sur un prototype non final, certes de niveau DVT et donc habituellement proche du produit final qui sera livré dans quelques mois. Mais il reste quand même possible que des choses évoquées changent d’ici-là, en bien ou en mal d’ailleurs.
En vous priant donc de bien vouloir nous excuser et en vous souhaitant bonne lecture.
Certaines photos ne correspondront ici pas exactement à ce qui est décrit, car nous avons amélioré le script utilisé entre les deux événements. Or malheureusement, il était beaucoup plus compliqué de prendre de bonnes photos au congrès UdPPC de par l'affluence nettement supérieure, le fait que seulement un module au lieu de deux était disponibles sur le stand pour tous ces visiteurs, ainsi que le fait que les stands ne disposaient cette fois-ci pas de cloisons à la différence mais consistaient en de simples tables alignées le long d'une allée et bien remplies - pas vraiment d'espace pour se poser. Mais au moins nous avons pu prendre note des résultats.
Dans tous les cas, notez que ces tests ont été réalisés sur un prototype non final, certes de niveau DVT et donc habituellement proche du produit final qui sera livré dans quelques mois. Mais il reste quand même possible que des choses évoquées changent d’ici-là, en bien ou en mal d’ailleurs.
En vous priant donc de bien vouloir nous excuser et en vous souhaitant bonne lecture.
En MicroPython sur ordinateur, on peut aisément connaître l'espace mémoire occupé par une liste grâce à la fonction sys.getsizeof().
Mais comment faire sur calculatrice où nous ne disposons pas du module sys ?
Une solution consister à tenter de remplir la mémoire de travail, et à supposer que l'espace occupé obéit aux mêmes règles :
Voici un script en ce sens :
Ce script classe actuellement la concurrence niveau Python comme tel :
Mais comment faire sur calculatrice où nous ne disposons pas du module sys ?
Une solution consister à tenter de remplir la mémoire de travail, et à supposer que l'espace occupé obéit aux mêmes règles :
- 64 octets pour une liste vide
- 8 octets par élement de liste supplémentaire
- 24 octets pour un entier nul
- 28 octets pour un entier court non nul
- 49 octets pour une chaîne vide
- 1 octet par caractère de chaîne supplémentaire
Voici un script en ce sens :
- Code: Select all
def mem():
try:
l=[]
try:
l+=[0]
l+=[""]
l[1]+="x"
while True:
try:
l[1]+=l[1][l[0]:]
except:
if l[0]<len(l[1])-1:
l[0]=len(l[1])-1
else:
raise(Exception)
except:
print("+",len(l)>1 and len(l[1]))
return 64+8*len(l)+(len(l) and 24+4*(l[0]>0)+(len(l)>1 and 49+len(l[1])))+mem()
except:
return 0
Ce script classe actuellement la concurrence niveau Python comme tel :
- TI-Nspire avec 2,046Mo
- Casio Graph 90+E avec 1,027Mo
- Casio Graph 35+E/75+E avec 30,147Ko
- calculatrice NumWorks avec 13,658Ko
- logiciel web NumWorks avec 5,946Ko
Exécutons le script (photos ci-contre prises avec une ancienne version du script qui faisait un calcul légèrement différent, mais l'affichage du script amélioré a été pris en note et est reconstitué ci-dessous) :
- Code: Select all
>>> from MEM import *
>>> mem()
+8192
+4095
+1024
+1024
+512
+512
+511
+128
+32
17443
>>>
Nous aurions donc 17,03Kio d'espace de travail pour l'exécution des scripts sur le module TI-Python.
Et au sein de cet espace, le plus grand bloc de mémoire utilisable ferait 8Kio.
Au classement final nous avons donc maintenant :
- TI-Nspire avec 2,046Mo
- Casio Graph 90+E avec 1,027Mo
- Casio Graph 35+E/75+E avec 30,147Ko
- module TI-Python pour TI-83 Premium CE avec 17,443Ko
- calculatrice NumWorks avec 13,658Ko
- logiciel web NumWorks avec 5,946Ko
Le module TI-Python se classe donc à ce jour légèrement devant la calculatrice NumWorks en terme de mémoire de travail. Précisons que dans les deux cas ce n'est franchement pas beaucoup, ce qui va vite se sentir sur les fonctions récursives. Si il s'agit bien du matériel final tel que livré dans quelques mois, il n'y aurait qu'assez peu de marge de progression possible pour TI, nous approchons déjà les limites des possibilités du module. Par contre, NumWorks pourrait se donner la peine d'être un peu plus généreux avec la mémoire de travail de son Python, car disposant de 256Kio de RAM à la différence...
Téléchargements :
Link to topic: Module TI-Python: test mémoire de travail et comparaisons (Comments: 5)
TI-z80 Jour 5 : Le Secret de l'Avent 2018
Link to topic: Jour 5 : Le Secret de l'Avent 2018 (Comments: 1)