π
<-
Chat plein-écran
[^]

Casio Certificat d'authenticité gratuit fx-92 Spéciale Collège

New postby critor » 06 Nov 2019, 12:41

Avec ses 77,2% de parts de marché valeur pour ses
fx-92 Collège
sur l'année civile 2018,
Casio
est l'idole des collégiennes et collégiens.

Nulle surprise à ce succès écrasant, le constructeur est toujours à la pointe de l'innovation pédagogique avec une belle réactivité par rapport aux évolutions des programmes :
  • rentrée 1994: perfection de la notation infixée
    (gamme
    S
    )
  • rentrée 1998 : affichage mixte saisie et résultat; écran 2 lignes semi-matriciel
    (gamme
    W
    )
  • rentrée 2001 : historique de calcul
    (gamme
    MS
    )
  • rentrée 2004 : moteur de calcul exact + saisie en écriture naturelle; écran matriciel 96x63 pixels
    (gammes
    ES
    puis
    ES PLUS
    )
  • rentrée 2014 : tableur + génération de QR Codes; écran matriciel 192x127 pixels
    (gamme
    EX
    )
  • rentrée 2018 : programmation Scratch
    (
    fx-92+ Spéciale Collège
    )
génération
gamme
internationale
modèle collège
France
modèle primaire
France
S VPAM

(rentrée 1994)
fx-82S

...
fx-993S
fx-92 Collège
(1994 + 1995)

fx-92 Collège II
(1996)

fx-92 Collège III
(1997)

fx-JUNIOR
(1999 + 2000)

W SVPAM

(rentrée 1998)
fx-82W

...
fx-991W
fx-92 Collège New
(1998)

fx-92 Collège New+
(1999 + 2000)

MS SVPAM

(rentrée 2001)

MS SVPAM 2

(rentrée 2019)
fx-82MS

...
fx-991MS
fx-92 Collège
(2004)

FX JUNIOR PLUS
(2009)

FX JUNIOR+
(2019)

ES Natural Display

(rentrée 2004)
fx-82ES

...
fx-993ES
fx-92 Collège 2D
(2007)

ES PLUS Natural VPAM

(rentrée 2008)

ES PLUS Natural VPAM 2

(rentrée 2019)
fx-82ES PLUS

...
fx-991ES PLUS
fx-92 Collège 2D+
(2009 + 2010)

EX Classwiz

(rentrée 2014)
fx-82EX

...
fx-991EX
fx-92 Spéciale Collège
(2015)

fx-92+ Spéciale Collège
(2018)


Revers de la médaille pour
Casio
, la contrefaçon.

Certains constructeurs de calculatrice graphiques
(
Canon
,
Sharp
,
Texas Instruments
...)
s'inspirent certes des diverses avancées de
Casio
, mais se donnent la peine de construire, plus ou moins bien, des innovations similaires.
Des innovations reprises donc avec plusieurs années de retard, mais toujours rien à date concernant le tableur, les QR Codes ou la programmation Scratch.

Mais d'autres constructeurs, asiatiques notamment, ne se donnent pas cette peine et ont une approche différente. Ils extraient et copient littéralement les éléments matériels et logiciels de
Casio
, les modifient en rognant le plus possible pour baisser les coûts, et sortent ainsi pour moins cher un modèle démarqué qui pourra être acheté et maquillé pour des marques peu regardantes. La contrefaçon des calculatrices
Casio
est un véritable fléau en Asie et en Afrique.
La génération
EX Classwiz
avec les
fx-92 Spéciale Collège
y échappe pour le moment en France. Mais pour les générations précédentes tu pourras par exemple trouver nombre de calculatrices du constructeur
Lexibook
ou de marque distributeur
(
Auchan
,
Leclerc / Esquisse
,
Office Dépot
, ...)
qui sont des copies de calculatrices
Casio
.

Pourquoi préférer une calculatrice authentique ? Parce que contrairement aux cloneurs, le constructeur n'a pas besoin de rogner sur la qualité, loin d'être négligeable pour une utilisation dans le milieu scolaire hostile
(chocs, chutes, nombreux déplacements parfois en extérieur et donc variations quotidiennes de température et d'humidité...)
. Le constructeur promet entre autres une résistance supérieure aux chutes ainsi qu'une bien meilleure durabilité des inscriptions de touches.

1175811757Depuis la rentrée 2014 avec la gamme
EX Classwiz
et donc en France les
fx-92 Spéciale Collège
,
Casio
avait déjà commencé à s'attaquer au problème de la contrefaçon.

Dans un article précédent, nous te donnions une astuce pour vérifier que ta
fx-92 Spéciale Collège
est bien authentique et pas une contrefaçon.

Il te suffisait pour cela de lui demander le QR Code de consultation du manuel en tapant
MENU
SECONDE
OPTN
, rien de plus simple ! :)

1176011759Tu pouvais ensuite flasher ce QR Code avec ton smartphone en utilisant n'importe quelle application compatible.
Tu peux aussi utiliser l'application gratuite
Casio Edu+
qui aura le gros avantage par rapport aux précédentes de ne pas t'embêter avec de la publicité. ;)


L'adresse de consultation du manuel alors utilisée transmet en paramètre le numéro de série interne à ta machine, et le résultat du test d'authenticité te sera présenté en fin de manuel.

117631176211761Mais ce n'est pas tout. En cliquant le bouton en fin de manuel tu peux obtenir plus d'informations sur le test d'authenticité. Tu te vois alors proposer la possibilité d'enregistrer ta
fx-92 Spéciale Collège
sur ton compte , et de créer celui-ci au passage si besoin.

Enregistrer ta calculatrice te permet d'accéder à du contenu
premium
. Et justement grande nouveauté cette année 2019-2020, tu pourras alors télécharger et imprimer gratuitement depuis ton compte ton certificat d'authenticité officiel avec le numéro de série interne de ta
fx-92 Spéciale Collège
, réaffirmant l'engagement de qualité et durabilité du constructeur, et signé de la main de
Shinji Ota
, directeur général de
Casio Education
! :bj:
De quoi revendre ta calculatrice plus facilement lorsque le moment viendra, et peut-être à une valeur plus élevée. ;)


Téléchargement
:
appli
Casio Edu+
pour
Android
/
iOS
(gratuite)


Lien
:
http://edu.casio.com/fr/

Crédits photos
:
illustrations
fx-92 Collège
de gamme
S

Casio Les femmes scientifiques illustrées sur les Classwiz SP X II

New postby critor » 04 Nov 2019, 20:39

La gamme internationale
EX Classwiz
lancée en 2014 par
Casio
, comporte nombre de modèles différents numérotés de
fx-82EX Classwiz
(entrée de gamme)
à
fx-991EX Classwiz
(haut de gamme)
.

De plus, le constructeur décline et personnalise ces modèles pour nombre de pays sur tous les continents, avec des différences niveau langues et fonctionnalités.

Par exemple en France nous avons eu des modèles parlant français, sans équivalent exact dans la gamme internationale :
  • rentrée 2015 : la
    fx-92 Spéciale Collège
    avec la sauvegarde par QR Code :)
  • rentrée 2018 : la
    fx-92+ Spéciale Collège
    rajoutant en prime :
    • une application tableur :bj:
      (réservée jusqu'alors aux modèles haut de gamme)
    • une application d'algorithmique exclusive à ce jour avec un langage de programmation à la
      Scratch / Logo
      :bj:

Partons maintenant pour la péninsule ibérique. Nous y trouvons :
  • rentrée 2015
    (Espagne et Portugal)
    , modèles parlant Espagnol Castillan, Catalan et Portugais :
    • fx-82SP X Iberia Classwiz
    • fx-350SP X Iberia Classwiz
    • fx-570SP X Iberia Classwiz
      (avec tableur)
    • fx-991SP X Iberia Classwiz
      (avec tableur)
  • rentrée 2016
    (Espagne uniquement)
    , modèles parlant en prime Basque :
    • fx-82SP X II Iberia Classwiz
    • fx-85SP X II Iberia Classwiz
    • fx-350SP II X Iberia Classwiz
    • fx-570SP II X Iberia Classwiz
      (avec tableur)
    • fx-991SP II X Iberia Classwiz
      (avec tableur)

Pour cette rentrée 2019,
Casio Espagne
te lance une campagne
Classwiz women in science
, mettant en avant les femmes dans la science.

Le constructeur a fait appel à des illustrateurs de talent pour représenter pas moins de 12 femmes scientifiques ayant marqué l'histoire :



Mais ce n'est pas tout. Pour cette rentrée 2019, les calculatrices scientifiques
Casio
sont disponibles en Espagne dans une édition limitée
Classwiz women in science
, avec les illustrations précédentes reprises et soigneusement optimisées par chaque illustrateur pour le couvercle de la calculatrice ! :bj:

A noter que la couleur de couvercle varie d'un modèle à un autre, à toi de voir selon tes préférences :
  • couvercle noir :
    fx-82SP X II Iberia Classwiz
  • couvercle bleu :
    fx-350SP X II Iberia Classwiz
  • couvercle blanc :
    fx-570SP X II Iberia Classwiz
    et
    fx-991SP X II Iberia Classwiz

C'est l'occasion de récupérer pour ta
fx-92 Spéciale Collège
un superbe couvercle qui rendra jaloux tes profs de Maths, Physique-Chimie et Technologie ! ;)


Sources
:


Casio FX JUNIOR+ et nouveau mode exerciseur secret !

New postby critor » 03 Nov 2019, 22:45

Avec ses 77,2% de parts de marché valeur pour ses
fx-92 Collège
sur l'année civile 2018,
Casio
a la côte chez les collégiens.

Nulle surprise à cela, le constructeur est toujours à la pointe de l'innovation avec une belle réactivité par rapport aux évolutions des programmes :
  • rentrée 1998 : affichage mixte saisie et résultat; écran 2 lignes semi-matriciel
    (gamme
    W
    )
  • rentrée 2001 : historique de calcul
    (gamme
    MS
    )
  • rentrée 2004 : moteur de calcul exact + saisie en écriture naturelle; écran matriciel 96x63 pixels
    (gammes
    ES
    puis
    ES PLUS
    )
  • rentrée 2014 : tableur + génération de QR Codes; écran matriciel 192x127 pixels
    (gamme
    EX
    )
  • rentrée 2018 : programmation Scratch
    (
    fx-92+ Spéciale Collège
    )

Pour référence voici les dernières générations
Casio
et modèles français correspondants :
génération
gamme
internationale
modèles français
S VPAM

(rentrée 1994)
fx-82S

...
fx-993S
fx-92 Collège
(rentrées 1994 + 1995)

fx-92 Collège II
(rentrée 1996)

fx-92 Collège III
(rentrée 1997)

fx-JUNIOR
(rentrées 1999 + 2000)

