π
<-

Outils communautaires de programmation fx-92 SC+

:fxesp32b: :fxesp32n: :fxesp32v:

Re: Outils communautaires de programmation fx-92 SC+

Unread postby Krevo_ » 17 Oct 2019, 08:51

J'ai re-testé (parce que vu que je l'utilise j'étais quand même assez sûr de moi) avec le programme suivant :

Code: Select all
,123456789012345→A
Répéter 15
  Afficher résult Ent(10A
  10A-Ent(10A→A



http://wes.casio.com/math/index.php?q=I-295A+U-000000000000+M-0E00000000+S-000410110000100E0010B300D365+E-F90B2E313233343536373839303132333435004200F901F911313500F901F90E8331304200F901F90B313042A783313042004200F901F912F901F903F901F902

... qui affiche successivement les décimales : 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4 et enfin 5 (15e décimale).
(Après c'est l'émulateur casio de la fx-92, mais normalement c'est pareil que la vraie machine que je n'ai pas ....)
Si on teste d'aller plus loin, on affiche alors que des 0 (quelqueque soit les chiffres mis en 16e, 17e, .... n-ième décimale).

J'essaye d'exploiter ce que j'ai (j'aurais utilisé des listes, des chaines ou des matrices sur d'autres modèles) ... pour "compresser" et dessiner le + possible avec le moins d'octets possibles. C'est pas ce que les participants du concours essayent tous de faire ;-) ?
Vu les contraintes de la machine, .... c'est juste pour le défi technique. Sinon, il existe d'autres trucs moins contraignants et plus amusant .
Découvrez mon projet principal : Casio Basic Web Interpreter, le basic Casio dans votre navigateur web !
User avatar
Krevo_Premium
Niveau 6: SM (Super Membre)
Niveau 6: SM (Super Membre)
Level up: 89.3%
 
Posts: 39
Joined: 06 Oct 2019, 17:32
Location: Lyon
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: Krevo_
GitHub: Krevo

Re: Outils communautaires de programmation fx-92 SC+

Unread postby ptijoz » 17 Oct 2019, 09:17

Oui c'est sur que lire un fichier bmp en entrée c'était plus simple :)
sinon oui sur la vrai machine (tu peux en avoir une pour 15€ ou à la gagner si elle est en lot ?) ton code fonctionne sauf pour ,999999999999999 mais comme tu ne noircis pas tout...
User avatar
ptijoz
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 34.8%
 
Posts: 335
Images: 0
Joined: 17 Oct 2018, 15:38
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Outils communautaires de programmation fx-92 SC+

Unread postby Lephe » 17 Oct 2019, 09:33

Pour répondre à ce problème, j'ai modifié mon lexer comme proposé. Désormais, le token de type T.CONST possède deux paramètres : la valeur de type float, puis le texte associé de type str (pour les entrées texte) ou bytes (pour les entrées URL).

Code: Select all
% echo "-.34e1 ." | ./fx92.py -s - --debug=lexer
    1: MINUS
    2: CONST(3.4) [typed as .34e1]
    3: CONST(0.0) [typed as .]
    4: PARAM

% echo -n "c02e33342d312e00" | ./fx92.py -u - --debug=lexer
    1: MINUS
    2: CONST(3.4) [typed as b'.34-1']
    3: CONST(0.0) [typed as b'.']
    4: PARAM

Dans le second exemple, le "e" de l'exposant apparaît sous la forme "-" : c'est normal, l'octet utilisé pour encoder le "e" par Casio (2D) est celui du "-" en ASCII. ^^

Critor devrait donc pouvoir adapter facilement son script pour produire une sortie fidèle. Désolé pour le délai de traitement de mon côté. :)
User avatar
LephePartenaire
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 16.8%
 
Posts: 387
Images: 42
Joined: 15 Jun 2018, 19:53
Gender: Male
Calculator(s):
MyCalcs profile

Re: Outils communautaires de programmation fx-92 SC+

Unread postby critor » 17 Oct 2019, 11:32

ptitjoz wrote:
Krevo_ wrote:Par contre tu parle de 13 chiffres significatifs, mais mes essais m'ont montré que je pouvais exploiter jusqu'au 15e chiffres après la virgule.

voila ce que dit la doc de Casio

Image

Donc si tu travailles avec le 15eme chiffre, tu risques d'avoir des problèmes d'arrondi de temps à autre...


Edit Sinon pour l'outil pour récupérer les scripts dans l'émulateur c'est Python2 ou Python3 qu'il faut utiliser ?


Je ne fais jamais confiance à la doc, parce qu'elle est commerciale et non technique; je teste moi-même.
Elle est donc imprécise, usuellement dans le sens qui arrange le constructeur, et ne précise pas non plus les conditions de test qui peuvent varier d'un constructeur ou même modèle à un autre.
ImageImage
Les 15 chiffres significatifs sont manifestement faux. Peut-être qu'il faut comprendre "jusqu'à 15 chiffres significatifs dans certains cas".
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 50.4%
 
Posts: 42146
Images: 16490
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Outils communautaires de programmation fx-92 SC+

Unread postby critor » 17 Oct 2019, 11:37

