π
<-
Chat plein-écran
[^]

KhiCAS édition intégrale pour Graph 90+E avec getkey Python

KhiCAS édition intégrale pour Graph 90+E avec getkey Python

Unread postby critor » 28 Nov 2022, 09:35

Conçu par , enseignant-chercheur à l'Université de Grenoble,
KhiCAS
est la déclinaison sur calculatrices de son logiciel de Mathématiques intégré
Xcas
.

KhiCAS
est disponible dans diverses éditions couvrant un large éventail de modèles de calculatrices graphiques :

KhiCAS
te donne donc accès à une interface unifiée ainsi qu'à des fonctionnalités haut de gamme peu importe la marque ou le modèle de ta calculatrice, parmi lesquelles nous pouvons citer entre bien d'autres choses
GIAC
, le moteur de calcul formel de
Xcas
! :bj:
12024162061620716208


Mais
KhiCAS
sur calculatrices c'est bien plus que cela. C'est un véritable logiciel de Mathématiques intégré offrant bien d'autres choses :
  • interrogeable et même programmable dans différents langages :
    • langage historique de
      Xcas
    • langage historique de
      Xcas
      avec une compatibilité syntaxique
      Python
    • langage
      Python 3.4
      avec l'interpréteur
      Micropython 1.12.0
    • langage
      Javascript
      avec l'interpréteur
      QuickJS
  • niveau programmation, gestion aussi bien du tracé par pixel que du tracés par déplacement
    (à la tortue)

  • en
    Python
    une formidable collection de bibliothèques :
    • bibliothèque de tracé de diagrammes
      matplotlib
    • bibliothèque de tracé par déplacements
      turtle
    • bibliothèque de tracé par pixel
      graphic
    • pour compatibilité, bibliothèques de tracé par pixel des différents modèles et constructeurs
      (
      casioplot
      ,
      kandinsky
      ,
      nsp
      )
    • bibliothèque
      cas
      permettant d'interroger le moteur
      GIAC
      depuis l'environnement
      Micropython
      et d'utiliser toutes ses fonctions
    • ...
  • graphes
    2D
    ,
    3D
    (ℝ×ℝ×ℝ)
    et même
    4D
    (ℂ×ℂ)
  • bibliothèque de constantes physiques avec unités
  • convertisseur d'unités
  • applications intégrées :
    • tableur / feuille de calcul
    • tableau périodique des éléments
    • calcul financier
    • géométrie dynamique
      2D
      et même
      3D
    • ...


    De par son nombre phénoménal de capacités, sa compatibilité avec un large nombre de modèles ainsi que sa compatibilité avec le mode examen de certains modèles,
    KhiCAS
    compte clairement parmi les plus grands ajouts mathématiques ayant jamais existé en à ce jour 37 ans de calculatrices graphiques ! :bj:

Problème toutefois. Dans ses éditions pour calculatrices graphiques
Casio
,
KhiCAS
était loin d'offrir l'ensemble de ces fonctionnalités.

Par rapport à tout ce que nous venons de décrire,
KhiCAS
se résumait en gros au moteur de calcul formel
GIAC
interrogeable et programmable dans le seul langage historique
Xcas
, éventuellement avec la couche de compatibilité
Python
, ce qui certes était déjà pas mal du tout.

Pas de véritable interpréteur
Python
, pas de graphes en
3D
ou plus, pas de géométrie dynamique, pas d'outils relatifs à la Physique-Chimie
(constantes, unités, tableau périodique)
, ...

Le problème venait de la taille de
KhiCAS
, l'ensemble des fonctionnalités nécessitant dans les
3,5 Mo
.

Ce n'était pas tant un problème d'espace disponible en mémoire de stockage
(Flash)
ou mémoire de travail
(RAM)
, mais avant tout une limitation technique : l'ensemble des modèles
Casio
ciblés refusent de charger le fichier
.g3a
d'une application si celui-ci dépasse les
2 Mio
.

Pour respecter cette limitation de taille,
Bernard
était donc obligé de ne pas inclure toutes les fonctionnalités dans les éditions
Casio
de
KhiCAS
.

Et c'est là que
Bernard
et ont eu l'idée de ruser et couper l'application
KhiCAS
en 2 fichiers :
  • un fichier
    .g3a
    de moins de
    2Mo
    et donc lançable
  • et un fichier complémentaire contenant le reste du code exécutable que l'application lancée doît aller chercher
