Accueil › Forums › Programmation WIMS › Programmation d’exercices OEF › Exercices à étapes
- Ce sujet contient 4 réponses, 2 participants et a été mis à jour pour la dernière fois par
admin_r00t, le il y a 10 années et 2 mois.
-
AuteurMessages
-
-
19 mars 2013 à 19:03 #1376
bernadette
Maître des clés::On m’a posé cette question par mail.
Je voudrais pouvoir constituer un exercice comportant une question 1 puis une question 2.
Dans la question 2, l’énoncé est différent suivant la réponse à la question 1.
Dans le premier énoncé, 1 réponse est attendue.
Dans le second, 2 réponses sont attendues. Or dans ce cas, la deuxième réponse n’est pas prise en compte par wims. Comment y remédier ?\text{etape=r1}
\nextstep{\etape}
\integer{x=random(2..8)}
\integer{y=random(2..8)}\real{rep1= \x+\y}
\real{rep2= \x*\y}
\real{rep3= \x-\y}
\real{rep4= \x-\y+1}
\real{rep1=round(\rep1*10)/10}
\real{rep2=round(\rep2*10)/10}
\real{rep3=round(\rep3*10)/10}
\real{rep4=round(\rep4*10)/10}\statement{On donne x = \x et y = \y<br /><br />
\if{\step=1}{
<p> Calculez la somme : x + y <br />
Réponse : \embed{reply1,10}
</p>
}
\if{\step=2 and \etape=r2}{Calculez le produit : x * y <br />
Réponse : \embed{reply2,10}
}
\if{\step=2 and \etape=r3}{Calculez la différence : x – y <br />
Réponse : \embed{reply3,10}<br />
et ajouter 1 : <br />
Réponse : \embed{reply4,10}
}
}\answer{}{\rep1}{type=algexp}
\answer{}{\rep2}{type=algexp}
\answer{}{\rep3}{type=algexp}
\answer{}{\rep4}{type=algexp}\text{etape=}
\if{ \step = 2 and \rep1>10}{
\text{ etape= r2}}
\if{ \step = 2 and \rep1<=10}{
\text{ etape= r3}
} -
19 mars 2013 à 19:07 #1377
bernadette
Maître des clés::Le code soumis était presque correct. Voici une manière de le corriger
Une petite remarque : si on l’utilise, on s’aperçoit que quand les réponses ont été données, il n’y a plus l’énoncé. C’est donc mieux de faire des parties d’énoncé qui seront valables si \step>=1 par exemple.
Cordialement
\text{etape=r1}
\nextstep{\etape}\integer{x=random(2..8)}
\integer{y=random(2..8)}\real{rep1= \x+\y}
\real{rep2= \x*\y}
\real{rep3= \x-\y}
\real{rep4= \x-\y+1}
\real{rep1=round(\rep1*10)/10}
\real{rep2=round(\rep2*10)/10}
\real{rep3=round(\rep3*10)/10}
\real{rep4=round(\rep4*10)/10}\statement{On donne x = \x et y = \y<br /><br />
\if{\step=1}{
<p> Calculez la somme : x + y <br />
Réponse : \embed{reply1,10}
</p>
}
\if{\step=2 and \etape=r2}{Calculez le produit : x * y <br />
Réponse : \embed{reply2,10}
}
\if{\step=2 and r3 isitemof \etape}{Calculez la différence : x – y <br />
Réponse : \embed{reply3,10}<br />
et ajouter 1 : <br />
Réponse : \embed{reply4,10}
}
}\answer{}{\rep1}{type=algexp}
\answer{}{\rep2}{type=algexp}
\answer{}{\rep3}{type=algexp}
\answer{}{\rep4}{type=algexp}\text{etape=}
\if{ \step = 2 and \rep1>10}{
\text{ etape= r2}}
\if{ \step = 2 and \rep1<=10}{
\text{ etape= r3,r4}
} -
22 mars 2013 à 08:33 #1378
admin_r00t
Maître des clés::je me permets de solliciter à nouveau votre aide
car mon problème n’est pas encore résolu.
Lorsqu’il y ‘ a plusieurs énoncés en question 2, chaque énoncé dépendant du résultat de la question 1,
et que chaque énoncé comporte plusieurs réponses à donner, comment procéder ?
ci-dessous exemple 2 simplifié pour lequel l’affichage n’est pas satisfaisant.
\text{etape=r1}
\nextstep{\etape}
\integer{x=random(-8..8)}
\real{rep1= \x}
\real{rep2= \x+1}
\real{rep3= \x+2}
\real{rep4= \x+3}
\real{rep5= \x+4}
\real{rep6= \x+5}
\real{rep7= \x+6}
\real{rep8= \x+7}
\statement{On donne x = \x <br /><br />
\if{\step=1}{
x = \embed{reply1,10}<br />
}
\if{\step=2 and \etape=r2 or \step=2 and \etape=r3}{
x +1 = \embed{reply2,10}<br />
x+2= \embed{reply3,10}<br />
}
\if{\step=2 and \etape=r4 or \step=2 and \etape=r5 or \step=2 and \etape=r6}
{
x+3= \embed{reply4,10}<br />
x+4= \embed{reply5,10}<br />
x+5= \embed{reply6,10}<br />
}
\if{\step=2 and r7 isitemof \etape}{
x+6= \embed{reply7,10}<br />
x+7= \embed{reply8,10}
}
}
\answer{}{\rep1}{type=algexp}
\answer{}{\rep2}{type=algexp}
\answer{}{\rep3}{type=algexp}
\answer{}{\rep4}{type=algexp}
\answer{}{\rep5}{type=algexp}
\answer{}{\rep6}{type=algexp}
\answer{}{\rep7}{type=algexp}
\answer{}{\rep8}{type=algexp}
\text{etape=}
\if{ \step = 2 and \rep1<0}{
\text{ etape= r2,r3}}
\if{ \step = 2 and \rep1>0}{
\text{ etape= r4,r5,r6}
}
\if{ \step = 2 and \rep1=0}{
\text{ etape= r7,r8}
}
-
23 mars 2013 à 09:18 #1380
bernadette
Maître des clés::1- Peux-tu préciser ce que tu veux exactement dans
\step=2 and \etape=r2 or \step=2 and \etape=r3
(mettre des parenthèses). Cela fonctionne peut-être comme cela, mais il vaut mieux …
2- La condition \etape=r3 n’est jamais vérifiée, car \etape vaut selon r2,r3 ou r4,r5,r6 ou …
Fais le test r3 isitemof \etape
Que signifie « affichage insatisfaisant » ? Il faut que tu fasses afficher à l’étape donnée avec des embed
exactement toutes les réponses qui sont dans \etape, sinon, elles apparaissent en bas.Bernadette
-
27 mars 2013 à 17:02 #1381
admin_r00t
Maître des clés
-
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.