π
<-
Chat plein-écran
[^]

Dérive les fonctions de façon fiable sur TI-Nspire non-CAS !

:32tins: :32tinsktpb: :32tinsktpn: :32tinscas: :32tinstpkc: :32tinstpktpb: :32tinstp: :32tinscastp: :32tinscmc: :32tinscx: :32tinscxcas:

Re: Dérive les fonctions de façon fiable sur TI-Nspire non-C

Message non lude parisse » 12 Mai 2016, 17:33

Hamza.S a écrit:désolé Parisse c'est "détermination du signe" comme la fonction part(expr,0) avec les versions CAS
Parser et règle, ces deux choses ne me disent rien. J'ai utilisé une méthode vraiment nulle, il est facile de créer une erreur.

Que renvoie part(expr,0)? Est-ce l'operateur a la racine de l'expression? Dans ce cas il faut juste remplacer "signe" par "operateur" (ou fonction).
Le parseur c'est ce qui transforme une chaine de caractere en un format de donnee representant l'expression utilisable facilement par le programmeur, ce que tout systeme de calcul doit faire. Personnellement, je ne connais pratiquement rien la-dedans, j'utilise les outils GNU bison et flex pour faire cela dans Xcas. flex est l'outil qui determine les mots et leurs types (analyse lexicale), par exemple les nombres ou les mot comme sin cos + - etc. ensuite bison effectue l'analyse grammaticale avec des regles (comme en francais, on peut faire une phrase avec sujet verbe complement). Et bien sur il faut un format de donnee pour stocker les expressions.
Avatar de l’utilisateur
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Prochain niv.: 77.8%
 
Messages: 3511
Inscription: 13 Déc 2013, 16:35
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: Dérive les fonctions de façon fiable sur TI-Nspire non-C

Message non lude Hamza.S » 12 Mai 2016, 17:37

parisse a écrit:
Hamza.S a écrit:désolé Parisse c'est "détermination du signe" comme la fonction part(expr,0) avec les versions CAS
Parser et règle, ces deux choses ne me disent rien. J'ai utilisé une méthode vraiment nulle, il est facile de créer une erreur.

Que renvoie part(expr,0)? Est-ce l'operateur a la racine de l'expression? Dans ce cas il faut juste remplacer "signe" par "operateur" (ou fonction).

oui c'est cela j'ai modifié
Show/Hide spoilerAfficher/Masquer le spoiler
(désolé des fois j'oublie que la langue française est une deuxième langue)
Image
Avatar de l’utilisateur
Hamza.SAdmin
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Prochain niv.: 28.5%
 
Messages: 4463
Images: 18
Inscription: 07 Nov 2014, 00:43
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: Dérive les fonctions de façon fiable sur TI-Nspire non-C

Message non lude Wistaro » 12 Mai 2016, 17:40

Bravo à Hamza.S ! :bj: Tu es vraiment un membre d'exception sur ce site :)

Je serais curieux de voir le code source.
Peut-être que je pourrais me servir du noyau du code pour faire une version basic z80, qui sait? Évidemment en citant Hamza.S.
Nouveau sur le site, Anonymous ? Avant de poster sur le chat et sur le forum, n'oublie pas de lire les règles. En cas de problème, tu peux m'envoyer un message, je réponds rapidement.

Liens utiles:
Image
Découvre mes programmes et mon site!
Avatar de l’utilisateur
WistaroSuper Modo
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 88%
 
Messages: 3158
Images: 37
Inscription: 25 Fév 2013, 16:21
Localisation: Toulouse
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Ingénieur en électronique
YouTube: Wistaro
Twitter/X: Wistaro
GitHub: Wistaro

Re: Dérive les fonctions de façon fiable sur TI-Nspire non-C

Message non lude critor » 12 Mai 2016, 17:41

Wistaro a écrit:Peut-être que je pourrais me servir du noyau du code pour faire une version basic z80, qui sait? Évidemment en citant Hamza.S.

En effet, une version TI-83 Premium CE serait la bienvenue. :)
Mais peut-être faudrait-t-il la faire en C pour conserver un temps de calcul acceptable par un candidat en situation d'examen.
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 42.2%
 
Messages: 41493
Images: 14577
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: Dérive les fonctions de façon fiable sur TI-Nspire non-C

Message non lude Wistaro » 12 Mai 2016, 17:44

critor a écrit:
Wistaro a écrit:Peut-être que je pourrais me servir du noyau du code pour faire une version basic z80, qui sait? Évidemment en citant Hamza.S.

