Calcul d'une expression


 

calc(expression) =

Evalue l'expression et renvoie le résultat.

Qu'est-ce qu'une expression ?

Une expression comprend des

   mots clefs : pi
   opérateurs: + , - , * , / , ^
   fonctions: cos , sin , tan , racine , carre , ln , exp , abs
   distances : AB
   angles: ABC
   variables: x
   et des parenthèses.

Tracenpoche commence par rechercher la présence éventuelle de fonctions.
Puis toutes les chaines de caractères successifs sont considérées comme des variables.

Exemple
  EF=1.56;:
  sto xy;
  calc(sin(xy/(AB'+1))=;


TracenPoche repère la fonction sinus; puis distingue deux variables qui sont xy et AB'.
Il cherche ensuite à évaluer celles-ci en suivant le principe suivant:
Les variables déclarées dans le script de la figure ou les variables déclarées via la commande sto sont prioritaires par rapport aux noms des points.
Dans l'exemple ci-dessus, xy est une variable, même si dans le script de la figure on trouve un point x et un point y.
Il reprend alors la valeur trouvée au-dessus.
AB' n'est pas une variable déclarée: donc TracenPoche évalue l'expression AB'; Comme elle comporte deux points, il l'évalue à l'aide de la longueur AB'. Si elle en comportait trois, il l'évaluerait avec un angle (en radians).

Une fois l'expression compilée, TracenPoche remplace la commande calc par la commande recalc.
Quand on bouge la figure, il utilise alors l'arbre précédemment construit : ce qui permet une mise à jour rapide des calculs.
C'est pourquoi quand vous modifiez une expression, il faut dire à TracenPoche de la recompiler en remplaçant à nouveau recalc par calc.

 

 

    Syntaxe   Paramètres
1-   calc(Expression) Expression

Exemple:
@options;
repereortho(200,200,60,0.5,0.5);
grille();

@figure;
A = point(-1,-0.5);
B = point(-2.5,1);
C = point(-1,2.5);
D = point(0.5,1);
x =reel(2,0,5,0.1);

Fenêtre analyse
AB = 2.12132034355964
sto y
Recalc(BAD*(pi)/180)) = 1.5707963267949
sto z
Recalc(sin(x/AC+z)) = 0.785887260776948
Recalc((x+2y-z)^3) = 101.968281073236


 


TracenPoche (c) Sésamath