W SVPAM

(rentrée 1998)
fx-82W

...
fx-991W
fx-92 Collège New
(rentrée 1998)

fx-92 Collège New+
(rentrées 1999 + 2000)

MS SVPAM

(rentrée 2001)
fx-82MS

...
fx-991MS
fx-92 Collège
(rentrée 2004)

FX JUNIOR PLUS
(rentrée 2009)

FX JUNIOR+
(rentrée 2019)

ES Natural Display

(rentrée 2004)
fx-82ES

...
fx-993ES
fx-92 Collège 2D
(rentrée 2007)

ES PLUS Natural VPAM

(rentrée 2008)
fx-82ES PLUS

...
fx-991ES PLUS
fx-92 Collège 2D+
(rentrées 2009 + 2010)

EX Classwiz

(rentrée 2014)
fx-82EX

...
fx-991EX
fx-92 Spéciale Collège
(rentrée 2015)

fx-92+ Spéciale Collège
(rentrée 2018)



En France les calculatrices scientifiques non graphiques ne concernaient jusqu'à cette année que le primaire, le collège et certaines filières de l'enseignement supérieur, aussi n'avons-nous que peu de modèles différents.
Mais en réalité chaque génération s'accompagne à l'international d'une grande variété de modèles différents numérotés de
fx-82
à
fx-991
.

Avec les
fx-92 Spéciale Collège
nous en sommes aujourd'hui à la génération
EX Classwiz
.

Mais contrairement à ce que tu pourrais croire, des modèles d'anciennes générations sont toujours produits. En effet, selons les cursus et pays, les fonctionnalités des anciennes générations peuvent s'avérer suffisantes, et des fonctionnalités des nouvelles générations peuvent être interdites à certains examens.

Par exemple en France, la
FX JUNIOR PLUS
ciblant l'enseignement primaire appartient technologiquement à l'ancienne gamme
MS SVPAM
de 2001.

Comme nous te l'annoncions dans un article précédent, pour cette rentrée 2019
Casio
remplace les modèles
MS SVPAM
encore commercialisés par une toute nouvelle gamme, la
MS VPAM 2nd edition
. Les nouveaux modèles qui l'accompagnent bénéficient d'une refonte du boîtier avec un tout nouveau
design
: net gommage des arrondis prononcés du boîtier et touches qui tendent vers du rectangulaire. Un
design
se rapprochant de celui des modèles de la gamme
EX Classwiz
(dont les
fx-92 Spéciale Collège
françaises)
, comme ce fut également le cas cette même rentrée pour la
Graph 35+E II
. Bref, une uniformisation du
design
destinée sans doute à renforcer l'effet de gamme auprès des utilisateurs.

En France, la gamme
MS VPAM 2nd edition
nous apporte une 2ème édition de la
FX JUNIOR PLUS
qui prend le nouveau nom de
FX JUNIOR+
. Nous avons pu la prendre en main avec
Planète Casio
lors des journées
APMEP
, puisque le constructeur y présentait entre autres ce nouveau modèle.

11756117395620C'est donc dans le cadre de ces journées
APMEP
que nous te proposons, en attendant mieux, un test rapide de la nouvelle
FX JUNIOR+
directement sur le stand de
Casio
.
Et tu vas voir que l'on va quand même trouver des choses. ;)


La nouvelle
FX JUNIOR+
est comme sa prédécesseure une calculatrice avec écran 2 lignes, une pour la saisie et une pour le résultat. Contrairement à d'autres calculatrices bas de gamme pour le primaire, elle permet d'induire une meilleure compréhension de chaque résultat dans l'esprit de l'utilisateur puisque affichant simultanément la saisie lui étant lié. :bj:

117485628Sur les calculatrices
Casio
scientifiques, l'on peut accéder à des écrans de diagnostic permettant d'en apprendre davantage sur les petits secrets de la machine. Il suffisait pour cela d'allumer la calculatrice tout en maintenant les touches
SHIFT
7
ou
SECONDE
7
, puis de taper rapidement
9
. Sauf qu'ici nous n'avons pas de touche
SHIFT
ou
SECONDE
. Tentons d'utiliser la touche
CONFIG
située à la même place sur le clavier, soit d'allumer avec tout en maintenant les touches
CONFIG
7
.

Alors nous n'obtenons pas l'écran de diagnostic, et c'est normal puisque nous n'avons pas encore tapé
9
. Mais nous obtenons autre chose de bien croustillant, une fonctionnalité secrète cachée par le constructeur. ;)

Nous n'avons plus l'ancienne
FX JUNIOR PLUS
sous la main, mais de
Planète Casio
vient tout juste de vérifier pour nous.

Là donc où l'ancienne
FX JUNIOR PLUS
affichait
DIAGNOSTIC AC
, sous cette même combinaison secrète la nouvelle
FX JUNIOR+
démarre pour sa part dans une sorte de mode exerciseur comme il y a sur . :o

1174911750La calculatrice nous demande la somme ou la différence de 2 chiffres choisis au hasard, et nous précise si notre réponse est correcte via le message
TEST OK
. Une fonctionnalité fort bienvenue pour l'école primaire ! :bj:
Juste dommage qu'elle soit si bien cachée. ;)

117525629Bon, trève d'amusements, allons droit au but, allumons la calculatrice en maintenant
CONFIG
7
, puis tapons rapidement
9
.

De premiers écrans de diagnostic sont destinés à tester l'écran, et montrent à quoi nous avons affaire. Nous avons un écran à 2 lignes hybride, avec :
  • une ligne avec
    12
    afficheurs matriciels 5×6 pixels permettant la saisie confortable des calculs avec l'affichage de leurs divers symboles
  • une ligne avec
    12
    afficheurs à 7 segments, suffisants pour l'affichage du résultat numérique associé

117471174511746La touche
CONFIG
nous fait passer aux écrans suivants qui permettent de régler le contraste ou encore tester les 50 touches clavier une à une, avant enfin de nous valider le bon fonctionnement de la calculatrice.

117555632
Enfin nous arrivons à l'écran donnant des informations sur le
firmware
contenu dans la
ROM
de la calculatrice, qui a visiblement changé de version. Mais ce n'est pas une surprise puisqu'il y a donc eu ajout du mode exerciseur. Ce n'est plus le
firmware
504
mais le
510
.


A bientôt pour un test
FX JUNIOR+
complet !
;)




Crédits photos
:


Lien
:
https://www.casio-education.fr/products/fx-junior-plus
Link to topic: FX JUNIOR+ et nouveau mode exerciseur secret ! (Comments: 10)

Casio BGD560PKC-1, la montre Pikachu commémorative par Casio !

New postby critor » 01 Nov 2019, 15:06

Casio
ne fait pas que des calculatrices, mais aussi des montres.

En 1983,
Casio
lance sa gamme
G-Shock
. Diminutif de
Gravitational Shock
, il s'agissait de répondre à la problématique de fragilité des montres de l'époque, notamment à l'attention des sportifs et professionnels
(alpinistes, pompiers, policiers, soldats, ambulanciers, plateformes pétrolières, astronautes...)
.

En 1993,
Casio
lance sa gamme
Baby-G
. Issue de la gamme
G-Shock
, il s'agissait initialement via un changement de
design
de cibler une clientèle plus féminine, même si elle est aujourd'hui devenue une gamme distincte à part entière.

Pour fêter les 25 ans de sa gamme
G-Shock
,
Casio
s'associe avec
The Pokemon Company
pour te sortir ce
8 novembre
en édition limitée une montre
Baby-G
commémorative toute spéciale, la
BGD560PKC-1
, aux couleurs du légendaire
Pokémon
numéro
25
du
Pokédex
que tout-le-monde connaît, le dénommé
Pikachu
! :D

La conception regorge de détails et références pour combler ton âme de dresseur : :bj:
  • écrin de rangement en forme de
    Pokéball
  • bracelet imprimé d'un motif avec éclairs et
    Pokéballs
  • boucle du bracelet avec l'inscription
    0:25
  • sprite
    Pikachu
    pixellisé recto-verso, rétroéclairé sur l'écran et gravé sur la façade arrière, qui devrait rappeler aux plus anciens les premiers jeux pour
    Nintendo Game Boy
    monochrome


Le prix annoncé est de
110$
pour l'Amérique du Nord, et
129€
pour l'Europe. Possible donc que la commande en import soit plus intéressante chez nous, à condition bien sûr que les boutiques américaines et leurs stocks le permettent.

L'accessoire indispensable pour tes prochaines sessions de
Pokémon Go
sur ton smartphone, ou encore pour les plus à la pointe de l'actualité sur ta
Nintendo Switch
à compter justement du week-end du
15 novembre
suivant ! ;)


Liens
:


Source
:
https://www.casio.com/news/detail/a-col ... nniversary

NumWorks Omega, firmware NumWorks ultime pour les regrouper tous

New postby critor » 31 Oct 2019, 14:17

La
NumWorks
est revendiquée comme une calculatrice ouverte. Tu as accès au code source, et es libre de le modifier et soumettre à l'équipe NumWorks, ou de le recompiler toi-même.

On peut citer nombre de réalisations communautaires; de façon non exhaustive :

Mais derrière cette façade la réalité est tout autre, et paradoxalement le développement communautaire rencontre bien plus de succès sur les modèles concurrents non ouverts. :#roll#:

En effet l'équipe
NumWorks
n'intègre généralement que peu de ces créations.

Cela peut peut certes se comprendre puisque nombre d'entre elles sont de simples
'amusements'
sans intérêt justifié, surtout quand on sait que :
  • la
    NumWorks N0100
    n'a que
    1Mio
    de mémoire
    Flash
  • les
    NumWorks N0100
    et
    NumWorks N0110
    n'ont que
    256Kio
    de mémoire
    RAM

D'autres ont pourtant un intérêt scolaire parfaitement pertinent et ne sont pas intégrées pour autant ou alors après plusieurs mois.
  • Celles concernant le calcul littéral/formel vont à l'encontre des intérêts commerciaux du constructeur, ces fonctionnalités étant interdites aux examens chez nos voisins européens
    (Italie, Pays-Bas, Portugal, Royaume-Uni...)
    .
  • Mais nombre de refus ou mises de côté à ce jour ne rentrent pas dans ce cas. Peut-être parce que les ajouts en question correspondent à une future fonctionnalité déjà prévue par le constructeur, avec une interface différente, les interfaces
    NumWorks
    étant généralement fort bien pensées...

Et donc voilà le problème. Contrairement à la concurrence, la
NumWorks
ne dispose pas à ce jour d'une gestion d'applications
(ou plus généralement extensions, add-in, addon, plug-in, bibliothèque, librairies, modules...)
.

