\embed{definition}{ } \link{fichiernextstep0}{Le fichier}

    \text\lbrac a = \randint(3..12) \rbrac
    \integer\lbrac b = \\a^2 \rbrac \text\lbrac nstep = r1 \rbrac
    \nextstep\lbrac \\nstep \rbrac

La variable `\\nstep` contient la question demandée à l'étape suivante : initialisation à la question 1, ici

    \text\lbrac commentaire= \rbrac

    \statement\lbrac Calculez  \(\\a^2).
    \\commentaire
    \\embed\lbrac r \\step \rbrac  \rbrac

    \answer\lbrac \rbrac\lbrac \\rep1 \rbrac\lbrac type=numeric \rbrac
    \answer\lbrac \rbrac\lbrac \\rep2 \rbrac\lbrac type=numeric \rbrac
    \answer\lbrac \rbrac\lbrac \\rep3 \rbrac\lbrac type=numeric \rbrac
    \text\lbrac rep = \\rep1, \\rep2, \\rep3 \rbrac
    \integer\lbrac H = \\rep[\\step - 1] \rbrac

Pendant le statement, `\\step` a été incrémentée de 1. La première fois qu'on passe ici, elle vaut donc 2. Comme on veut utiliser la réponse `r1`, on doit donc prendre `\\step - 1`

    \text\lbrac nstep = \\H != \\b and \\step<=3 ?  r \\step: \rbrac

On redéfinit `\\nstep` comme étant la question suivante si la réponse de l'étudiant est fausse et qu'il a essayé au plus 2 fois. Sinon, on vide la variable `\\nstep` (attention au `:`)

    \condition\lbrac \rbrac\lbrac \\b = \\rep[1] \rbrac\lbrac option=hide}
    \condition\lbrac \rbrac\lbrac \\b = \\rep[2] or \\b = \\rep[1] \rbrac\lbrac option=hide \rbrac
    \condition\lbrac \rbrac\lbrac \\b = \\rep[3] or \\b = \\rep[1] or \\b = \\rep[2] \rbrac\lbrac option=hide \rbrac

Le rôle des conditions ici est d'éviter que l'exercice s'arrête dès que l'élève a répondu faux ... Il faut cependant faire attention de ne pas le pénaliser s'il a juste tout de suite.

    \text\lbrac commentaire=\\step = 2 and \\H != \\b ? Cela est faux, recommencez. \rbrac
    \text\lbrac commentaire= \\step = 3 and \\H != \\b ? Vous n'avez
    plus le droit qu'à un essai. \rbrac

Le commentaire dépend donc de l'étape. Remarquez qu'on l'a initialisé avant le statement par `\text\lbrac commentaire= \rbrac`

    \feedback\lbrac 1 = 1 \rbrac\lbrac La réponse est \\b \rbrac