 <b>Wiskundige uitdrukking.</b>(naam: <span class="tt wims_code_words">algexp</span>, <span class="tt wims_code_words">litexp</span> en <span class="tt wims_code_words">formal</span>)<br>
Het leerling antwoord is een wiskundige uitdrukking en zal worden vergeleken met het correcte antwoord
aan de hand van verscheidene kriteria.
<br>Meerdere goede antwoorden kunnen worden gedeklareerd: gescheiden door komma's.
!! TODO_lang
 It is highly recommended that the good answer given is written by the programmer
 in the mathematical form understood by computation software.
 In particular, a letter other than <span class="tt">x,y,z</span> in front of a parenthesis will be interpreted as
 a function: <span class="tt">u(x+1)</span> is the value of the function <span class="tt">u</span> at the point
 <span class="tt">x+1</span>, while <span class="tt">(u+1)(x+1)</span> and <span class="tt">x (u+1)</span>
 are polynomials in 2 variables <span class="tt">u</span> and <span class="tt">x</span>, and <span class="tt">u*(u+1) </span> is a polynomial in <span class="tt">u</span>.

<p>
Bij het type <span class="tt wims_code_words">algexp</span> (algebra&iuml;sche expressie),
gelden bijvoorbeeld de volgende beperkingen:<br>
(x+1)(x-1) wordt niet geaccepteerd als goed, als het goede antwoord x^2-1 is.<br>
sin(x)^2+cos(x)^2 wordt niet geaccepteerd als correct, als het goede antwoord 1 is<br>
Wel wordt x-y*y en -y^2+x als gelijkwaardig beschouwd.
</p>

<p>
Bij het type <span class="tt wims_code_words">litexp</span> (letterlijke expressie),
wordt het leerling antwoord letterlijk vergeleken met het correcte antwoord.
Er wordt geen algebra&iuml;sche "versimpeling" toegepast. Bijvoorbeeld:<br>
3/2 is niet gelijk aan 6/4.<br>
echter 2x en 2*x zijn wel gelijk.<br>
Spaties tellen niet mee bij het vergelijken.
 <br>
!! TODO_lang
Il est possible de préciser des mots d'option permettant de spécifier l'analyse syntaxique
(uniquement pour le type <span class="tt wims_code_words">litexp</span>
et pour un polyôme en une variable à coefficients entiers).
!let old=$wims_backslash_insmath
!let wims_backslash_insmath=yes
<ul>
  <li><span class="tt wims_code_words">polexpand</span> Il s'agit de tester une réponse qui est un polynôme de \(\ZZ[X]) sous forme développée. Avec le comportement suivant :
    <ul>
      <li>Chaque terme doit être simplifié : pas de \(3\times x\times x).</li>
      <li>Les coefficients doivent être calculés : pas de \(3\times 2 \times x^2).</li>
      <li>L'expression doit être réduite : pas de \(2x+5x^2+3x).</li>
      <li>Pas de parenthèse.</li>
      <li>Pas de symbole divisé.</li>
      <li>Il n'est pas utile de fournir la bonne réponse développée : elle sera automatiquement construite à partir de l'expression fournie.
          Cependant, vous pouvez le faire si vous désirez voir afficher une forme spéciale comme bonne réponse.</li>
      <li>Les écritures \(x^0), \(x^1) ne sont pas acceptés.</li>
      <li>Pour un monôme, la constante doit être placée avant la variable : \(x\times 12) n'est pas accepté pour \(12x).</li>
      <li>Un message adapté est affiché en cas d'erreur d'écriture.</li>
    </ul>
  </li>
  <li><span class="tt wims_code_words">polfactor</span> Il s'agit de tester une réponse qui est un polynôme de \(\ZZ[X]) sous forme factorisée. Avec le comportement suivant :
    <ul>
      <li>Les formes non factorisées sont repérées : par exemple \(x^2+2x+1) pour \((x+1)^2).</li>
      <li>Tolérence au niveau du signe - : par exemple les réponses \((x+1)(2x+3)), \(-(-x-1)(2x+3)), \((-x-1)(-2x-3)) et \(-(x+1)(-2x-3)) sont acceptées.</li>
      <li>Les expressions qui ne sont pas des produits sont repérées et l'opération qui pose problème est mise en relief.</li>
      <li>Chaque facteur doit respecter les règles des expressions développées/réduites énoncées plus haut.</li>
      <li>Repérage de répétition de facteurs proportionnels : par exemple \((x-2)(2-x)) sera refusé à la place de \(-(x-2)^2).</li>
      <li>Chaque facteur doit être de contenu inversible dans \(\ZZ).</li>
      <li>Un facteur égal à 1 est signalé comme inutile</li>
      <li>Un seul facteur constant est accepté par défaut. \(2*3*(x+3)) sera refusé à la place de \(6(x+3)).</li>
      <li>En cas d'utilisation du mot d'option <span class="wims_code_words">factorcontent</span>, le contenu du polynôme doit lui aussi être factorisé. \(6*(x+3)) sera refusé à la place de \(2*3*(x+3)).</li>
      <li>Il n'est pas utile de fournir la bonne réponse factorisée : elle sera automatiquement construite à partir de l'expression fournie.
         Cependant, vous pouvez le faire si vous désirez voir afficher une forme spéciale comme bonne réponse.</li>
      <li>Un message adapté est affiché en cas d'erreur d'écriture.</li>
     </ul>
  </li>
</ul>
!let wims_backslash_insmath=$old
<p>
Bij het type <span class="tt wims_code_words">formal</span> (formal expression) is geschikt voor het exact numerieke vergelijk.<br>
Dit antwoordtype is gelijk aan <span class="tt wims_code_words">numeric</span> , met als verschil dat er geen "afrondingen" worden getollereerd.
</p>