Les auteurs d'améliorations non retenues par l'équipe
NumWorks
n'ont que le choix :
  • de les diffuser sous forme de code source, qu'il faudra intégrer au code officiel avec d'éventuelles modifications puisque ce dernier change chaque semaine - cela ne cible déjà plus l'utilisateur scolaire lambda
  • de les diffuser sous forme de
    firmware
    précompilé, facile à installer grâce à notre outil en ligne

Si la distribution sous forme de
firmware
est la plus pertinente à ce jour pour le grand public, elle est loin d'être sans inconvénient. En effet :
  • Chaque développeur compile donc dans son coin son
    firmware
    incluant ses propres ajouts, et il est donc impossible d'installer simultanément les ajouts de différents développeurs
  • De plus, le code du
    firmware
    NumWorks
    officiel change chaque semaine avec des mises à jour quasiment chaque mois. Passer sur un
    firmware
    tiers c'est donc se priver de toutes les améliorations officielles. A moins que le développeur concerné ne se donne la peine d'intégrer les ajouts officiels au fur et à mesure, avec corrections éventuelles du code pour compatibilité avec ses modifications. Et en pratique très peu s'en donnent la peine, laissant donc leurs firmwares devenir progressivement de plus en plus obsolètes dans leur coin. :'(

avait certes tenté de faire quelque chose contre cet énorme problème l'été dernier, avec une compilation ponctuelle d'un
firmware
regroupant plusieurs de ses améliorations et de celles d'autres développeurs jusqu'à présent refusées ou délaissées par l'équipe
NumWorks
.

Il faudra compter cette année avec un nouveau projet de
firmware
par aidé de ,
Omega
.

Omega
a pour but d'intégrer un maximum des ajouts non repris par l'équipe
NumWorks
, et de les maintenir fonctionnels au fur et à mesure des mises à jour officielles ! :bj:

A ce jour l'essentiel de ce qui a été énuméré plus haut et non encore intégré par l'équipe
NumWorks
en fait partie :

L'intégration du tableau périodique des éléments par est également dans les tuyaux.

De plus avec
Omega
pas besoin de t'embêter à compiler ou chercher et récupérer le dernier fichier
firmware
, une interface d'installation en ligne est également disponible
(pour
NumWorks N0100
uniquement à ce jour)
te proposant directement la dernière version
Omega
, à ce jour
1.8
. :bj:
Cet outil nécessitera juste un navigateur utilisant le moteur
Chromium
(
Google Chrome
,
Microsoft Edge
, ...)
.

Nous allons donc voir si
Omega
permet de redonner un nouvel élan à la communauté des développeurs
NumWorks
. ;)


Liens
:


Téléchargement
:
Omega 1.10.1
pour
NumWorks N0110


Source
:
viewtopic.php?f=102&t=23093#p247402

HP Application Python officielle pour HP Prime G1 et bêta-test

New postby critor » 30 Oct 2019, 12:04

Attention, le contenu de cet article se basant sur une version alpha/beta, les fonctionnalités
décrites ici peuvent totalement changer d'ici l'éventuelle version officielle comprenant l'application Python!

Dans une actualité précédente,
Hewlett Packard Calculatrices
t'invitait à tester les prochaines mises à jour de son écosystème
HP Prime
, avec les versions bêta du
22 octobre
.

Plus précisément, la publication incluait :
  • le
    firmware
    pour
    HP Prime G1
    (version
    2.1.14285
    )
    et
    HP Prime G2
    (version
    2.1.14284
    )
  • le logiciel de connectivité
    HP Prime Connectivity Kit
    (version
    2.1.14288
    )
    pour
    Windows
    et
    Mac
  • le logiciel de simulation
    HP Prime Virtual Calculator
    (version
    2.1.14288
    )
    pour
    Windows
    ,
    Mac
    et
    Linux
  • les applications
    HP Prime
    pour
    iOS
Aujourd'hui il y a plusieurs nouveautés par rapport à ce bêta-test. Déjà, les applications
HP Prime
pour
Android
sont maintenant également disponibles.

Mais surtout, le
firmware
HP Prime G1
est bizarrement le seul à avoir été remplacé par une nouvelle version
2.1.14298
du
28 octobre
.
Pourquoi ?...
;)
11694En effet, le
firmware
2.1.14285
pour
HP Prime G1
était le seul à inclure quelque chose qui ne devait pas encore être prêt pour une annonce au grand public, une application
Python
, qui a été retirée pour la nouvelle version
2.1.14298
. :o

Maintenant que c'est trop tard et qu'il en est question sur pas moins de 2 pages forum
HP Museum
, profitons-en pour voir ce que
HP
nous prépare. :)

Précisons que la
HP Prime
accepte depuis la version
13333
une écriture en syntaxe
Python
en mode
CAS
, héritée du développement du moteur formel
GIAC
du logiciel
Xcas
par
Bernard Parisse
.

L'écriture
Python
de la
HP Prime
dispose d'avantages remarquables par rapport aux solutions
Python
de la concurrence, comme :
  • la possibilité d'obtenir les résultats numériques en valeur exact sans aucun artifice dans le code :bj:
  • la possibilité de faire du calcul littéral et formel :bj:
  • la possibilité de dessiner à l'écran, conformément au nouveau programme de Physique-Chimie Seconde depuis la rentrée 2019 :bj:

Elle n'en reste pas moins très imparfaite avec nombre de scripts
Python
pourtant parfaitement corrects qui renverront une erreur ou autre chose que ce qui était prévu. A moins de les écrire d'une façon bien particulière ou spéciale... astuces d'écriture qui nécessitent donc paradoxalement en phase d'apprentissage/découverte une certaine compréhension du fonctionnement interne et des différences entre les langages
Python
et
HP Prime CAS
.

Pour le logiciel
Xcas
ainsi que ses déclinaisons pour
NumWorks
et
KhiCAS
pour et , ce n'est pas problématique puisque Bernard est très réactif et accomplit un travail formidable avec des mises à jour hebdomadaires ! :bj:
Mais sur
HP Prime
avec à peine une mise à jour par an, les nombreux retours que nous avons faits ne sont donc pris en compte qu'à retardement. Par exemple là la dernière mise à jour remonte à
novembre 2018
, et pour notre concours de rentrée en
Python
nous avons dû littéralement nous arracher les cheveux à peu près autant que l'année dernière pour que notre script soit compatible
HP Prime
, vu qu'il n'y a eu aucune correction des nombreux problèmes.

Si la solution
GIAC/Xcas/delta
peut certes convenir pour les modèles
Casio/NumWorks
ainsi que les petits scripts d'initiation en Mathématiques au lycée, elle nous paraît en l'état actuel inadéquate sur
HP Prime
pour poursuivre avec des scripts plus sérieux ou projets en NSI par exemple, et avec un rythme de mises à jour qui se compte en années ce n'est hélas pas près de changer.


Qu'est-ce donc que la nouvelle application
Python
HP Prime
? Une interface pour utiliser plus facilement l'écriture
Python
du mode
CAS
, ou bien un véritable interpréteur
Python
? Nous allons voir cela ensemble.

A mieux y regarder, cette version
2.1.14285
serait plutôt une version alpha que bêta selon nous. On se rend rapidement compte que certaines fonctionnalités sont cassées et qu'il y a plusieurs problèmes :
  • les calculs en mode RPN ne fonctionnent plus
  • la réception de programmes ne fonctionne plus, ne donnant que des programmes vides dont le nom est bizarrement suffixé d'un
    :Main(1)
    dans l'éditeur
  • en cas de redémarrage la calculatrice s'amorce visiblement 2 fois, comme si elle plantait lors du 1er amorçage
  • en cas de redémarrage de la calculatrice, toutes les données saisies sont perdues
Voilà donc pourquoi elle a été aussi vite remplacée par
HP
.

Des conditions peu agréables pour découvrir la nouvelle application
Python
, mais nous allons quand même faire un effort pour toi.




Sommaire :
Go to top





1) Premier contact et méthode de saisie :

Go to top

L'ouverture de la nouvelle application
Python
nous amène à un écran comportant un avertissement sur le caractère non final de cette version, et acceptant des saisies en syntaxe
Python
. Il s'agit donc d'une console
(shell)
.

L'interface rudimentaire ne semble pas encore avoir prévu de possibilité pour charger un script. Ce qui est particulièrement embêtant pour définir des fonctions et réaliser des tests plus poussés, vu que la saisie sur plusieurs lignes ne semble pas acceptée non plus, même en la précisant explicitement avec le caractère \.

Elle n'est d'ailleurs pas stabilisée, puisque la sortie de l'interface via les touches
Symb
,
Esc
ou le bouton tactile
OK
redémarre la calculatrice, avec perte totale des données comme vu plus haut.

Il va donc nous falloir ruser... On pourrait par exemple mettre nos scripts
Python
dans l'éditeur de programmes, puis en copier le contenu via
Shift
View
pour alors le coller dans l'application
Python
via
Shift
Menu
. Effectivement ça marche, mais cette solution n'est toujours pas satisfaisante. En effet, comme le transfert de programmes ne marche plus nous sommes obligés de saisir les scripts à la main sur la calculatrice, et avec une application
Python
qui plante très facilement avec perte intégrale de la saisie ce n'est pas la panacée.

Nous finissons par avoir l'idée de regarder non plus du côté de l'éditeur de programmes, mais du côté de l'éditeur de remarques
(notes)
. On peut de même en faire des copiés/collés, et ici bonne nouvelle le transfert de données depuis un ordinateur fonctionne encore ! :bj:



2) Mantisses et exposants en virgule flottante :

Go to top

Pour déterminer à quoi nous avons affaire, nous allons commencer par tester le moteur de calcul numérique de l'application
Python
. Voici donc notre toute première fonction
Python
sur
HP Prime
:
Code: Select all
def precm(b):
  k,b=0,float(b)
  while 1+b**-k-1>0:
    k+=1
  return k

L'appel precm(2) nous indique que le moteur travaille en virgule flottante avec des mantisses de
53
bits, permettant environ
16
chiffres significatifs
(precm(10))
.

C'est le standard double précison du
Python
, un excellent choix pour le contexte scientifique du lycée ! :bj:
Cela répond de plus déjà à notre question principale. Cette application
Python
n'est pas une simple interface pour l'écriture
Python
du mode
CAS
. En effet les virgules flottantes
HP Prime
sont calculées sur
38
bits en mode numérique, et
48
bits en mode
CAS
. Par élimination, la nouvelle application
Python
renfermerait donc a priori un véritable interpréteur
Python
, reste à savoir lequel ! :bj:

Nous notons en passant l'affichage asiatique incorrect suivant la définition de la fonction. Et bien que notre fonction soit fonctionnelle, le problème semble plus profond qu'il n'y paraît, puisque nous n'arrivons pas à définir de deuxième fonction, ou du moins pas de deuxième fonction nécessitant une saisie sur plusieurs lignes. La fonction n'existe tout simplement pas après la nouvelle saisie par copié/collé. Peut-être y a-t-il un message d'erreur, mais comme c'est du chinois...

