Page 1 of 3

CP1 - Championnat des Pythons : Capacité de stockage

Unread postPosted: 08 May 2018, 16:00
by critor
Championnat des Pythons 2018
Course des Pythons n°1
Capacité de stockage


Bienvenue au grand Championnat des Pythons 2018. Pour la rentrée 2018, trois modèles de calculatrices graphiques autorisées aux examens et concours proposent ou proposeront la programmation en langage Python :
  • NumWorks
  • HP Prime
  • Casio Graph 90+E

Aujourd'hui dans cette première Course des Pythons, voyons ensemble ce que valent ces différentes solutions sur le critère capacité de stockage.

Comme découvert récemment, la NumWorks offre d'origine 2,88Kio pour stocker tes scripts Python.

Petite astuce, si tu supprimes les scripts préchargés, tu peux même monter à 4Kio. ;)

Donc finalement, de 2,88Kio à 4Kio. :(

C'est possiblement suffisant pour les cours de Mathématiques et épreuves d'examen qui en découlent, mais cela n'en reste pas moins extrêmement peu. Si l'on élargit l'horizon aux autres matières scientifiques traitant ou pouvant traiter de la programmation et évaluées par projets, ICN, TPE et ISN, cela risque de devenir rapidement très insuffisant. :(

Sur HP Prime nous avons droit à l'intégralité de la mémoire de stockage pour enregistrer nos scripts Python, soit d'origine un espace astronomique de 197,85Mio. :bj:

Toutefois la machine souffre de divers problèmes de fuite de mémoire. Lors de la connexion au logiciel de connectivité qui liste et consulte chaque variable éditable dont les scripts Python, ainsi que lors du transfert de ces dernières variables, de la mémoire de travail (initialement à 16Mio comme ci-contre) sera consommée et jamais libérée. Au-delà de quelques mégaoctets de programmes stockés les transferts de données deviennent très fastidieux, nécessitant de les faire un par un en réinitialisant la machine entre chaque transfert. :mj:

Sur Casio Graph 90+E nous avons droit là encore à l'intégralité de la mémoire de stockage, soit d'origine dans les 6,22Mio. :)

Petite astuce, si tu supprimes le dossier /CASIO/ qui ne contient que des images fixes ou animées à mettre en fond d'écran des graphiques, sans grand intérêt donc, tu peux monter jusqu'à 12,7Mio. :o
Et si tu supprimes les applications officielles préchargées, tu peux même monter jusqu'à 16Mio. :bj:

Donc finalement, de 6,22Mio à 16Mio, ce qui est très honorable. :)

On pourra juste regretter que la sauvegarde d'un script Python que l'on vient de saisir ou modifier soit relativement lente, rendant la machine indisponible pendant 1-2 secondes. Particulièrement embêtant pour un script en cours de développement, que l'on doit donc sauvegarder avant chaque tentative d'évaluation. Mais peut-être que cela pourra être amélioré d'ici la version finale prévue pour la rentrée 2018.

Image

A bientôt pour une autre Course des Pythons ! ;)

Re: CP1 - Championnat des Pythons : Capacité de stockage

Unread postPosted: 08 May 2018, 16:35
by puppy65
Je croyais que les scripts HP Prime n'était pas du "vrai" python. C'est faux alors ?

Re: CP1 - Championnat des Pythons : Capacité de stockage

Unread postPosted: 08 May 2018, 16:44
by critor
C'est vrai que c'est du faux Python, et que choisir ce modèle pour quelqu'un qui débute sans intérêt remarquable pour la programmation me semble être une très mauvaise idée. Il va recopier les scripts de son livre/prof, ça ne va pas marcher, et il ne comprendra pas pourquoi.
Ce sera l'objet d'un autre épisode.

Re: CP1 - Championnat des Pythons : Capacité de stockage

Unread postPosted: 08 May 2018, 16:49
by puppy65
Merci pour l'info :)
Tu connais déjà les thèmes des autres épisodes ?

Re: CP1 - Championnat des Pythons : Capacité de stockage

Unread postPosted: 08 May 2018, 17:37
by critor
A peu près, oui.

Re: CP1 - Championnat des Pythons : Capacité de stockage

Unread postPosted: 08 May 2018, 18:47
by parisse
critor wrote:C'est vrai que c'est du faux Python, et que choisir ce modèle pour quelqu'un qui débute sans intérêt remarquable pour la programmation me semble être une très mauvaise idée. Il va recopier les scripts de son livre/prof, ça ne va pas marcher, et il ne comprendra pas pourquoi.