En effet, une version TI-83 Premium CE serait la bienvenue. :)


Je m'y attele dès ce soir!
Nouveau sur le site, Anonymous ? Avant de poster sur le chat et sur le forum, n'oublie pas de lire les règles. En cas de problème, tu peux m'envoyer un message, je réponds rapidement.

Liens utiles:
Image
Découvre mes programmes et mon site!
Avatar de l’utilisateur
WistaroSuper Modo
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 88%
 
Messages: 3158
Images: 37
Inscription: 25 Fév 2013, 16:21
Localisation: Toulouse
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Ingénieur en électronique
YouTube: Wistaro
Twitter/X: Wistaro
GitHub: Wistaro

Re: Dérive les fonctions de façon fiable sur TI-Nspire non-C

Message non lude Hamza.S » 12 Mai 2016, 17:52

critor a écrit:
Wistaro a écrit:Peut-être que je pourrais me servir du noyau du code pour faire une version basic z80, qui sait? Évidemment en citant Hamza.S.

En effet, une version TI-83 Premium CE serait la bienvenue. :)

en Basic-(e)z80 c'est difficile (en tout cas pour moi), vu que les variables sont des variables disons "globales" (façon vulgaire) et pour les chaînes de caractères c'est limités à 10 variables.
il faudrait comprendre la méthode utilisée par Persalteas
Image
Avatar de l’utilisateur
Hamza.SAdmin
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Prochain niv.: 28.5%
 
Messages: 4463
Images: 18
Inscription: 07 Nov 2014, 00:43
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: Dérive les fonctions de façon fiable sur TI-Nspire non-C

Message non lude NspireCas » 12 Mai 2016, 18:00

Cool, ça doit être excitant de coder un tel outil !
Avatar de l’utilisateur
NspireCasModo
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 6.4%
 
Messages: 1304
Images: 7
Inscription: 04 Oct 2012, 20:44
Localisation: Paris
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: -

Re: Dérive les fonctions de façon fiable sur TI-Nspire non-C

Message non lude Wistaro » 12 Mai 2016, 18:25

Hamza.S a écrit:
critor a écrit:
Wistaro a écrit:Peut-être que je pourrais me servir du noyau du code pour faire une version basic z80, qui sait? Évidemment en citant Hamza.S.

En effet, une version TI-83 Premium CE serait la bienvenue. :)

en Basic-(e)z80 c'est difficile (en tout cas pour moi), vu que les variables sont des variables disons "globales" (façon vulgaire) et pour les chaînes de caractères c'est limités à 10 variables.
il faudrait comprendre la méthode utilisée par Persalteas


Utilisée par Persalteas dans quel programme? Si tu parle du parsing des chaînes de caractères, j'ai déja utilisé ce principe dans ce programme,celui-ci et dans d'autres, alors pourquoi pas le faire ici?

On est peut-être limité à 10 variable de texte, mais il existe des méthodes qui permettent de passer outre ce problème :)
Nouveau sur le site, Anonymous ? Avant de poster sur le chat et sur le forum, n'oublie pas de lire les règles. En cas de problème, tu peux m'envoyer un message, je réponds rapidement.

Liens utiles:
Image
Découvre mes programmes et mon site!
Avatar de l’utilisateur
WistaroSuper Modo
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 88%
 
Messages: 3158
Images: 37
Inscription: 25 Fév 2013, 16:21
Localisation: Toulouse
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Ingénieur en électronique
YouTube: Wistaro
Twitter/X: Wistaro
GitHub: Wistaro

Re: Dérive les fonctions de façon fiable sur TI-Nspire non-C

Message non lude GalacticPirate » 12 Mai 2016, 18:52

Persalteas a fait un programme en Basic z80, Easy f'(x), qui était, disons acceptable pour le langage avec lequel il a était fait :p
Je pense que coder ça en C serait la meilleure solution, on pourrait mettre ça au programme du Hangout de demain soir :)
Merci à Hamza.S en tout cas, qui a réutilisé mon idée pour le tableau de variation mais en la mettant brillamment en pratique ! :bj:

Show/Hide spoilerAfficher/Masquer le spoiler
#HamzaAdmin :p
Mon profil TI-PlanetDevenez premium !
ImageImage
Modérateur de TI-Planet.org depuis décembre 2015, et membre de la communauté depuis Mai 2015.Cliquez ci-dessus pour faire un don à TI-Planet.org via PayPal et devenir Donateur ou Premium (à partir de 3€) ! Vous aurez accès à des générations illimitées et prioritaires avec Mviewer GX Creator, ainsi qu'au forum secret ! :bj: En plus, vous pourrez être orange sur le chat :troll:

Image
Avatar de l’utilisateur
GalacticPirateModo
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 1.3%
 
Messages: 1156
Images: 2
Inscription: 23 Mai 2015, 10:36
Localisation: Hauts-de-Seine, France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: L3 Informatique
GitHub: GalacticPirate-Prog

Re: Dérive les fonctions de façon fiable sur TI-Nspire non-C

Message non lude Adriweb » 12 Mai 2016, 22:32

Afin que vous ne vous lanciez pas dans des choses potentiellement inutiles:

J'avais tenté, il y a quelques temps désormais, de porter sur TI-83 Premium CE des moteurs CAS légers en C:
  • EigenMath (qui a eu des ports sur calculatrices, déjà)
  • Mathomatic (pas de port sur calculatrice que je sache ?)
J'ai fini par réussir à les builder tous les deux, mais manque de pot, l'un et/ou l'autre manquait de stack et de heap (voire les deux, en fait), et un des deux était par ailleurs trop gros pour rentrer dans un 8xp :(
Bref, chou blanc donc, c'est pas cette piste là qu'il faut explorer (oui, j'ai essayer d'alléger plein de trucs de tous les côtés, non ça ne suffit pas).
Voilà donc TI rassuré, apparemment ce ne sera pas demain la veille qu'on aura un vrai moteur de calcul formel sur CE :P

Par la suite, plus récemment, j'avais commencé à regarder avec Mateo si l'on pouvait se mettre à porter le coeur de nDerive depuis le code TI-Basic vers du code C ANSI.
Mais très peu de temps après avoir commencé à mettre en place les fichiers, j'ai trouvé presque par hasard le programme "difft". Comme nDerive, ce n'est pas un moteur de calcul formel, mais "juste" le minimum en C pour parser (et en toute rigueur :P) l'entrée, et donner les différentes parties au dispatcheur de calcul de dérivée (j'ai pas regardé dans le code précisément, mais je suppose que ça suit l'arbre de manière récursive jusqu'au bout) - on y retrouve donc assez simplement les règles de bases de dérivations, et les dérivées de quelques fonctions trigo etc.

Après un peu d'effort (dont un module d'output sous forme de string simplement, et non graphique comme c'est par défaut), j'ai réussi à le builder et à le faire fonctionner sur CE
Image

Ceci est cependant juste un proof-of-concept - dans l'état actuel (un de mes projets sur le Project Builder), il exécute uniquement la dérivée de cette fonction, puisque je n'ai pas codé d'input, ni lors de l'exécution (en tapant caractere par caractère), ni en amont (par exemple, en tapant l'expression d'abord sur l'écran de calcul, puis en lançant le programme juste après, qui se chargera de récupérer et parser Ans).

Un assez gros défaut, par ailleurs, et spécifique à difft, c'est qu'il attend l'input d'une façon très spécifique, avec des parenthèses, obligatoires, et très judicieusement placées (et autant le dire tout de suite, c'est chiant) - sinon ça ne fonctionne tout simplement pas. Autre chose: Il n'est pas capable de simplifier les résultats non plus (hé ouim on rappel que ce n'est pas un CAS)...

( D'ailleurs, c'est marrant mais difft est même capable de donner les étapes de dérivées (et c'est normal après tout, puisqu'il suffit de suivre chaque appel à la bonne fonction de dérivée appelée (en gros, lors de chaque opérateur/fonction, quelle règle de dérivation est suivie), c'est sympa :) )

Enfin bref, "difft" fonctionne à priori, mais aurait quand même besoin de grosses améliorations côté input au minimum.

Sinon, Hamza m'a partagé une version 100% Lua du moteur de dérivation de nDerive - il serait sans doute plus intéressant (et plus simple) de se baser la dessus désormais pour "convertir" ce code Lua en code C ANSI.
Si ça intéresse quelqu'un, je suppose qu'Hamza pourra partager son fichier .lua - et puis tant qu'à faire, autant utiliser le Project Builder (en mode projet multi-utilisateurs)...
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 (tutorials, wiki/docs...)
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80.2%
 
Messages: 14613
Images: 1218
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

PrécédenteSuivante

Retourner vers News TI-Nspire

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 30 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1355 utilisateurs:
>1317 invités
>33 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)