Nous réinitialisons donc l'interface pour notre deuxième fonction :
Code: Select all
def prece():
  a=-1
  while 2.**a>0:
    a*=2
  while 2.**a==0:
    a+=1
  b=1
  while str(2.**b)[0:3]!='inf':
    b*=2
  while str(2.**b)[0:3]=='inf':
    b-=1
  return [a,b]

L'appel prece() nous indique que les exposants des virgules flottantes peuvent aller de
-1074
à
+1023
, valeurs habituelles pour le standard double précision d'un véritable interpréteur
Python
.



3) Modules importables et aide en ligne :

Go to top

Puisque nous disposons donc apparemment d'un véritable interpréteur
Python
, continuons à explorer. Et la question suivante est de savoir de quels modules nous disposons. Malheureusement nous ne pouvons pas le demander via help("modules"), vu que
HP
n'a visiblement pas implémenté cette fonction
Python
pourtant standard.

Pour sa part, la touche d'aide en ligne de la calculatrice
Help
donne bien quelque chose, mais c'est très sommaire sans mention du moindre module. Par contre on y apprend que la touche
Symb
est prévue pour l'édition de scripts, même si nous avons vu plus haut qu'elle ne fonctionnait pas correctement.

Bon ben pas trop le choix... soit on tente à la main d'importer un maximum de modules
Python
au risque d'en rater quelques-uns... soit on fouille le firmware à l'éditeur hexadécimal.

Retenons cette dernière option. Nous trouvons facilement dans le
firmware
des occurences groupées avec
math
,
cmath
, mais aussi
matplotlib
,
numpy
,
pylab
,
turtle
et même
kandinsky
! :#roll#:
(coucou
NumWorks
! :p)

C'est peut-être trop beau pour être vrai avec une version alpha aussi jeune, et effectivement à part les modules
math
et
cmath
, aucun autre ne marche.
A bien y repenser, il s'agit sans doute de ressources concernant non pas la nouvelle application
Python
, mais l'écriture
Python
du mode
CAS
qui à part pour
turtle
propose plusieurs fonctions équivalentes pour ces modules, et doit donc reconnaître les commandes d'importation correspondantes.

