2.5.2 L’affectation : := => sto Store
On peut utiliser les fonctions infixées := comme en Pascal ou =>
comme le "sto" des calculatrices pour réaliser une affectation ou encore,
les fonctions préfixées, sto ou Store, d’arguments la valeur
à affecter et le nom d’une variable.
:= (ou => ou sto ou Store) permet d’affecter
une variable.
On tape (attention à l’ordre des arguments !) :
a:=4
ou
4=>a
ou
sto(4,a)
ou
Store(4,a)
On obtient :
4
:= ou => permettent aussi de définir des fonctions.
On tape :
f(x):=sin(x)/x
ou
sin(x)/x=>f(x)
ou encore
f:=x->sin(x)/x
ou
x->sin(x)/x=>f
On peut aussi définir une fonction par morceaux :
-
une fonction définie par 2 valeurs,
par exemple, pour définir
la fonction g qui vaut 1 si x>0 et 0 si x≤ 0 on tape :
On tape :
g(x):=ifte(x>0,1,0)
ou encore
g(x):=when(x>0,1,0)
ou encore
g(x):=x>0?1:0
En effet ifte (ou when ou quand ) a trois arguments : une
condition et deux expressions et ? est infixé avec la condition à
gauche et à droite on met les deux expressions séparées par :.
Si la condition est vraie, ifte (ou when ou IFTE ou ?)
renvoie la première expression et sinon ifte (ou when ou
IFTE ou?) renvoie la deuxième expression.Remarque La condition peut être remplacée par un rèel r :
si r==0 la condition est fausse et sinon elle est vraie.
On tape pour définir la fonction qui vaut partout 0 sauf en 0 où elle
vaut 1:
h(x):=when(x,0,1)
Remarque :Différence entre ifte et when
On tape :
f(x):=ifte(x>0,1,0);
g(x):=when(x>0,1,0) ou g(x):=quand(x>0,1,0)
puis on tape f(x)
on obtient :
Ifte: Unable to check test Error: Bad Argument Value
car x n’a pas de valeur : avec ifte ou IFTE il faut que la
variable x soit affectée pour pouvoir tester la condition (quand on
définit une fonction ce qui suit le := n’est pas évalué donc la
définition de f(x) ne pose pas de problème.
alors que
si on tape g(x)
on obtient :
((x>0)? 1 : -1)
car ? est la version infixée de when
- une fonction définie par n valeurs,
par exemple, pour définir
la fonction g qui vaut -1 si x<−1, 0 si −1≤ x≤ 1 et 1 si x>1,
on tape :
g(x):=piecewise(x<-1,-1,x<=1,0,1)
piecewise utilise des paires condition/valeur ou valeur est renvoyée si
sa condition est vraie ce qui implique que les conditions précédentes sont
fausses. Si le nombre d’arguments est impair,
la dernière valeur est la valeur par défaut (comme dans un switch).
Pour définir
la fonction f qui vaut -2 si x<−2, 3x+4 si −2≤ x <−1,
1 si −1 ≤ x<0 et x+1 si x ≥ 0,
on tape :
f(x):=piecewise(x<-2,-2,x<-1,3x+4,x<0,1,x+1)
On peut alors faire le graphe de f en tapant :
plotfunc(f(x))