Subversion Repositories wimsdev

Rev

Rev 3341 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

<p>
Vous pouvez définir des variables dans vos documents puis les appeler dans la suite (d'une même page), rendant ainsi le document plus dynamique.

Par exemple, la ligne suivante définit une variable sous le nom de
<font color=blue><b>x1</b></font>, dont la valeur sera un entier aléatoire entre
-10 et 10 (inclusif)&nbsp;:
<pre>
\\def{integer x1=random(-10..10)}
</pre>
Cette valeur aléatoire peut ensuite être évoqué par le mot
<b><tt>\\x1</tt></b>, dans la suite du bloc qui l'a définie.
C'est-à-dire, chaque mot <tt>\\x1</tt> sera remplacé par la valeur aléatoire de la variable. Cette substitution prend aussi effet dans les définitions
d'autres variables qui suivent celle de x1.

\def{integer x1=random(10..50)}
\def{integer y1=random(10..50)}
\def{integer xy=\x1*\y1}
Par exemple, dans cette page nous avons défini
<pre>
\\def{integer x1=random(10..50)}
\\def{integer y1=random(10..50)}
\\def{integer xy=\\x1*\\y1}
</pre>
Par conséquent, le texte <tt>\\x1*\\y1=\\xy</tt> donne
\x1*\y1=\xy. Vous pouvez \reload{renouveller la page} pour voir les valeurs changer.
<p><center>Quelques autres exemples de variables
\help{module=adm/doc.fr&job=help&help_subject=oefparm}
{[Liste complète]}
<table border=2 bgcolor=bisque>
<tr><th>Définition<th>Effet
<tr><td><tt>\\def{real x=random(-5..5)}
    <td>\\x sera un nombre réel aléatoire<br>entre -5 et 5
<tr><td><tt>\\def{real a=random(-5,-3,0.3,4)}
    <td>\\a sera un nombre réel pris aléatoirement<br>parmis -5,-3,0.3 et 4
<tr><td><tt>\\def{complex z=(1+2*i)^3}
    <td>\\z sera le nombre complexe z=\((1+2*i)^3)
<tr><td><tt>\\def{text sign=random(+,-)}
    <td>\\sign sera un signe aléatoire: + ou -
<tr><td><tt>\\def{integer n=3*exp(\\a)}
    <td>\\n sera l'entier le plus proche de 3*e<sup>\\a</sup><br>(il dépend de la valeur de \\a)
<tr><td><tt>\\def{function f=random<br>(x^2+1,sin(x),log(x))}
    <td>\\f sera une fonction aléatoire: soit \(x^2+1),<br>soit sin(x), soit log(x)
<tr><td><tt>\\def{text s=shuffle(6)}
    <td>\s sera une liste de 6 entiers 1,2,...,6, dans un ordre aléatoire.
<tr><td><tt>\\def{text s=shuffle(a,b,c,d,e)}
    <td>\s sera les lettres {a,b,c,d,e} dans un ordre aléatoire.
<tr><td><tt>\\def{real a=evalue(x^2+sin(y),x=3,y=4)}
    <td>Evaluation de la fonction \(x^2+sin(y)),<br>
    pour x=3, y=4
<tr><td><tt>\\def{real r=solve(x^3-3*x+1,x=0..1)}
    <td>\\r sera la racine simple de \(x^3-3x+1) entre 0 et 1
<tr><td><tt>\\def{function h=simplify(x^5*y^3*x^2/y)}
    <td>Expression simplifiée : \(x^7*y^2)
<tr><td><tt>\\def{function g=diff(sin(x)+cos(y),x)}
    <td>\\g sera la dérivée de sin(x)+cos(y) par rapport à x
<tr><td><tt>\\def{function F=int(x^2+3*x+1,x)}
    <td>\\F sera une primitive de \(x^2+3*x+1),<br>
     le terme constant n'étant pas garanti d'être toujours le même
\comment{<tr><td><tt>\\def{function F=int(t^2+3*t+1,t=1..x)}
    <td>\\F sera la primitive de \(x^2+3*x+1) telle que F(1)=0}
<tr><td><tt>\\def{real a=int(t^2+3*t+1,t=0..1)}
    <td>\a sera l'intégrale numérique de \(x^2+3*x+1), de 0 à 1
<tr><td><tt>\\def{text f=htmlmath(2*x^2+3*x)}
    <td>\\f sera rendu en html comme: \(2x^2+3x)
<tr><td><tt>\\def{text f=texmath(2*x^2+3*x)}
    <td>\\f sera le source TeX de l'expression.
<tr><td><tt>\\def{matrix m=1,2,3<br>4,5,6<br>7,8,9}
    <td>\\m sera la matrice de 3 lignes et 3 colonnes.

</table></center><p>

Paramètres conditionnels&nbsp; vous pouvez écrire<p>
<tt>\text{ttt=_condition?_def1}</tt> ou <br>
<tt>\text{ttt=_condition?_def1:_def2}</tt>
<p>
Dans ce cas, <tt>ttt</tt> aura la valeur <tt>_def1</tt> si
<tt>_condition</tt> s'avère vraie, ou <tt>_def2</tt> sinon (dans la seconde
syntaxe).
\help{module=adm/doc&cmd=new&job=help&help_subject=if}{List of conditions}.

Notons enfin que les blocs insérés via \link{fold}{<tt>\fold</tt>} ou \link{embed}{<tt>\embed</tt>} héritent les définitions de variables avant l'insertion.

Generated by GNU Enscript 1.6.5.90.