Mais nous ne désespérons pas et finissons par trouver le bon segment on ne peut plus excplicite avec des traces de commandes de compilation qui ont réussi à être incluses dans le
firmware
:
Code: Select all
modes.o
ARM C/C++ Compiler, 4.1 [Build 894]
ArmCC --cpp --whole_program --split_sections -c  --depend=.\obj\modes.d --cpu=ARM926EJ-S --fpmode=ieee_full --apcs=interwork//interwork -O3 --diag_suppress=1,9,111,161,177,185,191,368,514,550,611,1293,1299,1300,1464 -I..\ -I..\src -I..\..\Core -I..\..\Core\src -I..\..\Core\CAS\src -I..\..\Core\TomMath -I..\..\Core\napier -I..\..\Core\freetype\include\ -I..\..\Core\freetype\include\freetype\ -I..\..\_qt5\src -IC:\Keil\ARM\RV31\Inc -IC:\Keil\ARM\CMSIS\Include -DUNICODE -D_UNICODE -DBESTA_OS -DBESTA_ARM_TARGET -DARM -DARM9 -DARM11 -DARM1176JZF -DSTANDALONE -DADS_COMPILER -DPDADEF -DKERNEL -DFULL_NAND_SYS -DFS_LONG_NAME_GET -DHAVE_AV_CONFIG_H -DEMULATE_FAST_INT -DEMULATE_INTTYPES -DFLASHLITEDLL -DFLASH_BESTARTOS -DFL31_STATICLIBRARY -D__STDC_LIMIT_MACROS -DFIR -DHAVE_CONFIG_H -DIN_GIAC -DUSE_GMP_REPLACEMENTS -DBCD -DNO_UNARY_FUNCTION_COMPOSE -DSTATIC_BUILTIN_LEXER_FUNCTIONS -DNO_STDEXCEPT -DNO_PHYSICAL_CONSTANTS -DGIAC_HAS_STO_38 -DCAS38 -DFT2_BUILD_LIBRARY -Dsprintf=__sprintf -D__cplusplus -DNDEBUG -D__USB_CONFIG__ -DUSBH0_ENABLE -DUSBH0_HC_IF -DUSBD_ENABLE -DUSBD_HID_ENABLE --loose_implicit_cast --remove_unneeded_entities
modfactor.o
ARM C/C++ Compiler, 4.1 [Build 894]
ArmCC --cpp --whole_program --split_sections -c  --depend=.\obj\modfactor.d --cpu=ARM926EJ-S --fpmode=ieee_full --apcs=interwork//interwork -O3 --diag_suppress=1,9,111,161,177,185,191,368,514,550,611,1293,1299,1300,1464 -I..\ -I..\src -I..\..\Core -I..\..\Core\src -I..\..\Core\CAS\src -I..\..\Core\TomMath -I..\..\Core\napier -I..\..\Core\freetype\include\ -I..\..\Core\freetype\include\freetype\ -I..\..\_qt5\src -IC:\Keil\ARM\RV31\Inc -IC:\Keil\ARM\CMSIS\Include -DUNICODE -D_UNICODE -DBESTA_OS -DBESTA_ARM_TARGET -DARM -DARM9 -DARM11 -DARM1176JZF -DSTANDALONE -DADS_COMPILER -DPDADEF -DKERNEL -DFULL_NAND_SYS -DFS_LONG_NAME_GET -DHAVE_AV_CONFIG_H -DEMULATE_FAST_INT -DEMULATE_INTTYPES -DFLASHLITEDLL -DFLASH_BESTARTOS -DFL31_STATICLIBRARY -D__STDC_LIMIT_MACROS -DFIR -DHAVE_CONFIG_H -DIN_GIAC -DUSE_GMP_REPLACEMENTS -DBCD -DNO_UNARY_FUNCTION_COMPOSE -DSTATIC_BUILTIN_LEXER_FUNCTIONS -DNO_STDEXCEPT -DNO_PHYSICAL_CONSTANTS -DGIAC_HAS_STO_38 -DCAS38 -DFT2_BUILD_LIBRARY -Dsprintf=__sprintf -D__cplusplus -DNDEBUG -D__USB_CONFIG__ -DUSBH0_ENABLE -DUSBH0_HC_IF -DUSBD_ENABLE -DUSBD_HID_ENABLE --loose_implicit_cast --remove_unneeded_entities
modpoly.o
ARM C/C++ Compiler, 4.1 [Build 894]
ArmCC --cpp --whole_program --split_sections -c  --depend=.\obj\modpoly.d --cpu=ARM926EJ-S --fpmode=ieee_full --apcs=interwork//interwork -O3 --diag_suppress=1,9,111,161,177,185,191,368,514,550,611,1293,1299,1300,1464 -I..\ -I..\src -I..\..\Core -I..\..\Core\src -I..\..\Core\CAS\src -I..\..\Core\TomMath -I..\..\Core\napier -I..\..\Core\freetype\include\ -I..\..\Core\freetype\include\freetype\ -I..\..\_qt5\src -IC:\Keil\ARM\RV31\Inc -IC:\Keil\ARM\CMSIS\Include -DUNICODE -D_UNICODE -DBESTA_OS -DBESTA_ARM_TARGET -DARM -DARM9 -DARM11 -DARM1176JZF -DSTANDALONE -DADS_COMPILER -DPDADEF -DKERNEL -DFULL_NAND_SYS -DFS_LONG_NAME_GET -DHAVE_AV_CONFIG_H -DEMULATE_FAST_INT -DEMULATE_INTTYPES -DFLASHLITEDLL -DFLASH_BESTARTOS -DFL31_STATICLIBRARY -D__STDC_LIMIT_MACROS -DFIR -DHAVE_CONFIG_H -DIN_GIAC -DUSE_GMP_REPLACEMENTS -DBCD -DNO_UNARY_FUNCTION_COMPOSE -DSTATIC_BUILTIN_LEXER_FUNCTIONS -DNO_STDEXCEPT -DNO_PHYSICAL_CONSTANTS -DGIAC_HAS_STO_38 -DCAS38 -DFT2_BUILD_LIBRARY -Dsprintf=__sprintf -D__cplusplus -DNDEBUG -D__USB_CONFIG__ -DUSBH0_ENABLE -DUSBH0_HC_IF -DUSBD_ENABLE -DUSBD_HID_ENABLE --loose_implicit_cast --remove_unneeded_entities
modmicropython.o
ARM C/C++ Compiler, 4.1 [Build 894]
ArmCC --cpp --whole_program --split_sections -c  --depend=.\obj\modmicropython.d --cpu=ARM926EJ-S --fpmode=ieee_full --apcs=interwork//interwork -O3 --diag_suppress=1,9,111,161,177,185,191,368,514,550,611,1293,1299,1300,1464 -I..\ -I..\src -I..\..\Core -I..\..\Core\src -I..\..\Core\CAS\src -I..\..\Core\TomMath -I..\..\Core\napier -I..\..\Core\freetype\include\ -I..\..\Core\freetype\include\freetype\ -I..\..\_qt5\src -IC:\Keil\ARM\RV31\Inc -IC:\Keil\ARM\CMSIS\Include -DUNICODE -D_UNICODE -DBESTA_OS -DBESTA_ARM_TARGET -DARM -DARM9 -DARM11 -DARM1176JZF -DSTANDALONE -DADS_COMPILER -DPDADEF -DKERNEL -DFULL_NAND_SYS -DFS_LONG_NAME_GET -DHAVE_AV_CONFIG_H -DEMULATE_FAST_INT -DEMULATE_INTTYPES -DFLASHLITEDLL -DFLASH_BESTARTOS -DFL31_STATICLIBRARY -D__STDC_LIMIT_MACROS -DFIR -DHAVE_CONFIG_H -DIN_GIAC -DUSE_GMP_REPLACEMENTS -DBCD -DNO_UNARY_FUNCTION_COMPOSE -DSTATIC_BUILTIN_LEXER_FUNCTIONS -DNO_STDEXCEPT -DNO_PHYSICAL_CONSTANTS -DGIAC_HAS_STO_38 -DCAS38 -DFT2_BUILD_LIBRARY -Dsprintf=__sprintf -D__cplusplus -DNDEBUG -D__USB_CONFIG__ -DUSBH0_ENABLE -DUSBH0_HC_IF -DUSBD_ENABLE -DUSBD_HID_ENABLE --loose_implicit_cast --remove_unneeded_entities
modarray.o
ARM C/C++ Compiler, 4.1 [Build 894]
ArmCC --cpp --whole_program --split_sections -c  --depend=.\obj\modarray.d --cpu=ARM926EJ-S --fpmode=ieee_full --apcs=interwork//interwork -O3 --diag_suppress=1,9,111,161,177,185,191,368,514,550,611,1293,1299,1300,1464 -I..\ -I..\src -I..\..\Core -I..\..\Core\src -I..\..\Core\CAS\src -I..\..\Core\TomMath -I..\..\Core\napier -I..\..\Core\freetype\include\ -I..\..\Core\freetype\include\freetype\ -I..\..\_qt5\src -IC:\Keil\ARM\RV31\Inc -IC:\Keil\ARM\CMSIS\Include -DUNICODE -D_UNICODE -DBESTA_OS -DBESTA_ARM_TARGET -DARM -DARM9 -DARM11 -DARM1176JZF -DSTANDALONE -DADS_COMPILER -DPDADEF -DKERNEL -DFULL_NAND_SYS -DFS_LONG_NAME_GET -DHAVE_AV_CONFIG_H -DEMULATE_FAST_INT -DEMULATE_INTTYPES -DFLASHLITEDLL -DFLASH_BESTARTOS -DFL31_STATICLIBRARY -D__STDC_LIMIT_MACROS -DFIR -DHAVE_CONFIG_H -DIN_GIAC -DUSE_GMP_REPLACEMENTS -DBCD -DNO_UNARY_FUNCTION_COMPOSE -DSTATIC_BUILTIN_LEXER_FUNCTIONS -DNO_STDEXCEPT -DNO_PHYSICAL_CONSTANTS -DGIAC_HAS_STO_38 -DCAS38 -DFT2_BUILD_LIBRARY -Dsprintf=__sprintf -D__cplusplus -DNDEBUG -D__USB_CONFIG__ -DUSBH0_ENABLE -DUSBH0_HC_IF -DUSBD_ENABLE -DUSBD_HID_ENABLE --loose_implicit_cast --remove_unneeded_entities
modbuiltins.o
ARM C/C++ Compiler, 4.1 [Build 894]
ArmCC --cpp --whole_program --split_sections -c  --depend=.\obj\modbuiltins.d --cpu=ARM926EJ-S --fpmode=ieee_full --apcs=interwork//interwork -O3 --diag_suppress=1,9,111,161,177,185,191,368,514,550,611,1293,1299,1300,1464 -I..\ -I..\src -I..\..\Core -I..\..\Core\src -I..\..\Core\CAS\src -I..\..\Core\TomMath -I..\..\Core\napier -I..\..\Core\freetype\include\ -I..\..\Core\freetype\include\freetype\ -I..\..\_qt5\src -IC:\Keil\ARM\RV31\Inc -IC:\Keil\ARM\CMSIS\Include -DUNICODE -D_UNICODE -DBESTA_OS -DBESTA_ARM_TARGET -DARM -DARM9 -DARM11 -DARM1176JZF -DSTANDALONE -DADS_COMPILER -DPDADEF -DKERNEL -DFULL_NAND_SYS -DFS_LONG_NAME_GET -DHAVE_AV_CONFIG_H -DEMULATE_FAST_INT -DEMULATE_INTTYPES -DFLASHLITEDLL -DFLASH_BESTARTOS -DFL31_STATICLIBRARY -D__STDC_LIMIT_MACROS -DFIR -DHAVE_CONFIG_H -DIN_GIAC -DUSE_GMP_REPLACEMENTS -DBCD -DNO_UNARY_FUNCTION_COMPOSE -DSTATIC_BUILTIN_LEXER_FUNCTIONS -DNO_STDEXCEPT -DNO_PHYSICAL_CONSTANTS -DGIAC_HAS_STO_38 -DCAS38 -DFT2_BUILD_LIBRARY -Dsprintf=__sprintf -D__cplusplus -DNDEBUG -D__USB_CONFIG__ -DUSBH0_ENABLE -DUSBH0_HC_IF -DUSBD_ENABLE -DUSBD_HID_ENABLE --loose_implicit_cast --remove_unneeded_entities
modcmath.o
ARM C/C++ Compiler, 4.1 [Build 894]
ArmCC --cpp --whole_program --split_sections -c  --depend=.\obj\modcmath.d --cpu=ARM926EJ-S --fpmode=ieee_full --apcs=interwork//interwork -O3 --diag_suppress=1,9,111,161,177,185,191,368,514,550,611,1293,1299,1300,1464 -I..\ -I..\src -I..\..\Core -I..\..\Core\src -I..\..\Core\CAS\src -I..\..\Core\TomMath -I..\..\Core\napier -I..\..\Core\freetype\include\ -I..\..\Core\freetype\include\freetype\ -I..\..\_qt5\src -IC:\Keil\ARM\RV31\Inc -IC:\Keil\ARM\CMSIS\Include -DUNICODE -D_UNICODE -DBESTA_OS -DBESTA_ARM_TARGET -DARM -DARM9 -DARM11 -DARM1176JZF -DSTANDALONE -DADS_COMPILER -DPDADEF -DKERNEL -DFULL_NAND_SYS -DFS_LONG_NAME_GET -DHAVE_AV_CONFIG_H -DEMULATE_FAST_INT -DEMULATE_INTTYPES -DFLASHLITEDLL -DFLASH_BESTARTOS -DFL31_STATICLIBRARY -D__STDC_LIMIT_MACROS -DFIR -DHAVE_CONFIG_H -DIN_GIAC -DUSE_GMP_REPLACEMENTS -DBCD -DNO_UNARY_FUNCTION_COMPOSE -DSTATIC_BUILTIN_LEXER_FUNCTIONS -DNO_STDEXCEPT -DNO_PHYSICAL_CONSTANTS -DGIAC_HAS_STO_38 -DCAS38 -DFT2_BUILD_LIBRARY -Dsprintf=__sprintf -D__cplusplus -DNDEBUG -D__USB_CONFIG__ -DUSBH0_ENABLE -DUSBH0_HC_IF -DUSBD_ENABLE -DUSBD_HID_ENABLE --loose_implicit_cast --remove_unneeded_entities
modcollections.o
ARM C/C++ Compiler, 4.1 [Build 894]
ArmCC --cpp --whole_program --split_sections -c  --depend=.\obj\modcollections.d --cpu=ARM926EJ-S --fpmode=ieee_full --apcs=interwork//interwork -O3 --diag_suppress=1,9,111,161,177,185,191,368,514,550,611,1293,1299,1300,1464 -I..\ -I..\src -I..\..\Core -I..\..\Core\src -I..\..\Core\CAS\src -I..\..\Core\TomMath -I..\..\Core\napier -I..\..\Core\freetype\include\ -I..\..\Core\freetype\include\freetype\ -I..\..\_qt5\src -IC:\Keil\ARM\RV31\Inc -IC:\Keil\ARM\CMSIS\Include -DUNICODE -D_UNICODE -DBESTA_OS -DBESTA_ARM_TARGET -DARM -DARM9 -DARM11 -DARM1176JZF -DSTANDALONE -DADS_COMPILER -DPDADEF -DKERNEL -DFULL_NAND_SYS -DFS_LONG_NAME_GET -DHAVE_AV_CONFIG_H -DEMULATE_FAST_INT -DEMULATE_INTTYPES -DFLASHLITEDLL -DFLASH_BESTARTOS -DFL31_STATICLIBRARY -D__STDC_LIMIT_MACROS -DFIR -DHAVE_CONFIG_H -DIN_GIAC -DUSE_GMP_REPLACEMENTS -DBCD -DNO_UNARY_FUNCTION_COMPOSE -DSTATIC_BUILTIN_LEXER_FUNCTIONS -DNO_STDEXCEPT -DNO_PHYSICAL_CONSTANTS -DGIAC_HAS_STO_38 -DCAS38 -DFT2_BUILD_LIBRARY -Dsprintf=__sprintf -D__cplusplus -DNDEBUG -D__USB_CONFIG__ -DUSBH0_ENABLE -DUSBH0_HC_IF -DUSBD_ENABLE -DUSBD_HID_ENABLE --loose_implicit_cast --remove_unneeded_entities
modgc.o
ARM C/C++ Compiler, 4.1 [Build 894]
ArmCC --cpp --whole_program --split_sections -c  --depend=.\obj\modgc.d --cpu=ARM926EJ-S --fpmode=ieee_full --apcs=interwork//interwork -O3 --diag_suppress=1,9,111,161,177,185,191,368,514,550,611,1293,1299,1300,1464 -I..\ -I..\src -I..\..\Core -I..\..\Core\src -I..\..\Core\CAS\src -I..\..\Core\TomMath -I..\..\Core\napier -I..\..\Core\freetype\include\ -I..\..\Core\freetype\include\freetype\ -I..\..\_qt5\src -IC:\Keil\ARM\RV31\Inc -IC:\Keil\ARM\CMSIS\Include -DUNICODE -D_UNICODE -DBESTA_OS -DBESTA_ARM_TARGET -DARM -DARM9 -DARM11 -DARM1176JZF -DSTANDALONE -DADS_COMPILER -DPDADEF -DKERNEL -DFULL_NAND_SYS -DFS_LONG_NAME_GET -DHAVE_AV_CONFIG_H -DEMULATE_FAST_INT -DEMULATE_INTTYPES -DFLASHLITEDLL -DFLASH_BESTARTOS -DFL31_STATICLIBRARY -D__STDC_LIMIT_MACROS -DFIR -DHAVE_CONFIG_H -DIN_GIAC -DUSE_GMP_REPLACEMENTS -DBCD -DNO_UNARY_FUNCTION_COMPOSE -DSTATIC_BUILTIN_LEXER_FUNCTIONS -DNO_STDEXCEPT -DNO_PHYSICAL_CONSTANTS -DGIAC_HAS_STO_38 -DCAS38 -DFT2_BUILD_LIBRARY -Dsprintf=__sprintf -D__cplusplus -DNDEBUG -D__USB_CONFIG__ -DUSBH0_ENABLE -DUSBH0_HC_IF -DUSBD_ENABLE -DUSBD_HID_ENABLE --loose_implicit_cast --remove_unneeded_entities
modio.o
ARM C/C++ Compiler, 4.1 [Build 894]
ArmCC --cpp --whole_program --split_sections -c  --depend=.\obj\modio.d --cpu=ARM926EJ-S --fpmode=ieee_full --apcs=interwork//interwork -O3 --diag_suppress=1,9,111,161,177,185,191,368,514,550,611,1293,1299,1300,1464 -I..\ -I..\src -I..\..\Core -I..\..\Core\src -I..\..\Core\CAS\src -I..\..\Core\TomMath -I..\..\Core\napier -I..\..\Core\freetype\include\ -I..\..\Core\freetype\include\freetype\ -I..\..\_qt5\src -IC:\Keil\ARM\RV31\Inc -IC:\Keil\ARM\CMSIS\Include -DUNICODE -D_UNICODE -DBESTA_OS -DBESTA_ARM_TARGET -DARM -DARM9 -DARM11 -DARM1176JZF -DSTANDALONE -DADS_COMPILER -DPDADEF -DKERNEL -DFULL_NAND_SYS -DFS_LONG_NAME_GET -DHAVE_AV_CONFIG_H -DEMULATE_FAST_INT -DEMULATE_INTTYPES -DFLASHLITEDLL -DFLASH_BESTARTOS -DFL31_STATICLIBRARY -D__STDC_LIMIT_MACROS -DFIR -DHAVE_CONFIG_H -DIN_GIAC -DUSE_GMP_REPLACEMENTS -DBCD -DNO_UNARY_FUNCTION_COMPOSE -DSTATIC_BUILTIN_LEXER_FUNCTIONS -DNO_STDEXCEPT -DNO_PHYSICAL_CONSTANTS -DGIAC_HAS_STO_38 -DCAS38 -DFT2_BUILD_LIBRARY -Dsprintf=__sprintf -D__cplusplus -DNDEBUG -D__USB_CONFIG__ -DUSBH0_ENABLE -DUSBH0_HC_IF -DUSBD_ENABLE -DUSBD_HID_ENABLE --loose_implicit_cast --remove_unneeded_entities
modmath.o
ARM C/C++ Compiler, 4.1 [Build 894]
ArmCC --cpp --whole_program --split_sections -c  --depend=.\obj\modmath.d --cpu=ARM926EJ-S --fpmode=ieee_full --apcs=interwork//interwork -O3 --diag_suppress=1,9,111,161,177,185,191,368,514,550,611,1293,1299,1300,1464 -I..\ -I..\src -I..\..\Core -I..\..\Core\src -I..\..\Core\CAS\src -I..\..\Core\TomMath -I..\..\Core\napier -I..\..\Core\freetype\include\ -I..\..\Core\freetype\include\freetype\ -I..\..\_qt5\src -IC:\Keil\ARM\RV31\Inc -IC:\Keil\ARM\CMSIS\Include -DUNICODE -D_UNICODE -DBESTA_OS -DBESTA_ARM_TARGET -DARM -DARM9 -DARM11 -DARM1176JZF -DSTANDALONE -DADS_COMPILER -DPDADEF -DKERNEL -DFULL_NAND_SYS -DFS_LONG_NAME_GET -DHAVE_AV_CONFIG_H -DEMULATE_FAST_INT -DEMULATE_INTTYPES -DFLASHLITEDLL -DFLASH_BESTARTOS -DFL31_STATICLIBRARY -D__STDC_LIMIT_MACROS -DFIR -DHAVE_CONFIG_H -DIN_GIAC -DUSE_GMP_REPLACEMENTS -DBCD -DNO_UNARY_FUNCTION_COMPOSE -DSTATIC_BUILTIN_LEXER_FUNCTIONS -DNO_STDEXCEPT -DNO_PHYSICAL_CONSTANTS -DGIAC_HAS_STO_38 -DCAS38 -DFT2_BUILD_LIBRARY -Dsprintf=__sprintf -D__cplusplus -DNDEBUG -D__USB_CONFIG__ -DUSBH0_ENABLE -DUSBH0_HC_IF -DUSBD_ENABLE -DUSBD_HID_ENABLE --loose_implicit_cast --remove_unneeded_entities
modstruct.o
ARM C/C++ Compiler, 4.1 [Build 894]
ArmCC --cpp --whole_program --split_sections -c  --depend=.\obj\modstruct.d --cpu=ARM926EJ-S --fpmode=ieee_full --apcs=interwork//interwork -O3 --diag_suppress=1,9,111,161,177,185,191,368,514,550,611,1293,1299,1300,1464 -I..\ -I..\src -I..\..\Core -I..\..\Core\src -I..\..\Core\CAS\src -I..\..\Core\TomMath -I..\..\Core\napier -I..\..\Core\freetype\include\ -I..\..\Core\freetype\include\freetype\ -I..\..\_qt5\src -IC:\Keil\ARM\RV31\Inc -IC:\Keil\ARM\CMSIS\Include -DUNICODE -D_UNICODE -DBESTA_OS -DBESTA_ARM_TARGET -DARM -DARM9 -DARM11 -DARM1176JZF -DSTANDALONE -DADS_COMPILER -DPDADEF -DKERNEL -DFULL_NAND_SYS -DFS_LONG_NAME_GET -DHAVE_AV_CONFIG_H -DEMULATE_FAST_INT -DEMULATE_INTTYPES -DFLASHLITEDLL -DFLASH_BESTARTOS -DFL31_STATICLIBRARY -D__STDC_LIMIT_MACROS -DFIR -DHAVE_CONFIG_H -DIN_GIAC -DUSE_GMP_REPLACEMENTS -DBCD -DNO_UNARY_FUNCTION_COMPOSE -DSTATIC_BUILTIN_LEXER_FUNCTIONS -DNO_STDEXCEPT -DNO_PHYSICAL_CONSTANTS -DGIAC_HAS_STO_38 -DCAS38 -DFT2_BUILD_LIBRARY -Dsprintf=__sprintf -D__cplusplus -DNDEBUG -D__USB_CONFIG__ -DUSBH0_ENABLE -DUSBH0_HC_IF -DUSBD_ENABLE -DUSBD_HID_ENABLE --loose_implicit_cast --remove_unneeded_entities
modsys.o
ARM C/C++ Compiler, 4.1 [Build 894]
ArmCC --cpp --whole_program --split_sections -c  --depend=.\obj\modsys.d --cpu=ARM926EJ-S --fpmode=ieee_full --apcs=interwork//interwork -O3 --diag_suppress=1,9,111,161,177,185,191,368,514,550,611,1293,1299,1300,1464 -I..\ -I..\src -I..\..\Core -I..\..\Core\src -I..\..\Core\CAS\src -I..\..\Core\TomMath -I..\..\Core\napier -I..\..\Core\freetype\include\ -I..\..\Core\freetype\include\freetype\ -I..\..\_qt5\src -IC:\Keil\ARM\RV31\Inc -IC:\Keil\ARM\CMSIS\Include -DUNICODE -D_UNICODE -DBESTA_OS -DBESTA_ARM_TARGET -DARM -DARM9 -DARM11 -DARM1176JZF -DSTANDALONE -DADS_COMPILER -DPDADEF -DKERNEL -DFULL_NAND_SYS -DFS_LONG_NAME_GET -DHAVE_AV_CONFIG_H -DEMULATE_FAST_INT -DEMULATE_INTTYPES -DFLASHLITEDLL -DFLASH_BESTARTOS -DFL31_STATICLIBRARY -D__STDC_LIMIT_MACROS -DFIR -DHAVE_CONFIG_H -DIN_GIAC -DUSE_GMP_REPLACEMENTS -DBCD -DNO_UNARY_FUNCTION_COMPOSE -DSTATIC_BUILTIN_LEXER_FUNCTIONS -DNO_STDEXCEPT -DNO_PHYSICAL_CONSTANTS -DGIAC_HAS_STO_38 -DCAS38 -DFT2_BUILD_LIBRARY -Dsprintf=__sprintf -D__cplusplus -DNDEBUG -D__USB_CONFIG__ -DUSBH0_ENABLE -DUSBH0_HC_IF -DUSBD_ENABLE -DUSBD_HID_ENABLE --loose_implicit_cast --remove_unneeded_entities
modthread.o
ARM C/C++ Compiler, 4.1 [Build 894]
ArmCC --cpp --whole_program --split_sections -c  --depend=.\obj\modthread.d --cpu=ARM926EJ-S --fpmode=ieee_full --apcs=interwork//interwork -O3 --diag_suppress=1,9,111,161,177,185,191,368,514,550,611,1293,1299,1300,1464 -I..\ -I..\src -I..\..\Core -I..\..\Core\src -I..\..\Core\CAS\src -I..\..\Core\TomMath -I..\..\Core\napier -I..\..\Core\freetype\include\ -I..\..\Core\freetype\include\freetype\ -I..\..\_qt5\src -IC:\Keil\ARM\RV31\Inc -IC:\Keil\ARM\CMSIS\Include -DUNICODE -D_UNICODE -DBESTA_OS -DBESTA_ARM_TARGET -DARM -DARM9 -DARM11 -DARM1176JZF -DSTANDALONE -DADS_COMPILER -DPDADEF -DKERNEL -DFULL_NAND_SYS -DFS_LONG_NAME_GET -DHAVE_AV_CONFIG_H -DEMULATE_FAST_INT -DEMULATE_INTTYPES -DFLASHLITEDLL -DFLASH_BESTARTOS -DFL31_STATICLIBRARY -D__STDC_LIMIT_MACROS -DFIR -DHAVE_CONFIG_H -DIN_GIAC -DUSE_GMP_REPLACEMENTS -DBCD -DNO_UNARY_FUNCTION_COMPOSE -DSTATIC_BUILTIN_LEXER_FUNCTIONS -DNO_STDEXCEPT -DNO_PHYSICAL_CONSTANTS -DGIAC_HAS_STO_38 -DCAS38 -DFT2_BUILD_LIBRARY -Dsprintf=__sprintf -D__cplusplus -DNDEBUG -D__USB_CONFIG__ -DUSBH0_ENABLE -DUSBH0_HC_IF -DUSBD_ENABLE -DUSBD_HID_ENABLE --loose_implicit_cast --remove_unneeded_entities
moduerrno.o
ARM C/C++ Compiler, 4.1 [Build 894]
ArmCC --cpp --whole_program --split_sections -c  --depend=.\obj\moduerrno.d --cpu=ARM926EJ-S --fpmode=ieee_full --apcs=interwork//interwork -O3 --diag_suppress=1,9,111,161,177,185,191,368,514,550,611,1293,1299,1300,1464 -I..\ -I..\src -I..\..\Core -I..\..\Core\src -I..\..\Core\CAS\src -I..\..\Core\TomMath -I..\..\Core\napier -I..\..\Core\freetype\include\ -I..\..\Core\freetype\include\freetype\ -I..\..\_qt5\src -IC:\Keil\ARM\RV31\Inc -IC:\Keil\ARM\CMSIS\Include -DUNICODE -D_UNICODE -DBESTA_OS -DBESTA_ARM_TARGET -DARM -DARM9 -DARM11 -DARM1176JZF -DSTANDALONE -DADS_COMPILER -DPDADEF -DKERNEL -DFULL_NAND_SYS -DFS_LONG_NAME_GET -DHAVE_AV_CONFIG_H -DEMULATE_FAST_INT -DEMULATE_INTTYPES -DFLASHLITEDLL -DFLASH_BESTARTOS -DFL31_STATICLIBRARY -D__STDC_LIMIT_MACROS -DFIR -DHAVE_CONFIG_H -DIN_GIAC -DUSE_GMP_REPLACEMENTS -DBCD -DNO_UNARY_FUNCTION_COMPOSE -DSTATIC_BUILTIN_LEXER_FUNCTIONS -DNO_STDEXCEPT -DNO_PHYSICAL_CONSTANTS -DGIAC_HAS_STO_38 -DCAS38 -DFT2_BUILD_LIBRARY -Dsprintf=__sprintf -D__cplusplus -DNDEBUG -D__USB_CONFIG__ -DUSBH0_ENABLE -DUSBH0_HC_IF -DUSBD_ENABLE -DUSBD_HID_ENABLE --loose_implicit_cast --remove_unneeded_entities

