Accueil › Forums › Programmation WIMS › Programmation d’exercices OEF › type de réponse › Répondre à : type de réponse
Bonjour,
comme le dit Paul, le type « raw » ne fait rien et il faut donc prévoir toutes les bonnes réponses qui seront analysées sous conditions comme l’a proposé Marie-Joëlle. Ainsi, si l’élève répond =-4+2*A2+2*A2^2 quand l’expression est 2x²+3x-4, il faut que le serveur accepte sa réponse. La liste de toutes les bonnes réponses est donc assez longue.
Plutôt que de dresser la liste de toutes les bonnes réponses, on peut vérifier d’abord que la formule commence bien par un = puis simplifier la différence entre le polynôme donné et le polynôme constitué par la réponse de l’élève en retirant avant le = et en remplaçant les A2 par des x. L’utilisation de Pari/GP pour la simplification et comparaison de polynômes est alors très utile.
En gardant le code proposé plus ou moins quelques lignes :
## ajout des * pour utilisation dans Pari/GP
\text{expres=\a[1]*x^2\sign1\a[2]*x\sign2\a[3]}
## à cause de la ligne précédente
\text{rep1=wims(replace internal x by A2 in \expres)}
## déclaration de variables qui seront utilisées après le statement pour les conditions
\text{first=}
\text{formule=}
\text{test=}
\statement{......}
## après le statement
\answer{}{\rep}{type=raw}
\text{first=wims(char 1 of \rep)}
\text{formule=wims(char 2 to -1 of \rep)}
\text{formule=wims(replace internal A2 by x in \formule)}
## test est un booléen qui vaut 1 si les 2 expressions sont identiques, 0 sinon
\text{test=pari(\formule-(\expres)==0)}
\condition{La formule est correcte }{(\first issametext =) and (\test=1)}
\solution{ Une bonne réponse est \good1 ou \good2}
Remarque : les variables définies après le statement permettent même de proposer des feedbacks à l’élève (oubli du = ou erreur de syntaxe s’il manque un * entre un coeff et A2…).
- Cette réponse a été modifiée le il y a 2 années et 11 mois par Gilles Marbeuf.
- Cette réponse a été modifiée le il y a 2 années et 11 mois par Olivier. Raison: formattage du code
Gilles