7!;
mais le calcul de n'est qu'un prétexte pour découvrir sur un
exemple simple la syntaxe de programmation MuPAD.
1*2*3*4*5*6*7;
mais les choses
pourraient se compliquer au moment de calculer
p:=1: for k from 1 to 7 step 1 do p:=p*k end_for;
Ce programme n'est pas optimum. En fait, dans une boucle for, l'instruction step est facultative : elle vaut par défaut 1. Ici, on peut se contenter de
p:=1 for k from 1 to 7 do
p:=p*k end_for;
Cela donne
reset();
l:=[k $ k=1..7]: p:=1: for i from 1 to 7
do p:=p*l[i] end_for: p;
reset();
p:=1: k:=1: while k<7 do k:=k+1: p:=p*k end_while:
p;
reset(); # je ne vous le dirai plus
#
fac:=proc(n)
local p,k; # nous aurons besoin de
variables locales i.e. internes à la procédure, comme des variables d'intégrations à l'intérieur d'une intégrale #
begin
p:=1;
for k to n do p:=p*k end_for;
end_proc: # termine la procédure
#
fac(32);
factr:=proc(n)
begin
if n=0 then 1 # une
boucle if...then...else pour régler le cas de 0! #
else
n*factr(n-1)
end_if; # symbolise la fin de la boucle #
end_proc:
factr(32);
En fait, ce mécanisme correspond à une suite
numérique qui s'écrirait mathématiquement
.