Previous Up Next

6.14.1  Qu’est-ce qune expression

Il ne faut pas confondre expression et fonction.
Une expression est une combinaison de nombres et de variables reliés par des opérations alors qu’une fonction associe à une variable une expression.
Par exemple :
a:=x^2+2*x+1 définit une expression et b(x):=x^2+2*x+1 définit une fonction.
On obtient la valeur de l’expression a en 0, avec subst(a,x=0) et la valeur de la fonction b en 0, avec b(0).
On peut aussi considérer une expression comme un arbre.
Par exemple, si A:=3+2*x/y ou si B:=sin(2x+3) on a :

Attention
Si C:=2*x-y alors
sommet(C) renvoie ’+’ et
feuille(C) renvoie 2*x,-y
car l’expression est C s’écrit 2*x+(-y)
De même si D:=x/3 alors
sommet(D) renvoie ’*’ et
feuille(C) renvoie x,1/3
car l’expression est D s’écrit x*1/3
On a alors :
C[0],C[1],C[1,0],C[1,1],C[1,2],C[2],C[2,0],C[2,1]
renvoie : ’+’,2*x,’*’,2,x,-y,’-’,y (’-’ est le "moins" unaire).
Et :
D[0],D[1],D[2],D[2,0],D[2,1],B[1,1,2]
renvoie : ’*’,x,1/3,’inv’,3
Remarque
Ce qui suit n’est valable que pour des programmeurs confirmés avec les manipulations qui suivent, les erreurs sont faciles !
On peut changer le sommet ou une feuille terminale en affectant l’une des variables A[0],A[1],A[2],A[2,0],A[2,1],A[2,2],A[2,3],A[2,3,0],A[2,3,1]
ou B[0],B[1,0],B[1,1],B[1,2],B[1,1,0],B[1,1,1],B[1,1,2]
MAIS il faut faire cela avec prudence car le système ne fait pas de vérifications et n’enverra pas de message d’erreurs.
On tape :
A:=3+2*x/y
A[0]:=’*’ Et A renvoie 6*x/y Maintenant :A[1] renvoie 6
On peut taper :
A[1]:=2+z Maintenant A renvoie (2+z)*x/y
On tape :
B:=sin(2*x+3)
B[0]:=cos Et B renvoie cos(2*x+3) Puis, on tape :
B[1,2]:=y et B renvoie cos(2*x+y)


Previous Up Next