!set titb=Exemples de slib
!set keyw=
!set datm=20040523
!set prev=
!set next=
!set upbl=main
!set dat1=19000101
!set dat2=24000101


!if $wims_read_parm!=$empty
 !goto $wims_read_parm
!endif
!exit

:content

!read primitives.phtml 1, embed, definition, &nbsp; 
Il existe une bibliothèque de macros qui sont créées au fur et à mesure des
besoins des utilisateurs. Voici quelques thèmes concernés
par ces macro slib &#58; chimie, graphe, langue, matrice, statistique,
dessin.
<p>
Pour accéder à la liste des macros 
existant sur le serveur, cliquer sur 

!read primitives.phtml 2, doc, module=help/wimsdoc.en&subject=slib#slib 

Si vous cliquez sur
une des commandes, vous obtenez un tableau dans lequel sont indiqués
le nom, 
la signification
des paramètres et de temps en temps un exemple de même 
que la syntaxe
à utiliser (<tt class="d">Call from OEF / DOC</tt>) &#58; 
<p>
Pour l'utiliser dans un  exercice, la syntaxe est la suivante &#58;  
<p>
<pre class="cc">
$m_text$m_lbrac resultat = $m_slib(nom parametre) $m_rbrac </pre>
<p>
Voici quelques exemples, mais le mieux est que vous alliez voir.
<p>
<h4> pour dessiner</h4>
Exercice utilisant coord &#58; 

!read primitives.phtml 3, link, coord, <img src="gifs/doc/ddroite.gif" alt="exemple" width="20" height="20" border=0 valign=bottom> 

<p>
<h4> draw/clock</h4>
<pre class="cc">
$m_text$m_lbrac horloge =$m_slib( draw/clock  02&#58;45&#58;33, 120) $m_rbrac
$m_statement$m_lbrac <tt class=comm>\draw</tt>$m_lbrac \horloge<tt class="par">}}</tt>
</pre>

!set m_heure=02:45:33



!readproc slib/draw/clock $m_heure, 120 
!set tmp0=$slib_out
!set m_horloge=$(tmp0)



!read primitives.phtml 4, draw, 120,120, \horloge 

<p>
<h4>lang/frapostrophe</h4>
<pre class="cc">
$m_text$m_lbrac cheval = $m_slib( lang/frapostrophe de le cheval) $m_rbrac
$m_text$m_lbrac ane = $m_slib( lang/frapostrophe de le âne) $m_rbrac </pre>
<p>

!readproc slib/lang/frapostrophe de le cheval 
!set tmp0=$slib_out
!set m_cheval=$(tmp0)



!readproc slib/lang/frapostrophe de le âne 
!set tmp0=$slib_out
!set m_ane=$(tmp0)


Résultat &#58; $m_cheval, $m_ane
<p>
Cela est commode si vous voulez faire des énoncés en français
par exemple l'atome de chlore, d'oxygène où l'élément chimique est
pris au hasard.
<a name="atome">
<pre class="cc">
$m_text$m_lbrac atome = $m_randitem(chlore,oxygène,carbone,hydrogène) $m_rbrac
$m_text$m_lbrac datome = $m_slib( lang/frapostrophe de $m_atome) $m_rbrac </pre>

!set tmp=!nonempty items chlore,oxygène,carbone,hydrogène

!set tmp0=!randitem $tmp
!set m_atome=$(tmp0)



!readproc slib/lang/frapostrophe de $m_atome 
!set tmp0=$slib_out
!set m_datome=$(tmp0)


<p>
$m_datome 
!read primitives.phtml 5, reload, rechargez, atome 

<h4> text/comblin</h4><pre class = "cc"> 
$m_text$m_lbrac a = $m_slib(text/comblin [1,2,3] , [\vec{e_1}, \vec{e_3}, \vec{e_2}]) $m_rbrac
$m_statement$m_lbrac &#92;(\a) $m_rbrac </pre>
<div class = "aide">Permet d'écrire et simplifier des combinaisons
linéaires même si les deuxièmes termes sont des expressions Tex non
évaluables. </div>
<p>
<h4>stat</h4>
On trouvera 
<ul>
<li> des macros permettant de faire une analyse statistique de données, par exemple <pre class = "cc">stat/mean, stat/variance, stat/effectif, stat/histo ...</pre>
</li>
<li> des macros pour déterminer la valeur de la densité, de la fonction de répartition ou des quantiles de lois classiques. Les noms de ces macros sont tous fabriqués de la même manière  &#58;  <pre class = "cc"> stat/???pdf  stat/???cdf   stat/???inv </pre> 
où ??? est à remplacer par le nom d'une loi classique.<BR>
Exemple &#58; <pre class = "cc"> 
$m_text$m_lbrac res = $m_slib(stat/binomialcdf 3,10,0.5) $m_rbrac </pre>
<div class = "aide"> \res contient la probabilité qu'une pièce bien équilibrée tombe au plus 3 fois sur pile si on la lance 10 fois.
</div>
</li>
<p>
<li> des macros permettant de générer des réalisations de variables aléatoires.  </li>
Exemples &#58;
<ul>
<li> stat/empiric pour générer des réalisations d'une variable aléatoire discrète dont on spécifie les coefficients &#58;
<pre class = "cc"> 
$m_text$m_lbrac jeu = $m_slib(stat/empiric 5,[2/3,1/3],[pile,face]) $m_rbrac </pre><div class = "aide">simule un jeu de pile ou face avec une pièce déséquilibrée. <BR>
Résultat  &#58;
<a name="jeu">
!readproc slib/stat/empiric 5,[2/3,1/3],[pile,face] 
!set tmp0=$slib_out
!set m_jeu=$(tmp0)

 
$m_jeu 
!read primitives.phtml 6, reload, rechargez, jeu, jeu 
.</div>
</li>
<li> <pre class = "cc"> $m_text$m_lbrac A = $m_slib(stat/normal 10,0,2) $m_rbrac </pre>
<div class = "aide">génère 10 réalisations d'une variable aléatoire de loi gaussienne d'espérance 0 et d'écart-type 2.</div>
</li>
<li>
stat/posdiscretelaw pour générer les coefficients d'une loi de probabilité sur un ensemble fini dont les  coefficients sont strictement positifs
<pre class = "cc"> 
$m_text$m_lbrac proba = $m_slib(stat/posdiscretelaw 7,10,Q) $m_rbrac </pre>
<div class = "aide">  ici \proba sera une liste de 7 coefficients 

!insmath p_1,...,p_7
 tels que 
!insmath p_i
 $m_in $m_NN* pour tout 
!insmath i
 et 
!insmath p_1+...+p_7=1
. 
</div>
</li>
</ul>
</li>
</ul>