Si l'idée peut paraître enfantine au profane, techniquement elle ne l'est pas du tout. Déjà, les compilateurs ne sont pas prévus pour scinder du code exécutable en différents fichiers. De plus, découper un fichier de sorte à ce qu'il reste exécutable, ce n'est pas comme découper des données. Il faut :
  • tous les éléments de code essentiels au fonctionnement dans le fichier
    .g3a
    lançable
  • que les éléments de code additionnels issus du fichier complémentaire soient chargées à des adresses mémoire bien précises calculées par le compilateur, à défaut de quoi ils ne seront pas exécutables

Un problème hautement technique sur lequel Bernard a reçu l'aide hautement précieuse et très active de .

Cette technique n'est pas applicable en l'état à tous les modèles.

Certes la mémoire de stockage n'est pas un problème pour nos
3,5 Mo
. Nous bénéficions d'une capacité de :
  • 3 Mo
    sur
    Graph 35+E II
    et
    fx-9750/9860GIII
  • 4,5 Mo
    sur
    fx-CG20/50AU
  • 16 Mo
    sur
    Graph 90+E
    et
    fx-CG10/20/50

Par contre, il nous faut au minimum le même espace disponible en
RAM
. Pour la capacité
(et non l'espace libre)
, nous avons :
  • 512 Kio
    sur
    Graph 35+E II
    et
    fx-9750/9860GIII
  • 2 Mio
    sur
    fx-CG10/20
  • 8 Mio
    sur
    Graph 90+E
    et
    fx-CG50
Seuls les
Graph 90+E
et
fx-CG50
peuvent donc à ce jour être ciblées par cette méthode.

16209Et nous y sommes cette année, depuis cette rentrée 2022
KhiCAS
est maintenant disponible dans une édition intégrale pour les derniers modèles couleur
Casio Graph 90+E
et
fx-CG50
! :bj:

L'installation nécessite la copie de 2 fichiers directement dans le dossier racine de l'espace de stockage du disque
USB
:
  • khicas90.g3a
    (version française)
    ou
    khicas50.g3a
    (version anglaise)
  • khicas90.ac2
    (version française)
    ou
    khicas50.ac2
    (version anglaise)
    sans aucun renommage


Justement rappelons par rapport au
Python
qu'outre la bibliothèque
casioplot
pour compatibilité avec les scripts
Python
conçus pour les calculatrices graphiques
Casio
, l'interpréteur
Micropython
de
KhiCAS
intègre également une bibliothèque
cas
permettant d'appeler le moteur
GIAC
ainsi que toutes ses fonctions.

Et justement
GIAC
inclut une fonction
get_key()
qui manquait cruellement à l'application
Python
officielle de
Casio
. Tu peux maintenant aller beaucoup plus loin dans tes projets
Python
pour
Casio Graph 90+E
avec des interfaces enfin interactives ! :D

Téléchargements
:

Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 31.1%
 
Posts: 40257
Images: 12291
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: KhiCAS édition intégrale pour Graph 90+E avec getkey Pyt

Unread postby Adriweb » 28 Nov 2022, 10:07

Bon travail :)

