π
<-

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

Unread postby parisse » 12 May 2016, 17:33

Hamza.S wrote: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.
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 86%
 
Posts: 3663
Joined: 13 Dec 2013, 16:35
Gender: Not specified
Calculator(s):
MyCalcs profile

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

Unread postby Hamza.S » 12 May 2016, 17:37

parisse wrote:
Hamza.S wrote: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
User avatar
Hamza.SAdmin
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Level up: 29%
 
Posts: 4501
Images: 18
Joined: 07 Nov 2014, 00:43
Gender: Male
Calculator(s):
MyCalcs profile

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

Unread postby Wistaro » 12 May 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, ClaudeBot [spider] ? 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!
User avatar
WistaroSuper Modo
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 88.4%
 
Posts: 3183
Images: 37
Joined: 25 Feb 2013, 16:21
Location: Toulouse
Gender: Male
Calculator(s):
MyCalcs profile
Class: Ingénieur en électronique
YouTube: Wistaro
Twitter: Wistaro
GitHub: Wistaro

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

Unread postby critor » 12 May 2016, 17:41

Wistaro wrote: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
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48%
 
Posts: 41981
Images: 15887
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

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

Unread postby Wistaro » 12 May 2016, 17:44

critor wrote:
Wistaro wrote: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, ClaudeBot [spider] ? 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!
User avatar
WistaroSuper Modo
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 88.4%
 
Posts: 3183
Images: 37
Joined: 25 Feb 2013, 16:21
Location: Toulouse
Gender: Male
Calculator(s):
MyCalcs profile
Class: Ingénieur en électronique
YouTube: Wistaro
Twitter: Wistaro
GitHub: Wistaro

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

Unread postby Hamza.S » 12 May 2016, 17:52

critor wrote:
Wistaro wrote: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
User avatar
Hamza.SAdmin
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Level up: 29%
 
Posts: 4501
Images: 18
Joined: 07 Nov 2014, 00:43
Gender: Male
Calculator(s):
MyCalcs profile

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

Unread postby NspireCas » 12 May 2016, 18:00

Cool, ça doit être excitant de coder un tel outil !
User avatar
NspireCasModo
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 6.4%
 
Posts: 1304
Images: 7
Joined: 04 Oct 2012, 20:44
Location: Paris
Gender: Male
Calculator(s):
MyCalcs profile
Class: -

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

Unread postby Wistaro » 12 May 2016, 18:25

Hamza.S wrote:
critor wrote:
Wistaro wrote: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, ClaudeBot [spider] ? 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!
User avatar
WistaroSuper Modo
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 88.4%
 
Posts: 3183
Images: 37
Joined: 25 Feb 2013, 16:21
Location: Toulouse
Gender: Male
Calculator(s):
MyCalcs profile
Class: Ingénieur en électronique
YouTube: Wistaro
Twitter: Wistaro
GitHub: Wistaro

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

Unread postby GalacticPirate » 12 May 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
User avatar
GalacticPirateModo
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 1.3%
 
Posts: 1156
Images: 2
Joined: 23 May 2015, 10:36
Location: Hauts-de-Seine, France
Gender: Male
Calculator(s):
MyCalcs profile
Class: M2

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

Unread postby Adriweb » 12 May 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)...

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...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 78.9%
 
Posts: 14744
Images: 1119
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

PreviousNext

Return to News TI-Nspire

Who is online

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

-
Search
-
Social TI-Planet
-
Featured topics
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 !
1234
-
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.
643 utilisateurs:
>630 invités
>3 membres
>10 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)