1

Je sais que ça n'a rien à faire ici, mais je ne savais pas où mettre ça vu que je ne veux pas parler de code.
J'aimerais comprendre comment marche un CAS, j'ai vraiment du mal a comprendre comment on peut faire du calcul formel ... et ça me soule !

2

Auh ben c'est vaste comme questioncheeky
Et un Cas c'est loin de n'être que la simplification.

Je dirais qu'à la base, il s'agit de calcul sur les polynômes, ainsi que de reconnaissance de motifs.
Mais bon il y a des tas de domaines de l'algorithmie qui interviennent : factorisation, calcul algébrique, calcul différentiel, trouver les racines d'un polynôme ou d'une expression ....
Les droits inaliénables du troll :
1) le droit d'avoir raison
2) le droit d'être péremptoire
3) le droit de ne pas lire
4) le droit de ne pas répondre
5) le droit d'être de mauvaise foi
6) Autant pour moi / Faignant / Vivent Tintin et Milou

3

Oui, quand j'ai dis CAS c'est vrai que c'était un peu trop éloigné, ce qui m'interesse, c surtout la gestion du calcul formel, comment mélanger les variables aux chiffres dans les algo en fait ... (je sais pas si je susi bien clair ... )

4

(je le fais en caml parce qu'en C c'est lourd...)

Ben tu codes une expression comme un arbre, style

type expression =
| Nombre of int
| Variable of string
| Somme of expression*expression
| Produit of expression*expression
...........

et tu simplifies par exemple

let rec simp = function
| Somme(Variable x, Variable y) as exp -> if x=y then Produit(Nombre 2, Variable x) else exp
| .................
(il y a une liste de motifs à établir)



Sur une Hp, une expression est représentée en interne comme une liste en notation polonaise inverse : 2x+3x est représenté
2 x * 3 x * +

Le Cas est capable de reconnaître les branches de l'arbre :
[2 x *] [3 x *] +

et d'appliquer des formules de simplification :
2 3 + x *
5 x *
Les droits inaliénables du troll :
1) le droit d'avoir raison
2) le droit d'être péremptoire
3) le droit de ne pas lire
4) le droit de ne pas répondre
5) le droit d'être de mauvaise foi
6) Autant pour moi / Faignant / Vivent Tintin et Milou

5

donc ta variable est en chaine de caractère ???

6

si tu le souhaites
à toi de voir...
Les droits inaliénables du troll :
1) le droit d'avoir raison
2) le droit d'être péremptoire
3) le droit de ne pas lire
4) le droit de ne pas répondre
5) le droit d'être de mauvaise foi
6) Autant pour moi / Faignant / Vivent Tintin et Milou

7

oki, merci, je vais méditer cela ..

8

HIPPOPOTAME a écrit :
Sur une Hp, une expression est représentée en interne comme une liste en notation polonaise inverse : 2x+3x est représenté 2 x * 3 x * +

Sur une TI-89/92/92+/V200 aussi:
02 01 POSINT_TAG VAR_X_TAG MUL_TAG 03 01 POSINT_TAG VAR_X_TAG MUL_TAG ADD_TAG
(Tous les tags sont des octets.)
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

9

Kevin: comment les variables sont gérées sur Ti89/V200 ? Enfin, dans une expression ... je sais que c'est reconnais grace à type <= 0x1C mais, elles sont gérées en string ?

10

Les variables d'une lettre ont des tags dédiés, les autres sont codés sous forme de chaîne de caractères enfermée entre 2 octets nuls.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

11

(désolé pour l'édition croisée à ton post)

Mais une lettre, comme X, qui a comme tag dédiée VAR_X_TAG, qui vaut 08, comment on le différencie de 8 ?

12

8 est codé 08 01 POSINT_TAG.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

13

aRf, chui con, pkoi j'y ais pas pensé .. merci bcp Kevin !

14

Sur une TI-89/92/92+/V200 aussi:
02 01 POSINT_TAG VAR_X_TAG MUL_TAG 03 01 POSINT_TAG VAR_X_TAG MUL_TAG ADD_TAG (Tous les tags sont des octets.)

C'est bien ce que je croyais mais dans le doute, je ne voulais pas m'avancer.smile
Les droits inaliénables du troll :
1) le droit d'avoir raison
2) le droit d'être péremptoire
3) le droit de ne pas lire
4) le droit de ne pas répondre
5) le droit d'être de mauvaise foi
6) Autant pour moi / Faignant / Vivent Tintin et Milou

15

Cours et tutos Asm: http://membres.lycos.fr/sirryl