Page 1 of 1

enregistrer des expressions formelles

Unread postPosted: 22 Aug 2009, 16:08
by CBP
Bonjour,

J'aimerais enregistrer des expressions formelles sans faire les calculs.

Par exemple :
Code: Select all
r^(1/2)-a
1/a-b


stocke r^(-1/2) dans b, ce que je ne veux pas. Je voudrais stocker 1/a.

Sachant qu'il ne m'est pas possible de commencer par enregistrer b avant d'enregistrer a (ce qui est une solution qui marche), comment faire ?


Le problème vient du fait qu'en réalité il y a plus que deux variables en jeu (en fait 6) que chacune utilise les précédentes. Non seulement cela occasionne des calculs long à l'enregistrement (parce que les expressions sont loin d'être simples) mais en plus ça me fait perdre de l'information. Enfin comme les variables sont des réponses à des questions successives d'un exercice et que forcément l'exercice se fait dans l'ordre, il n'est pas possible de commencer par enregistrer la dernière variable ...

Merci d'avance

Re: enregistrer des expressions formelles

Unread postPosted: 22 Aug 2009, 16:23
by ProgVal
Bonjour,

Mets ton expression entre guillemets. ensuite, quand tu veux utiliser a, remplaces par expr(a)

Cordialement,
ProgVal

Re: enregistrer des expressions formelles

Unread postPosted: 22 Aug 2009, 18:05
by Bisam
CBP wrote:Enfin comme les variables sont des réponses à des questions successives d'un exercice et que forcément l'exercice se fait dans l'ordre, il n'est pas possible de commencer par enregistrer la dernière variable ...

Je ne comprends pas ce que tu veux dire.
Si tu connais les expressions (puisque tu les rentres dans la calculatrice) tu peux bien les écrire dans l'ordre inverse, et du coup c'est uniquement quand tu appelleras les variables qu'elles seront évaluées successivement.

Re: enregistrer des expressions formelles

Unread postPosted: 22 Aug 2009, 18:23
by CBP
ProgVal wrote:Bonjour,

Mets ton expression entre guillemets. ensuite, quand tu veux utiliser a, remplaces par expr(a)

Cordialement,
ProgVal


J'ai essayé, mais ça ne marche pas quand elles sont emboitées.

Exemple :

Code: Select all
"((r*rr)/(r+rr)*c)^(-1)"-omega
"rr*cc*omega"-q
10-r
1000-rr
10^(-6)-c
20*10^(-5)-cc
expr(omega)
expr(q)


ne marche pas pour q car il remplace omega par la chaine de carartères

Et là, comme je vous disais on en est qu'à deux variables. J'en ai encore 6 qui suivent qui s'utilisent les unes les autres. Et les expressions sont plus lourdes que l'exemple simple que j'ai donné au dessus.


@bisam : non je ne peux pas les rentrer dans l'ordre inverse car je ne trouve l'expression 1 qu'à la question 1. Je fais mes calculs, ok. Ensuite ce n'est qu'à la question 2 que je trouve l'expression 2. Je ne vais quand même pas effacer l'expression 1 pour réécrire l'expression 2.

A moins que ... J'ai une idée. Il faudra que je teste.

N'empêche c'est hyper lourd ce mode de calcul formel automatique pour le physicien que je suis ... :(:

Re: enregistrer des expressions formelles

Unread postPosted: 23 Aug 2009, 09:04
by Bisam
Tu peux t'en sortir ainsi :
Code: Select all
"((r*rr)/(r+rr)*c)^(-1)"-omega
"rr*cc*omega"-q
10-r
1000-rr
10^(-6)-c
20*10^(-5)-cc
expr(omega)-omega
expr(q)


ou bien encore, si tu comptes te resservir des expressions littérales ailleurs, tu peux faire ainsi :
Code: Select all
"((r*rr)/(r+rr)*c)^(-1)"-omegax
"rr*cc*omega"-qx
10-r
1000-rr
10^(-6)-c
20*10^(-5)-cc
expr(omegax)-omega
expr(qx)-

Re: enregistrer des expressions formelles

Unread postPosted: 23 Aug 2009, 09:23
by CBP
Effectivement, mais c'est très lourd : ça double le nombre de variables. Une pour l'expression litterale, une pour la valeur numérique ...

En fait j'ai testé un truc qui ne fait pas ce que je veux mais qui revient au même. Il suffit de faire un programme du genre :

Code: Select all
:test()
:Prgm
:DelVar r,rr,c,cc,omega,q
:10-r
:1000-rr
:10^(-6)-c
:20*10^(-5)-cc
:((r*rr)/(r+rr)*c)^(-1)-omega
:rr*cc*omega-q
:EndPrgm


En mettant les valeurs numériques au début, il ne fait que du calcul num ce qui est plus rapide que du calcul formel, mais on dispose quand même toujours des expressions complètes pour les corriger "au cas où".

Seul problème : c'est un peu lourd à gérer car pour avoir une valeur numérique il faut lancer le programme puis aller chercher la valeur. Deux étapes au lieu d'une, ce n'est pas intuitif du tout. Il aurait mieux valu pouvoir enregistrer des expressions littérales directement dans la calculatrice. Mais bon ... :s:

En fait j'ai l'impression qu'il y a très peu de physiciens qui ont participé aux développement des calculatrices (TI ou Casio) car elles sont toutes très pénibles pour ce qu'on cherche à faire ... :(: