Fermer2
veryLe 14/07/2008 à 06:21
Bon certains se souviennent surement de zCalc, j'en avais parlé sur le site du contest, et un peu sur le forum

Un dimanche pluvieux en exil et je m'y suis remis (j'y avais pas touché depuis): j'ai fait vraiment le plus gros, il restera peut-être à rajouter certaines fonctions (trigo inverses, n-root, racine cubique, puissance 3 ) et à améliorer un peu la simplification avant rendu. Aussi à optimiser si j'ai le courage ou des conseils motivants (i.e qui montrent une grande espérance) dans le topic dédié.


J'ai évidemment fait pas mal de tests et debug moi-même et ça a l'air maintenant de plutôt bien marcher, bon cependant vous savez ce que c'est grin
Donc si y'en a parmi vous qui sont intéressés pour tester ça, notemment sur vraie calto (testé que sur VTI) et si possible me rapporter les éventuels bugs/erreurs/etc. Les conseils/impressions/autres sont aussi les bienvenues happy

Fonctionnement: vous rentrez une fonction dans Y1, lancer le programme depuis Ion (ou autre), la dérivée de Y1 doit alors être en Y2. Le programme n'affiche strictement rien, c'est normal.

Limites connues:
-devrait planter si l'expression est trop longue (jeu: trouver la limite ). Limite supérieur connue: 255 tokens (bon en dessous c'est un peu plus compliqué que juste le nombre de token d'entrée, faut voir comment ça va être étendue en dérivation ..). Fort probable que l'on puisse juste corrompre la RAM sans planter tout de suite (c'est quoi juste après saferam1 sur 83+ ? cheeky ). Je réfléchi à régler ça pour la finale .. (au minimum ne pas planter la calc, vu que sur 82/83 ça pourrait être catastrophique pour les élèves lors d'un DS ... )
-On est supposé respecter le prenthèsage. Surtout lorsque la parenthèse ouvrante est celle d'une fonction (i.e genre cos( .. ). Sinon, ça devrait aller, ..
-les fonctions non-reconnues, lettres (à l'exception de X .. ), etc, sont traités comme des constante. Au moins ça plante pas. (et pour les lettres, ce sont bien des constantes smile )
-La simplification n'est pas toujours parfaite (et le ne sera jamais, mais ça peut s'améliorer ).
-Le programme peut parfois tourner normalement, et c'est lorsque vous regarderez Y2 que ça plantera votre calc. (pour cause de l'affichage illimité de pleins de symboles qui n'ont rien à faire là). Ou si vous avez de la chance, peut vous renvoyer une expression de 10 lignes de token qui n'ont rien à faire là, mais sans planter. En théorie ça devrait pas vous arriver, sauf si j'ai laissé passer un gros bug (ça m'interesse smile )

Avant de tester sur vrai calc, je vous recommande évidemment de sauvegarder tout ailleurs cheeky



Voilà le fichier, bon c'est juste 83+ pour le moment pour cause de flemme, mais normalement je devrais porter ça sur 83 facilement et devrais y arriver sur 82

edit: fichiers plus à jour, tests déjà effectués

Merci d'avance à tous ceux qui voudront bien tester happy