Avec le firmware actuel. Mais ca fait plusieurs mois que je travaille sur la compatibilite (sauf sur les concepts avances comme la programmation orientee objet), depuis peu en utilisant le catalogue public de programmes Numworks. Il restera certainement quelques incompatibilites, notamment l'utilisation de mots-clefs du langage Xcas comme noms de variables ou les delimiteurs de chaines (priviligier " ", car ' ' est ambigu), mais certains scripts passent sans modifications dans Xcas pour Firefox (aka Spidercas), d'autres necessitent de remplacer un nom par un autre. Apres, je ne sais pas quand HP va integrer tout ca, mais voici par exemple le script solveur de sudoku de N. Patrois (https://workshop.numworks.com/python/nicolas-patrois/sudoku) a peine modifie:
https://www-fourier.ujf-grenoble.fr/%7eparisse/xcasfr.html#exec&filename=%40session&python=1&+def%20sudoku()%3A%0A%23%20lent%0A%23%20f%3D%5B%22040090001%22%2C%0A%23%20%22070000500%22%2C%0A%23%20%22508007000%22%2C%0A%23%20%22000400963%22%2C%0A%23%20%22000000005%22%2C%0A%23%20%22000052170%22%2C%0A%23%20%22280010007%22%2C%0A%23%20%22000069080%22%2C%0A%23%20%22004000000%22%5D%0A%0A%20%23%20rapide%0A%20f%3D%5B%22004903008%22%2C%0A%20%22003050002%22%2C%0A%20%22978200000%22%2C%0A%20%22269030000%22%2C%0A%20%22000060000%22%2C%0A%20%22000090615%22%2C%0A%20%22000005489%22%2C%0A%20%22700080100%22%2C%0A%20%22400109500%22%5D%0A%0A%20def%20cp(q%2Cs)%3A%0A%20%20l%3D%7Bc%3A0%20for%20c%20in%20s%5Bq%5B0%5D%5D%7D%0A%20%20l.update(%7Bs%5Bi%5D%5Bq%5B1%5D%5D%3A0%20for%20i%20in%20range(9)%7D)%0A%20%20k%3Dq%5B0%5D%2F%2F3%2Cq%5B1%5D%2F%2F3%0A%20%20for%20i%20in%20range(3)%3A%0A%20%20%20l.update(%7Bc%3A0%20for%20c%20in%20s%5Bk%5B0%5D*3%2Bi%5D%5Bk%5B1%5D*3%3A(k%5B1%5D%2B1)*3%5D%7D)%0A%20%20res%3D%5Bc%20for%20c%20in%20range(1%2C10)%20if%20c%20not%20in%20l%5D%0A%20%20return%20res%0A%0A%20def%20ec(l)%3A%0A%20%20q%3D%7Bc%3A0%20for%20c%20in%20l%20if%20c%7D%0A%20%20for%20c%20in%20q%3A%0A%20%20%20if%20l.count(c)!%3D1%3A%0A%20%20%20%20return%20True%0A%20%20return%20False%0A%0A%20%23%20Remplissage%20de%20la%20grille%20et%20tests%20de%20format%0A%0A%20P%3Dprint%0A%20s%3D%5B%5D%0A%20t%3D%5B%5D%0A%20if%20len(f)!%3D9%3A%0A%20%20P(%22Le%20jeu%20contient%20%22%2Bstr(len(f))%2B%22%20lignes%20au%20lieu%20de%209.%22)%0A%20%20return%0A%20for%20nl%20in%20range(len(f))%3A%0A%20%20l%3Df%5Bnl%5D%0A%20%20try%3A%0A%20%20%20n%3D%5Bint(i)%20for%20i%20in%20list(l.strip())%5D%0A%20%20except%3A%0A%20%20%20P(%22La%20ligne%20%22%2Bstr(nl%2B1)%2B%22%20contient%20autre%20chose%20qu'un%20chiffre.%22)%0A%20%20%20return%0A%20%20if%20len(n)!%3D9%3A%0A%20%20%20P(%22La%20ligne%20%22%2Bstr(nl%2B1)%2B%22%20ne%20contient%20pas%209%20chiffres.%22)%0A%20%20%20return%0A%20%20t.extend(%5B%5Bnl%2Ci%5D%20for%20i%20in%20range(9)%20if%20n%5Bi%5D%3D%3D0%5D)%0A%20%20s.append(n)%0A%0A%20%23%20Tests%20de%20validite%0A%0A%20for%20l%20in%20range(9)%3A%0A%20%20if%20ec(s%5Bl%5D)%3A%0A%20%20%20P(%22La%20ligne%20%22%2Bstr(l%2B1)%2B%22%20est%20contradictoire.%22)%0A%20%20%20return%0A%20for%20c%20in%20range(9)%3A%0A%20%20k%3D%5Bs%5Bl%5D%5Bc%5D%20for%20l%20in%20range(9)%5D%0A%20%20if%20ec(k)%3A%0A%20%20%20P(%22La%20colonne%20%22%2Bstr(c%2B1)%2B%22%20est%20contradictoire.%22)%0A%20%20%20return%0A%20for%20l%20in%20range(3)%3A%0A%20%20for%20c%20in%20range(3)%3A%0A%20%20%20q%3D%5B%5D%0A%20%20%20for%20i%20in%20range(3)%3A%0A%20%20%20%20q.extend(s%5Bl*3%2Bi%5D%5Bc*3%3A(c%2B1)*3%5D)%0A%20%20%20if%20ec(q)%3A%0A%20%20%20%20P(%22La%20cellule%20(%22%2Bstr(l%2B1)%2B%22%3B%22%2Bstr(c%2B1)%2B%22)%20est%20contradictoire.%22)%0A%20%20%20%20return%0A%0A%20%23%20Resolution%0A%0A%20p%3D%5B%5B%5D%20for%20i%20in%20t%5D%0A%20cr%3D0%0A%0A%20while%20cr%3Clen(t)%3A%0A%20%20p%5Bcr%5D%3Dcp(t%5Bcr%5D%2Cs)%0A%20%20try%3A%0A%20%20%20while%20not%20p%5Bcr%5D%3A%0A%20%20%20%20s%5Bt%5Bcr%5D%5B0%5D%5D%5Bt%5Bcr%5D%5B1%5D%5D%3D0%0A%20%20%20%20cr-%3D1%0A%20%20except%3A%0A%20%20%20P(%22Le%20sudoku%20n'a%20pas%20de%20solution.%22)%0A%20%20%20return%0A%20%20s%5Bt%5Bcr%5D%5B0%5D%5D%5Bt%5Bcr%5D%5B1%5D%5D%3Dp%5Bcr%5D.pop()%0A%20%20cr%2B%3D1%0A%0A%20%23%20Presentation%20de%20la%20grille%20resolue%0A%0A%20for%20l%20in%20s%3A%0A%20%20print(l)%0A&+sudoku()&

Re: CP1 - Championnat des Pythons : Capacité de stockage

Unread postPosted: 08 May 2018, 19:13
by majestyofgaia
Je me trompe peut-être, mais je ne pense pas que le choix d'une hp prime vs Numwork / graph90+E se fera sur Python pour beaucoup d'élèves et d'enseignants. Elles ne boxent pas dans la même catégorie et ne sont pas au même tarif.

On choisira une hp prime surtout pour son calcul formel par rapport aux deux autres. Par contre l'apport de Python sur hp prime lui donne un avantage par rapport aux ti nspire cx cas et Casio fx cp-400 qui elles, sont dans la même catégorie.

Re: CP1 - Championnat des Pythons : Capacité de stockage

Unread postPosted: 08 May 2018, 19:48
by parisse
Absolument, c'est plutot sur des scripts Python pour eleves de TS et de classes prepas qu'il faudrait tester Xcas pour Firefox pour que la HP Prime soit bien compatible. C'est d'ailleurs la que l'integration avec le CAS va trouver tout son interet avec l'utilisation de calcul matriciel, scientifique et formel que les 2 autres modeles Python ne pourront tres vraissemblablement pas proposer (pas assez de memoire sur la Numworks par exemple).

Re: CP1 - Championnat des Pythons : Capacité de stockage

Unread postPosted: 09 May 2018, 23:28
by compsystems
As a suggestion expand the contest for xcas PC version and online version =)

Re: CP1 - Championnat des Pythons : Capacité de stockage

Unread postPosted: 10 May 2018, 06:22
by Adriweb
compsystems wrote:As a suggestion expand the contest for xcas PC version and online version =)

But... the goal is to compare the exam-allowed graphing calculators having Python.