Krevo_ wrote:J'essaye d'exploiter ce que j'ai (j'aurais utilisé des listes, des chaines ou des matrices sur d'autres modèles) ... pour "compresser" et dessiner le + possible avec le moins d'octets possibles. C'est pas ce que les participants du concours essayent tous de faire ;-) ?
Vu les contraintes de la machine, .... c'est juste pour le défi technique. Sinon, il existe d'autres trucs moins contraignants et plus amusant .

Je n'ai pas voulu te blesser, désolé si tu l'as ressenti ainsi. :)

D'autres candidats encodent effectivement le dessin sous forme de nombres.
Mais pourquoi ne pas le faire sous forme d'entiers ?
Cela éviterait tous les risques de la virgule flottante, car tu n'as aucune garantie que son encodage interne soit en base décimale et non binaire.

De façon générale, les tests/stockages sous forme de nombres décimaux sont à éviter, car approximatifs. Un test d'égalité par exemple a toutes les chances d'échouer. Tu pourras d'ailleurs remarquer qu'à part pour le score final, les programmes du 3ème défi ne travaillent que sur des entiers.
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 50.4%
 
Posts: 42146
Images: 16490
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Outils communautaires de programmation fx-92 SC+

Unread postby Krevo_ » 17 Oct 2019, 11:55

J'ai pris ton code avec l=13 et j'ai mis l=15 mais j'ai vu 1 seul chiffre de différence (ça devient subtil) dans l'ensemble du programme.
Code: Select all
,151334234231211→M

est devenu
Code: Select all
,151334234231210→M

J'ai généré une macro .mrf en qui recopie le chiffre fourni par le lexer en mettant :

Code: Select all
                       ndStr = str(t.args[0])
                       for i in range(2, len(ndStr)) :
                           addkey(K_0+(ord(ndStr[i])-48))
                           s+="["+ndStr[i]+"]"


(à la place de ton bloc "while(nd and l>0):")

Pour utiliser des entiers, ... je vais devoir réécrire les parties de programme concernés. Bon, cela dit je fait que ça réécrire des bouts depuis le début ... c'est comme ça que l'on améliore sa participation :-) Mais ok je veux bien essayer !!
Last edited by Krevo_ on 17 Oct 2019, 13:41, edited 1 time in total.
Découvrez mon projet principal : Casio Basic Web Interpreter, le basic Casio dans votre navigateur web !
User avatar
Krevo_Premium
Niveau 6: SM (Super Membre)
Niveau 6: SM (Super Membre)
Level up: 89.3%
 
Posts: 39
Joined: 06 Oct 2019, 17:32
Location: Lyon
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: Krevo_
GitHub: Krevo

Re: Outils communautaires de programmation fx-92 SC+

Unread postby critor » 17 Oct 2019, 12:10

Non mais je disais ça pour toi.
Reste avec des flottants si tu préfères, j'exploiterai le nouveau lexer dès que possible. :)
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 50.4%
 
Posts: 42146
Images: 16490
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Outils communautaires de programmation fx-92 SC+

Unread postby ptijoz » 17 Oct 2019, 12:18

Krevo_ wrote:Pour utiliser des entiers, ... je vais devoir réécrire les parties de programme concernés. Bon, cela dit je fait que ça réécrire des bouts depuis le début ... c'est comme ça que l'on améliore sa participation :-) Mais ok je veux bien essayer !!

Je m'étais bien demandé pourquoi tu n'utilisais pas les entiers car c'est fiable comme les booléens et c'est vrai que la comparaison de tests décimaux c'est source de tracas.

Perso j'ai bien écrit un algo qui reproduit toute l'image (j'arrive à en tester une partie) mais je n'arrive pas à contourner la limitation de mémoire donc je sèche :warning: .Faut que je creuse mais la dead line arrive trop vite :( et je crains d'être très mal placé :D mais ce n'est pas grave, et comme tu dis, c'est comme cela que l' on progresse en apprenant toujours.
Je pense que tu va y arriver !
User avatar
ptijoz
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 34.8%
 
Posts: 335
Images: 0
Joined: 17 Oct 2018, 15:38
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Outils communautaires de programmation fx-92 SC+

Unread postby critor » 17 Oct 2019, 20:58

Voilà, le convertisseur est à jour pour utiliser le nouveau paramètre numérique du Lexer :
viewtopic.php?p=246387#p246387
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 50.4%
 
Posts: 42146
Images: 16490
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Outils communautaires de programmation fx-92 SC+

Unread postby critor » 23 Oct 2019, 17:02

Ah, encore besoin d'un peu de travail sur le lexer. ;)

L'une des dernières participations utilise le token dédié à la puissance 2 (0xD5).
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 50.4%
 
Posts: 42146
Images: 16490
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

PreviousNext

Return to Casio (fx-82/83/85/92/95/115/300/350/500/570/991, Collège)

Who is online

Users browsing this forum: ClaudeBot [spider] and 4 guests

-
Search
-
Social TI-Planet
-
Featured topics
Grand Concours 2024-2025 - Programmation Python
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
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.
888 utilisateurs:
>856 invités
>24 membres
>8 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)