UP PREVIOUS NEXT TOP

5.4 Traitement des réponses numériques

En ce qui concerne la modalité de réponse, les réponses numériques s'apparentent à des réponses de type 'texte': le sujet doit taper un nombre au clavier, éventuellement intégré parmi d'autres caractères (par exemple, si le sujet doit indiquer les unités). Par contre, l'analyse de ces réponses repose sur des comparaisons arithmétiques (=, <, >,...) qui ne sont pas prises en charge par le processus d'analyse de réponse de type texte. Seule les réponses de type 'condition' permettent d'évaluer de tels prédicats. Aussi, le traitement des réponses numériques doit comporter deux étapes:

1) Le concepteur doit prévoir une réponse texte quelconque (pattern = *). Authorware réalise une pré-analyse de la réponse au cours de laquelle le premier nombre identifié est stocké dans la variable-système 'NumEntry'. Si la réponse contient plusieurs nombres, le second est stocké dans 'NumEntry2' et l'éventuel troisième nombre dans 'NumEntry3'. La variable 'numcount' indique combien de nombres ont été identifiés dans la réponse du sujet. Un nombre est une suite ininterrompue de chiffres. Dans la réponse '1 200', le système identifiera deux nombres 1 et 200, sauf si l'auteur a demandé au pattern matcher d'ignorer les blancs.

2) Les classes de réponses seront ensuite définies par rapport à ces variables dans des réponses de type 'condition'. Par exemple, si le sujet doit indiquer un nombre compris entre 100 et 200, le test sera 'NumEntry >= 100 & NumEntry <= 200'. Autre exemple, si le sujet doit entrer trois nombres en ordre croissant, le prédicat définissant la réponse correcte sera:

NumEntry < NumEntry2 & Numentry2 < NumEntry3.

La structure de réponse est identique à celle décrite précédemment. Elle est simplement précédée par une étape permettant au sujet d'entrer sa réponse. Cet algorithme est illustré par la partie du programme 'Domos' qui concerne la préparation d'un bain. Pour produire un feed-back de reformulation, on peut tester si l'élève a bien introduit un nombre dans sa réponse grâce à la variable-système 'NumCount'. Celle-ci indique le nombre de nombres identifiés dans la réponse de l'utilisateur. Cette variable vaut 0 si l'utilisateur n'a introduit aucun nombre. Il convient alors d'adresser un message pour réponse non valable tel que "Veuillez répondre en introduisant un nombre."