J'en profite pour demander de rajouter une marge de 1-2px sur les bords droits-gauche, parce que c'est assez illisible :( Pleasssseeee

Image
MyCalcs
: Help the community's calculator documentations by filling out your calculators info!
MyCalcs
: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org
: All about TI-Nspire Lua programming
(website in temporary maintenance)
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 75.8%
 
Posts: 14173
Images: 1139
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Re: KhiCAS édition intégrale pour Graph 90+E avec getkey Pyt

Unread postby parisse » 28 Nov 2022, 12:15

Sur la version Nspire?
Sinon, merci à critor pour cet article qui fait plaisir à lire!
Last edited by parisse on 28 Nov 2022, 12:16, edited 1 time in total.
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 59.3%
 
Posts: 3162
Joined: 13 Dec 2013, 16:35
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: KhiCAS édition intégrale pour Graph 90+E avec getkey Pyt

Unread postby Adriweb » 28 Nov 2022, 12:16

Oui, du moins c'est là que j'ai KhiCAS, personellement.
Image
MyCalcs
: Help the community's calculator documentations by filling out your calculators info!
MyCalcs
: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org
: All about TI-Nspire Lua programming
(website in temporary maintenance)
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 75.8%
 
Posts: 14173
Images: 1139
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Re: KhiCAS édition intégrale pour Graph 90+E avec getkey Pyt

Unread postby critor » 28 Nov 2022, 13:16

parisse wrote:Sinon, merci à critor pour cet article qui fait plaisir à lire!

Mais de rien, j'aurais dû le faire plus tôt mais j'ai manqué de temps.
Et merci surtout à vous pour tout le travail colossal sur ce projet.
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 31.1%
 
Posts: 40257
Images: 12291
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: KhiCAS édition intégrale pour Graph 90+E avec getkey Pyt

Unread postby parisse » 28 Nov 2022, 13:38

En complément, je signale pour ceux (comme ptijoz) qui par exemple recherchent un getkey pour MicroPython qu'il existe des versions beta de mon implémentation de MicroPython pour 35eii et 90+e:
https://www-fourier.univ-grenoble-alpes.fr/~parisse/casio/micropy.g1a
https://www-fourier.univ-grenoble-alpes.fr/~parisse/casio/micropy.g3a
L'UI est très proche de KhiCAS, avec en particulier un choix de 2 fontes de caractères pour l'édition de scripts, la mise en valeur des mots-clefs (sur la 35eii par soulignement), le parenthese match. La RAM disponible pour le tas MicroPython est assez conséquente sur la 90: 2.5Mo.
Bien sur pas de module CAS pour ces implémentations. Mais les autres modules devraient fonctionner, parfois de manière moins efficace.
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 59.3%
 
Posts: 3162
Joined: 13 Dec 2013, 16:35
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: KhiCAS édition intégrale pour Graph 90+E avec getkey Pyt

Unread postby ptijoz » 28 Nov 2022, 14:20

parisse wrote:En complément, je signale pour ceux (comme ptijoz) qui par exemple recherchent un getkey pour MicroPython qu'il existe des versions beta de mon implémentation de MicroPython pour 35eii et 90+e:
https://www-fourier.univ-grenoble-alpes.fr/~parisse/casio/micropy.g1a
https://www-fourier.univ-grenoble-alpes.fr/~parisse/casio/micropy.g3a
L'UI est très proche de KhiCAS, avec en particulier un choix de 2 fontes de caractères pour l'édition de scripts, la mise en valeur des mots-clefs (sur la 35eii par soulignement), le parenthese match. La RAM disponible pour le tas MicroPython est assez conséquente sur la 90: 2.5Mo.
Bien sur pas de module CAS pour ces implémentations. Mais les autres modules devraient fonctionner, parfois de manière moins efficace.


Bonjour M. Parisse

Je viens d'installer votre version de micro python sur ma graph35+EII (merci de m'avoir cité)
Image
je n'ai pas approfondi le fonctionnement, juste exécuté un petit script en turtle que j'avais fait et c'est impressionnant en termes de vitesse.
Je ferai d'autres essais ultérieurement, notamment avec getkey !

En tout cas, cela va permettre de programmer avec de grandes possibilités, alors je vous dis un Grand Merci !
User avatar
ptijoz
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 21.4%
 
Posts: 303
Images: 0
Joined: 17 Oct 2018, 15:38
Location: France Loir et Cher
Gender: Male
Calculator(s):
MyCalcs profile
Class: a la poursuite du vent et des etoiles.

Re: KhiCAS édition intégrale pour Graph 90+E avec getkey Pyt

Unread postby parisse » 28 Nov 2022, 15:31

Le turtle est un module natif (contrairement à celui de Casio) donc forcément plus rapide. Il y a une limitation en nombre de mouvements total depuis le dernier reset, ça doit être de l'ordre de 600 mouvements par défaut sur la 35eii (on peut sans doute faire un peu plus en diminuant le heap Python qui est à 96K par défaut). La raison est que la liste des mouvements est stockée, et chaque mouvement occupe un peu moins de 50 octets. C'est une grosse différence avec les autres implémentations turtle. L'intérêt principal c'est qu'on peut tester dans le shell un mouvement tortue à la suite des précédents, comme si on enchainait plusieurs calculs.
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 59.3%
 
Posts: 3162
Joined: 13 Dec 2013, 16:35
Gender: Not specified
Calculator(s):
MyCalcs profile


Return to News Casio

Who is online

Users browsing this forum: No registered users and 15 guests

-
Search
-
Social TI-Planet
-
Featured topics
Concours de dessin de Noël 2022 par Casio jusqu'au 30 janvier 2023 : programme ton menu de Noël sur ta fx-92+ Spéciale Collège ou Graph 90/35+E II
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
12345
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
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 Calculatrices à acheter chez Calcuso
-
Stats.
862 utilisateurs:
>840 invités
>17 membres
>5 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)