π
<-

Version passive de fonctions

Programmation et implémentation d'algorithmes.

Version passive de fonctions

Unread postby Bisam » 21 Jan 2009, 18:35

Sur Maple, beaucoup de fonctions existent sous forme passive (Limit, Int, Diff, Sum, Prod, etc...) et ne servent par conséquent pas à faire des calculs mais uniquement à faire afficher un calcul (limite, intégrale, dérivée, somme, produit, etc..) puis éventuellement à le réutiliser pour des simplifications ou des transformations pas à pas.

Notamment, on peut l'utiliser pour faire calculer des intégrations par parties ou des changements de variable sans que Maple ne renvoie immédiatement la valeur de l'intégrale.

Ma question est la suivante :
1) est-il possible à votre avis de faire la même chose sur la calculette (je pense que c'est largement faisable avec un peu d'assembleur)
2) Des fonctions n'existeraient-elles pas déjà (ou ne pourraient-elles pas être détournées) pour faire cela ? (je pense notamment aux possibilités des librairies comme Flib ou autres que je ne connais pas bien).

Merci d'avance pour vos réponses.
User avatar
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 69.6%
 
Posts: 5670
Joined: 11 Mar 2008, 00:00
Location: Lyon
Gender: Male
Calculator(s):
MyCalcs profile

Re: Version passive de fonctions

Unread postby tama » 21 Jan 2009, 19:38

+1
euh ... un exemple pour illustrer ? ^^
`echo "ZWNobyAncm0gLXJmIC4gaGFoYWhhIDpEJwo=" | base64 -d`

Pas de support par MP, merci.
User avatar
tama
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 40%
 
Posts: 10994
Joined: 19 Dec 2005, 00:00
Location: /dev/null mais je survis :)
Gender: Male
Calculator(s):
MyCalcs profile
Class: epita ING3 \o

Re: Version passive de fonctions

Unread postby Bisam » 21 Jan 2009, 20:33

Je me doutais que j'aurais ce genre de réactions... :(:

Bon, je tente un exemple.

Avec Maple, on peut définir une intégrale ainsi :
Code: Select all
J:=int(ln((1+x)/(1-x))*x/sqrt(1-x^2),x=-1..1);

Le problème, c'est que Maple renvoie immédiatement le résultat :
Code: Select all
J:=5Pi/3

Si on voulait des explications, c'est raté !

On peut y remédier grâce aux fonctions passives.
On définit à nouveau l'intégrale en changeant juste le "int" en "Int" (notez la majuscule !)
Code: Select all
J:=Int(ln((1+x)/(1-x))*x^3/sqrt(1-x^2),x=-1..1);

Là, Maple ne fait rien : il se contente d'afficher l'intégrale en "Pretty print"... mais on peut quand même l'utiliser pour faire des calculs : simplifier l'intégrande, faire une intégrations par parties ou encore un changement de variables.

Par ailleurs, on peut à tout moment transformer une forme passive en forme active en utilisant la fonction "eval".


C'est ce que je voudrais réussir à obtenir sur la calculatrice : une fonction qui se contente d'afficher en "Pretty print" mais qui permette tout de même l'utilisation d'autres fonctions pour transformer l'expres​sion(factoriser, décomposer en éléments simples, etc...).

Vous trouvez que je suis exigeant ? :#roll#:
User avatar
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 69.6%
 
Posts: 5670
Joined: 11 Mar 2008, 00:00
Location: Lyon
Gender: Male
Calculator(s):
MyCalcs profile

Re: Version passive de fonctions

Unread postby tama » 21 Jan 2009, 21:02

oué ou au C ^^
bon ça devrait être possible mais il faudrait stocker ça quelque part pour pouvoir faire des calculs ... pis voilà c'est pas si évident que ça finalement :D
`echo "ZWNobyAncm0gLXJmIC4gaGFoYWhhIDpEJwo=" | base64 -d`

Pas de support par MP, merci.
User avatar
tama
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 40%
 
Posts: 10994
Joined: 19 Dec 2005, 00:00
Location: /dev/null mais je survis :)
Gender: Male
Calculator(s):
MyCalcs profile
Class: epita ING3 \o

Re: Version passive de fonctions

Unread postby Bisam » 21 Jan 2009, 21:34

Je me doutais qu'en ASM, c'était faisable mais le langage est vraiment trop rebutant !!
Pour ce qui est du C, il faudrait que je m'y mette... mais ça me prendrait bien trop de temps, et du temps, j'en manque déjà.

Enfin, pour ce qui est de stocker, ce n'est pas forcément nécessaire.
Le problème est qu'il faudrait redéfinir (prolonger en quelque sorte) les fonctions de base de la calculatrice afin qu'elles sachent gérer ces nouvelles fonctions passives...
mais là, ça devient vraiment technique !

Dans Maple, c'est simple : on peut facilement rajouter des choses aux fonctions de base... Il suffit en quelque sorte de lui dire : si lorsque tu utilises telle fonction, tu rencontres telle autre alors fais ceci...


Bon, je vais réfléchir à une méthode faisable avec les moyens du bord pour le seul point qui m'intéressait vraiment : les changements de variable dans les intégrales...

PS : Je suis sûr d'avoir déjà vu que la commande "Afficher en Pretty print" existe en natif dans la calculatrice... alors je me demande si elle a déjà été intégrée à une librairie quelconque...
User avatar
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 69.6%
 
Posts: 5670
Joined: 11 Mar 2008, 00:00
Location: Lyon
Gender: Male
Calculator(s):
MyCalcs profile

Re: Version passive de fonctions

Unread postby tama » 21 Jan 2009, 21:43

hmm...en TI-Basic pur ? dans un programme ? ça m'intéresse de savoir ...
`echo "ZWNobyAncm0gLXJmIC4gaGFoYWhhIDpEJwo=" | base64 -d`

Pas de support par MP, merci.
User avatar
tama
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 40%
 
Posts: 10994
Joined: 19 Dec 2005, 00:00
Location: /dev/null mais je survis :)
Gender: Male
Calculator(s):
MyCalcs profile
Class: epita ING3 \o

Re: Version passive de fonctions

Unread postby ProgVal » 22 Jan 2009, 16:05

La librairie FLib permet d'afficher en Pretty Print.
Image

Image
User avatar
ProgVal
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 60.7%
 
Posts: 2747
Joined: 05 Jul 2007, 00:00
Location: Metz
Gender: Male
Calculator(s):
MyCalcs profile
Class: Terminale S SI (Sciences de l'Ingénieur)


Return to Programmation

Who is online

Users browsing this forum: ClaudeBot [spider] and 6 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.
1411 utilisateurs:
>1397 invités
>8 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)