by chiantos » 08 Oct 2008, 21:14
Le disp signifie display et permet d'afficher ce que tu veux. Pour afficher une valeur suivie d'une chaine de caractères, tu utilises la virgule entre les deux.
On veut obtenir quelque chose sous la forme
a((x+(b/2a))²-(b²-4ac)/(4a²)) où la calculatrice remplace uniquement les a, b et c par les valeurs que tu as entré en argument et laisse le reste (les parenthèses, le x, etc) en place. On va donc lui demander de ne pas évaluer toute l'expression(il redonnerait l'expression de départ, comme je l'ai dis plus haut) mais seulement de remplacer a, b et c. Pour ce faire, on utilise la virgule.
Dans
Disp a,"*((x+",b,"/(2*",a,"))^2-((",b,")^2-4*",a,"*",c,")/(4*(",a,")^2))" la calculatrice ne va pas évaluer ce qui est entre guillemets, elle va les afficher tels quels. Elle va juste se charger de remplacer les variables a, b et c par leurs valeurs fournies en argument.
C'est un peu compliqué à comprendre et à déchiffrer au début, je l'admet
Edit : Ah bah tu as compris, c'était pas la peine que j'écrive un pavé... Par contre, le comportement de ta calculatrice diffère de celui de la mienne : je n'ai pas besoin des parenthèses pour avoir le bon résultat. Enfin l'important c'est que ça fonctionne.
Edit 2 :

En fait, c'est le comportement du logiciel qui est différent de celui de la calculatrice : Il rajoute des espaces là où il devrait simplement coller les deux valeurs... Donc ma solution ne peut fonctionner qu'à moitié, désolé. Il va falloir trouver autre chose pour avoir un résultat propre.