Déjà, la présence du module
micropython
nous indique que l'interpréteur retenu pour la
HP Prime
est
MicroPython
, comme sur
Casio
,
NumWorks
et
TI-Nspire
.

De façon générale, si l'on en croit le nommage des fichiers, nous pourrions donc avoir des modules
es
,
factor
,
poly
,
micropython
,
array
,
builtins
,
cmath
,
collections
,
gc
,
io
,
math
,
struct
,
sys
,
thread
et
uerrno
.
En plus de
builtins
qui est importé par défaut, seulement 7 autres modules additionnels sont réellement importables :
array
,
cmath
,
gc
,
math
,
micropython
,
sys
et
uerrno
.
MicroPython
TI-Nspire
NumWorks
Casio
Graph 35+E II
Graph 90+E
CasioPython
Graph 35+E II
Graph 35+E/USB
Graph 75/85/95
TI-83PCE Ed. Python
TI-Python / TI-83PCE
firmware tiers
TI-Python / TI-83PCE
HP Prime
builtins
array
collections
cmath
gc
math
micropython
os
random
sys
time
turtle
uerrno


 




 
 

 
 
 

 
 

 


 

 


 

 
 
 
 

 
 

 
 
 
 


 




 


 
 



 


 




 
 











 
 












spécifique
nsp
kandinsky
board
storage
Total
8
8
3
9
8
13
8

On pourra regretter à date l'absence des modules
random
et
time
.
D'où le classement suivant en terme d'éventail de modules :
  1. 13
    modules : module externe
    TI-Python pour TI-83 Premium CE
  2. 9
    modules :
    Casio Graph 35+E II / 35+E/USB / 75/85/95 / fx-9750GII / fx-9860G/GII
    (application CasioPython)
  3. 8
    modules :
    HP Prime
    +
    TI-83 Premium CE Edition Python
    +
    NumWorks
    +
    TI-Nspire
    + module externe
    TI-Python pour TI-83 Premium CE
  4. 3
    modules :
    Casio Graph 35+E II / 90+E / fx-CG50




4) Exploration module sys et nombres entiers :

Go to top

Bien, abordons maintenant l'exploration de modules. Comme nous avons vu plus haut que définir plusieurs fonctions non triviales était problématique, nous allons réécrire exceptionnellement notre script d'exploration habituel sous la forme d'une unique fonction :
Code: Select all
def explmod(pitm,pitmsl=[],reset=True):
  if(reset):
    try:
      s=pitm.__name__
    except:
      s=str(pitm)
      a=s.find("'")
      b=s.rfind("'")
      if a>=0 and b!=a:
        s=s[a+1:b]
    pitmsl=[s]
  hd="."*(len(pitmsl)-1)
  spath=".".join(pitmsl)
  c,c2=0,0
  for itms in sorted(dir(pitm)):
    c,c2=c+1,c2+1
    try:
      itm=eval(spath+"."+itms)
      sitm=str(itm)
      print(hd+itms+"="+str(itm))
      if (sitm.startswith("<module '") or sitm.startswith("<class '")) and itm!=pitm:
        pitmsl2=pitmsl.copy()
        pitmsl2.append(itms)
        c2=c2+explmod(itm,pitmsl2,False)[1]
    except:
      print(hd+itms)
  if c>0 and reset:
    s="Total: "
    s+=str(c)+" 1st level item(s)"
    if c2>0 and c2!=c:
      s+=" - "+str(c2)+" item(s)"
    print(s)
  return [c,c2]

L'appel explmod(sys) nous révèle de
17
à
21
éléments, selon que l'on en reste aux éléments du premier niveau ou compte également les sous-éléments.

Plusieurs éléments sont à remarquer :
  • sys.implementation.name qui nous confirme là encore que l'interpréteur
    Python
    est basé sur
    MicroPython
  • sys.implementation.version qui précise la version
    MicroPython
    concernée, ici
    1.9.4
    comme chez
    Casio
    et
    NumWorks
  • sys.version qui nous précise la version de
    Python
    implémentée, ici
    3.4.0
  • sys.platform qui vaut "HP Prime" et pourra servir de vérification pour les scripts
    Python
    souhaitant par exemple optimiser leur affichage pour
    HP Prime
    , la console étant ici contrainte par l'écran 320x240 pixels
  • sys.maxsize qui nous indique l'entier maximum codable nativement sur le matériel
    HP Prime
    , ici 2147483647==2**31-1

Sans surprise les entiers natifs sont donc codés sur 32 bits
(avec le bit de signe)
, ce qui nous permet de réaliser un petit test en tentant d'aller au-delà, avec par exemple sys.maxsize+1. Visiblement pas d'erreur, ce qui veut dire que l'équipe
HP
a activé la gestion des entiers longs, là encore un excellent choix ! :bj:



5) Exploration autres modules :

Go to top

Le même script nous permet d'explorer les autres modules :
  • array
    avec
    3
    à
    13
    éléments
  • cmath
    avec
    13
    à
    17
    éléments
  • gc
    avec
    9
    à
    13
    éléments
  • math
    avec
    42
    à
    46
    éléments
  • micropython
    avec
    10
    à
    14
    éléments
  • uerrno
    avec
    25
    à
    29
    éléments
  • builtins
    avec
    97
    à
    428
    éléments

D'où le bilan tous modules confondus :
MicroPython
TI-Nspire
NumWorks
Casio
Graph 35+E II
Graph 90+E
CasioPython
Graph 35+E II
Graph 35+E/USB
Graph 75/85/95
TI-83PCE Ed. Python
TI-Python / TI-83PCE
firmware tiers
TI-Python / TI-83PCE
HP Prime
builtins
array
collections
cmath
gc
math
micropython
os
random
sys
time
turtle
uerrno
93-218
4
 
12
7
41
3
 
 
15
 
 
 
88-188
 
 
12
 
41
6
 
8
 
3
38
 
84-175
 
 
 
 
25
 
 
8
 
 
 
 
91-204
4
 
12
7
41
6
 
8
12
 
 
24
91-190
4
2
 
7
28
 

8
15
4
 
 
93-191
4
2
12
7
41
6
15
8
15
10
 
 
97-428
3-13
 
13-17
9-13
42-46
10-14
 
 
17-21
 
 
25-29
spécifique
10
(nsp)
6
(kandinsky)
22
(board)

21
(storage)
Total
185-310
202-302
117-208
181-294
159-258
213-354
216-581


D'où le classement suivant en terme de richesse des modules
Python
:
  1. 216-581
    éléments :
    HP Prime
  2. 213-354
    éléments : module externe
    TI-Python pour TI-83 Premium CE
  3. 185-310
    éléments :
    TI-Nspire
  4. 202-302
    éléments :
    NumWorks
  5. 181-294
    éléments :
    Casio Graph 35+E II / 35+E/USB / 75/85/95 / fx-9750GII / fx-9860G/GII
  6. 159-258
    éléments :
    TI-83 Premium CE Edition Python
    + module externe
    TI-Python pour TI-83 Premium CE
  7. 117-208
    éléments :
    Casio Graph 35+E II / 90+E / fx-CG50




6) Mémoire de travail et récursivité:

Go to top

Passons maintenant à la détermination de la mémoire de travail accessible à l'interpréteur
Python
. Pour palier les limites de l'actuelle version alpha, nous allons là encore devoir réécrire notre script de recherche habituel sous la forme d'une fonction unique :
Code: Select all
def mem(v=1,r=1):
  try:
    l=[]
    try:
      sizeenv=0
      import __main__
      for o in dir(__main__):
        try:
          o=eval(o)
          s,a=0,[o]
          if type(o)==list:a+=o
          for g in a:
            t=type(g)
            if t==str:s+=49+len(g)
            if str(t)=="<class 'function'>":s+=136
            if t==int:
              s+=24
              while g:
                s+=4
                g>>=30
            if t==list:s+=64+8*len(g)
          sizeenv+=s
        except:pass
      l+=[r and 741+sizeenv]
      if v*r:print(" ",l[0])
      l+=[0]
      l+=[""]
      l[2]+="x"
      while 1:
        try:l[2]+=l[2][l[1]:]
        except:
          if l[1]<len(l[2])-1:l[1]=len(l[2])-1
          else:raise(Exception)
    except:
      s,a=0,[l]
      if type(l)==list:a+=l
      for g in a:
        t=type(g)
        if t==str:s+=49+len(g)
        if str(t)=="<class 'function'>":s+=136
        if t==int:
          s+=24
          while g:
            s+=4
            g>>=30
        if t==list:s+=64+8*len(g)
      if v:print("+",s)
      try:l[0]+=s
      except:pass
      try:l[0]+=mem(v,0)
      except:pass
      return l[0]
  except:return 0


L'appel mem() tente d'allouer un maximum de blocs mémoire, de plus en plus petits pour remplir au mieux cette dernière, et nous indique donc un total impressionnant de
1,022145 Mo
, de quoi coder confortablement nombre de projets ! :bj:
  1. 2,049276 Mo
    :
    TI-Nspire
    (application MicroPython)
  2. 1,032942 Mo
    :
    Casio Graph 90+E
  3. 1,022145 Mo
    :
    HP Prime
  4. 257,636 Ko
    :
    Casio Graph 35/75+E
    (application CasioPython)
  5. 100,560 Ko
    :
    Casio Graph 35+E II
  6. 31,899 Ko
    :
    Casio Graph 35+E II
    (application CasioPython)
  7. 22,605 Ko
    :
    TI-83 Premium CE & TI-Python
  8. 20,200 Ko
    :
    TI-83 Premium CE Edition Python
  9. 19,924 Ko
    :
    TI-83 Premium CE & TI-Python
  10. 16,109 Ko
    :
    NumWorks N0100
  11. 15,984 Ko
    :
    NumWorks N0110


Mais il n'y a pas que la mémoire dans la vie d'un script Python, il y a aussi la pile
(stack)
. Nous allons maintenant partir sur un test de récursivité avec le script suivant :
Code: Select all
def maxr(fct):
  n=0
  try:
    while True:
      fct(n)
      n=n+1
  except Exception as e:print(e)
  return n

def sumr(n):return n>0 and n+sumr(n-1)

Avec une deuxième fonction dont la définition tient ici sur une seule ligne, nous n'avons apparemment pas de problème.

L'application
HP Prime
nous permet donc actuellement jusqu'à
77
niveaux de récursion, une limite a priori bien positionnée pour les projets. :)
  1. 5362
    :
    Casio Graph 35/75+E
    (application CasioPython)
  2. 655
    :
    Casio Graph 35+E II
    (application CasioPython)
  3. 130
    :
    TI-Nspire
    (application MicroPython)
  4. 82
    :
    Casio Graph 90+E
    +
    Casio Graph 35+E II
  5. 77
    :
    HP Prime
  6. 29
    :
    NumWorks
  7. 23
    :
    TI-83 Premium CE Edition Python
  8. 20
    :
    TI-83 Premium CE & TI-Python
  9. 15
    :
    TI-83 Premium CE & TI-Python




7) Performances :

Go to top

Terminons avec un test de performances de l'application
Python
. Il faudra le relativiser, puisqu'il ne peut donc être effectué que sur l'ancien modèle
HP Prime G1
.
Notre script de test en virgule flottante peut être réécrit en une seule fonction sans modifications lourdes, et resterait donc valide pour des comparaisons :
Code: Select all
def seuil(d):
  n=0
  u=2.
  d=d**2
  while (u-1)**2>=d:
    u=1+1/((1-u)*(n+1))
    n=n+1
  return [n,u]

L'absence du module
time
nous oblige à l'itérer plusieurs fois de suite et à faire une moyenne du temps chronométré. L'appel seuil(0.008) prendrait environ
0,283s
. :o
Finalement non, même pas besoin de relativiser, avec l'application
Python
les calculs en virgule flottante de la
HP Prime G1
sont beaucoup plus rapides, et on se demande bien ce que ça pourrait donner sur
HP Prime G2
! ;)
  1. 0,27s
    :
    TI-Nspire CX
    (révisions A-V)
    (32 bits : ARM9/ARMv5 @132MHz overclocké @
    222MHz
    via Nover avec l'interpréteur MicroPython)
  2. 0,283s
    :
    HP Prime G1
    (32 bits : ARM9/ARMv5 @
    400MHz
    avec l'application
    Python
    intégrée)
  3. 0,376s
    :
    HP Prime G2
    (32 bits : Cortex-A7/ARMv7 @
    528MHz
    avec l'écriture
    Python
    du mode
    CAS
    )
  4. 0,38s
    :
    TI-Nspire
    (32 bits : ARM9/ARMv5 overclocké @120MHz @
    150MHz
    via Nover avec l'interpréteur MicroPython)
  5. 0,47s
    :
    TI-Nspire
    (32 bits : ARM9/ARMv5 @
    120MHz
    avec l'interpréteur MicroPython)
  6. 0,48s
    :
    TI-Nspire CX
    (révisions A-V)
    (32 bits : ARM9/ARMv5 @
    132MHz
    avec l'interpréteur MicroPython)
  7. 0,498s
    :
    NumWorks N0110
    (32 bits : Cortex-M7/ARMv7 @
    216MHz
    )
  8. 0,53s
    :
    TI-Nspire CX CR4+
    (révisions W+)
    (32 bits : ARM9/ARMv5 @156MHz overclocké @
    216MHz
    via Nover avec l'interpréteur MicroPython)
  9. 0,59s
    :
    Casio Graph 35/75+E
    (32 bits : SH4 @29,49MHz overclocké @
    267,78MHz
    via Ftune2 avec l'interpréteur CasioPython)
  10. 0,68s
    :
    TI-Nspire CX CR4+
    (révisions W+)
    (32 bits : ARM9/ARMv5 @
    156MHz
    avec l'interpréteur MicroPython)
  11. 0,785s
    :
    NumWorks N0100
    (32 bits : Cortex-M4/ARMv7 @
    100MHz
    )
  12. 0,79s
    :
    Casio Graph 35+E II
    (32 bits : SH4 @58,98MHz overclocké @
    274,91MHz
    via Ftune3 avec l'interpréteur CasioPython)
  13. 1,61s
    :
    HP Prime G1
    (32 bits : ARM9/ARMv5 @
    400MHz
    avec l'écriture
    Python
    du mode
    CAS
    )
  14. 1,86s
    :
    Casio Graph 35+E II
    (32 bits : SH4 @58,98MHz overclocké @
    274,91MHz
    via Ftune3 avec l'application
    Python
    intégrée)
  15. 2,15s
    :
    Casio Graph 90+E
    (32 bits : SH4 @117,96MHz overclocké @
    270,77MHz
    via Ptune3 avec l'application
    Python
    intégrée)
  16. 2,96s
    :
    Casio Graph 35+E II
    (32 bits : SH4 @58,98MHz overclocké @
    274,91MHz
    via Ftune3 avec l'interpréteur KhiCAS)
  17. 3,27s
    :
    Casio Graph 90+E
    (32 bits : SH4 @
    117,96MHz
    )
  18. 3,65s
    :
    Casio Graph 90+E
    (32 bits : SH4 @117,96MHz overclocké @
    270,77MHz
    via Ptune3 avec l'interpréteur KhiCAS)
  19. 3,73s
    :
    TI-83 Premium CE
    + module externe
    TI-Python
    (8 + 32 bits : eZ80 @
    48MHz
    + Cortex-M0+/ARMv6 @
    48MHz
    avec l'application
    PyAdaptr
    )
  20. 3,9s
    :
    Casio Graph 35+E II
    (32 bits : SH4 @
    58,98
    avec l'interpréteur CasioPython)
  21. 3,93s
    :
    TI-83 Premium CE Edition Python
    (8 + 32 bits : eZ80 @
    48MHz
    + Cortex-M0+/ARMv6 @
    48MHz
    avec l'application
    Python
    )
  22. 4s
    :
    Casio Graph 35/75+E
    (32 bits : SH4 @
    29,49MHz
    avec l'interpréteur CasioPython)
  23. 4,4s
    :
    TI-83 Premium CE
    + module externe
    TI-Python
    (8 + 32 bits : eZ80 @
    48MHz
    + Cortex-M0+/ARMv6 @
    48MHz
    avec firmware CircuitPython)
  24. 5,48s
    :
    Casio Graph 90+E
    (32 bits : SH4 @
    117,96MHz
    avec l'interpréteur KhiCAS)
  25. 9,21s
    :
    Casio Graph 35+E II
    (32 bits : SH4 @
    58,98MHz
    avec l'application
    Python
    intégrée)
  26. 13,93s
    :
    Casio Graph 35+E II
    (32 bits : SH4 @
    58,98MHz
    avec l'interpréteur KhiCAS)





8) Récapitulatif et conclusion :

Go to top

Bien qu'actuellement instable et encore en version alpha, le développement de l'application
Python
pour
HP Prime
semble être parti sur de très bons rails, l'équipe sachant éviter nombre de défauts encore présents chez la concurrence sur les préversions des salons ou même versions finales. On apprécie d'avoir déjà l'essentiel pour le programme du lycée : entiers longs, flottants en double précision, nombres complexes avec le module
cmath
qui va avec, une mémoire de travail suffisante pour faire tourner des scripts un minimum ambitieux... une application
Python
a priori très prometteuse et qui ne pourra évoluer que dans le bon sens ! :bj:
Tu auras désormais libre choix entre la couche de traduction du mode
CAS
, et l'application
Python
standard ! :D

Outre l'instabilité qui sera forcément corrigée, on pourra juste regretter à date l'absence des modules
random
et
time
. Précisons aussi qu'un module graphique serait fort bienvenu pour le programme de Physique-Chimie de Seconde.

Texas Instruments
ayant apparemment tué
Ndless
et l'application
MicroPython
qui lui était dédié avec ses mises à jour
4.5.1
pour
TI-Nspire CX I
puis ses
TI-Nspire CX II
, la calculatrice
HP Prime
est partie pour être le premier modèle haut de gamme avec une application
Python
véritable et officielle, et en pratique le seul modèle haut de gamme avec une application
Python
utilisable. :bj:
Nous ne nous attendions pas à ce que
Hewlett Packard
nous prépare pour son modèle
HP Prime
international une mise à jour à ce point pertinente par rapport à l'évolution des programmes scolaires français, nous sommes fort agréablement surpris, bravo ! :D

Le
firmware
HP Prime G1
avec application
Python
reste disponible ci-après. En dehors de la curiosité intellectuelle ou technique et à moins que le
Python
n'ait un intérêt vital pour toi au détriment des autres fonctionnaltés, nous te déconseillons fortement de l'installer, particulièrement dans le contexte d'évaluations ! :#non#:

Il va falloir aussi mettre un bémol à notre enthousiasme, en l'absence d'une annonce officielle. Dans son état actuel, il n'est pas envisageable qu'une mise à jour d'ici quelques semaines puisse inclure cette application
Python
. Et vu les délais de validation d'une nouvelle version, nous ne sommes même pas sûrs qu'une sortie d'une autre mise à jour incluant cet ajout majeur soit envisageable avant les examens 2020.

Aussi, ce n'est pas parce qu'une application
Python
est en développement pour
HP Prime
qu'elle sortira forcément un jour sur
HP Prime
.

Prenons l'exemple des émulateurs
HP Prime
pour
Linux
, ils ont fait partie du beta-testing de rentrée 2018 et ne sont toujours pas sortis à ce jour. Il sont de plus accompagnés de la mention suivante, qui pourrait parfaitement être adaptée à l'application
Python
à une reformulation près :
HP wrote:Beta version of the technical preview of an emulator of the HP Prime Graphing Calculator for Linux. Lets you do everything the calculator does, but with the full control of your keyboard and mouse and taking full advantage of your PC's computing power. This is a technical preview and does not indicate a supported Linux release will be forthcoming.


C'est donc encore loin d'être gagné pour une application
Python
sur
HP Prime
, chacun doit se donner la peine de communiquer son enthousiasme auprès de
calcbeta@hp.com
. ;)



Téléchargements
:


Source
:
https://www.hpmuseum.org/forum/thread-1 ... #pid122692 et messages suivants

-
Search
-
Featured topics
Concours TI-Planet-Casio de rentrée 2019. 3 défis pour plus d'une 15aine de calculatrices graphiques et nombre de goodies sortant de l'ordinaire ! :D
Comparaisons des meilleurs prix pour acheter sa calculatrice !
12
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...

Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety 
-
Stats.
549 utilisateurs:
>513 invités
>30 membres
>6 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)