%@P:maxima1 %@M: \textbf{Variables locales} L'instruction \texttt{block} permet l'utilisation de variables locales ainsi que les séquences et les structures de contrôle dans les définitions. \begin{maxin} \begin{verbatim} > v3:7; \end{verbatim} \end{maxin} \begin{maxout} \[7\] \end{maxout} \begin{maxin} \begin{verbatim} > block([v3],v3); \end{verbatim} \end{maxin} \begin{maxout} \[{\it v_3}\] \end{maxout} \begin{maxin} \begin{verbatim} > g(x):=block([u:x+3,w],u:u^2,w:(y+2)^2,u+w); \end{verbatim} \end{maxin} \begin{maxin} \begin{verbatim} > g(2); \end{verbatim} \end{maxin} \begin{maxout} \[\left(y+2\right)^2+25\] \end{maxout} \begin{maxin} \begin{verbatim} > h(x) := block([u:x+3,w],u:u^2, if (u<3) then w:(y+2)^2 else w:(y+2)^2+1, u+w); \end{verbatim} \end{maxin} \begin{maxin} \begin{verbatim} > [h(3),h(2)]; \end{verbatim} \end{maxin} \begin{maxout} \[\left[ \left(y+2\right)^2+37 , \left(y+2\right)^2+26 \right] \] \end{maxout} \begin{maxin} \begin{verbatim} > block([w:0],for i:1 thru 10 do (w:w+i^2)); \end{verbatim} \end{maxin} \begin{maxout} \[\mathbf{done}\] \end{maxout} \begin{maxin} \begin{verbatim} > block([w:0],for i:1 thru 10 do (w:w+i^2),w); \end{verbatim} \end{maxin} \begin{maxout} \[385\] \end{maxout}