Question calculée pour tables de multiplication

Question calculée pour tables de multiplication

par Guillaume Vaslin,
Nombre de réponses : 23

Bonjour,

  • Version Moodle précise : 3.8.2
  • Thème Moodle utilisé : Fordson
  • Version PHP : 7.2
  • Base de données (MariaDB, MySQL, etc.) et version : MySQL 5.6
  • Navigateur web : Safari
J'aimerais générer automatiquement un test pour les tables de multiplication (de 2 à 12). J'ai donc créé une "question calculée" en précisant les variables pour les deux nombres générés "aléatoirement" (dans des valeurs entre 1 et 12) mais je n'arrive pas à faire en sorte que mon test enchaine sur au moins dix ou vingt questions aléatoires à la suite...

Quelqu'un aurait-il une piste s'il vous plaît ? 😉

Merci de votre aide.

Moyenne des évaluations  -
En réponse à Guillaume Vaslin

Re: Question calculée pour tables de multiplication

par Christian Bocquet,
Avatar Moodleurs particulièrement utiles

Bonjour,

Pour cela, créer votre test en l'appelant par exemple "Tables de multiplication", puis déplacer la "question calculée" que vous avez déjà créée dans la catégorie "Défaut pour table de multiplication". Cette catégorie ne comportera donc que cette question, que j'ai appelée dans l'exemple "Exercice de base".

Puis, dans modification du test, cliquer sur "Ajouter une question aléatoire". Dans la fenêtre, comme celle ci-dessous, vous pouvez choisir le nombre de questions aléatoires :


Comme il n'y a que la question de base, en choisissant 10 comme nombre, cela revient à la dupliquer 10 fois.

Christian

Moyenne des évaluations Utile (1)
En réponse à Christian Bocquet

Re: Question calculée pour tables de multiplication

par Jean-Gabriel DEPINOY,
Avatar Moodleurs particulièrement utiles

Bonjour Christian

J'ai des doutes sur cette méthode car il me semble que dans ce cas Moodle refusera d'ajouter ces questions au test au motif qu'il n'y a pas assez de questions pour en choisir 10 au hasard.

Je pense qu'il faut insérer dix fois cette question mais pas comme une question aléatoire.


Moyenne des évaluations Utile (1)
En réponse à Jean-Gabriel DEPINOY

Re: Question calculée pour tables de multiplication

par Guillaume Vaslin,
En effet en ayant demandé 10 questions, j'ai le message d'erreur suivant : "Il n'y a pas assez de questions dans la catégorie 6 pour créer la question Aléatoire (Défaut pour Tables) (14)." ! Mais en même temps je ne peux pas insérer 10 fois la question. Quand je fais la manipulation, rien ne se passe...
En réponse à Guillaume Vaslin

Re: Question calculée pour tables de multiplication

par Joseph Rézeau,
Avatar Développeurs Avatar Développeurs de plugins Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

En effet, la solution proposée par Christian semble fonctionner ; on peut insérer 10 fois une même question aléatoire, même si la catégorie n'en contient qu'une seule.

Mais au moment de faire le test, le message d'erreur signalé par Guillaume s'affiche.

Ce n'est pas très logique. Je m'aperçois que j'avais signalé ce comportement comme un bug MDL-6103 il y a 14 ans déjà.clin d’œil

Donc la solution consiste à dupliquer la question autant de fois que nécessaire (ici x10) dans sa catégorie afin de pouvoir disposer du nombre souhaité de questions aléatoires.

Moyenne des évaluations Utile (2)
En réponse à Joseph Rézeau

Re: Question calculée pour tables de multiplication

par Christian Bocquet,
Avatar Moodleurs particulièrement utiles

Bonjour,

J'ai l'impression qu'une question ne peut pas être répétée à l'identique dans un test et que les questions aléatoires ne pourront être choisies, au moment de la constitution des questions de la tentative, que parmi des questions qui restent disponibles, celles qui n'ont pas encore été ajoutées au test (c'est un peu comme tirer des objets au hasard d'une urne sans remise). Et cela doit être basé sur l'identifiant de la question.
Qu'en pensez-vous ?

Christian

En réponse à Christian Bocquet

Re: Question calculée pour tables de multiplication

par Guillaume Vaslin,
Je confirme, il faut un nombre suffisant de questions aléatoires pour pouvoir alimenter un test faisant appel à ce même nombre de questions aléatoires. J'ai dupliqué ma "question calculée" dans la catégorie deux fois (j'en ai donc 3 maintenant), j'ai demandé 3 questions aléatoires dans le test et là ! Ça fonctionne, merci Joseph !
En réponse à Guillaume Vaslin

Re: Question calculée pour tables de multiplication

par Jean-Gabriel DEPINOY,
Avatar Moodleurs particulièrement utiles
Bonjour Guillaume
Il n'y a pas d'intérêt de choisir 3 questions aléatoires si ta catégorie ne contient que trois questions.
Tes questions utilisent des valeurs aléatoires, donc en les appelant simplement, tu obtiens le résultat souhaité.
En réponse à Jean-Gabriel DEPINOY

Re: Question calculée pour tables de multiplication

par Guillaume Vaslin,
Bonjour Jean-Gabriel,

Je ne m'en sors pas avec ce test qui me paraissait simple au départ... Comment dois-je faire pour réaliser mon test de table de multiplication au plus simple en gérant malgré tout les tables impliquées dans le test et sachant que j'aimerais à chaque test proposer vingt questions ?
En réponse à Guillaume Vaslin

Re: Question calculée pour tables de multiplication

par Emmanuel Curis,
Bonjour,
Une proposition : vous préparez à l'extérieur de Moodle un fichier XML avec toutes les questions que vous voulez, en numérique, vous l'importez dans une catégorie propre et vous faites le choix d'une question aléatoire. S'il y a bien plus de questions que le nombre que vous souhaitez, et si avoir deux fois la même question n'est pas trop gênant, ça devrait fonctionner.
L'avantage de le faire dans du XML, c'est que c'est plus rapide qu'en utilisant l'interface intégrée.

Pour générer le XML facilement, je suis désolé, je vais devoir faire de l'auto-promotion: si vous pouvez installer R, je vous suggère l'utilisation du package SARP.moodle que j'ai développé. Le code pourrait être, pour une table de multiplication, celui joint ; je mets aussi le fichier XML obtenu.
Pour l'essayer, il faut installer SARP.moodle dans R, avec la méthode de votre choix.

N'hésitez pas à me contacter si nécessaire,
Moyenne des évaluations Utile (2)
En réponse à Emmanuel Curis

Re: Question calculée pour tables de multiplication

par Guillaume Vaslin,
Bonjour,

Merci pour votre aide ! En effet votre technique fonctionne. Il ne me reste plus qu'à modifier le fichier .xml pour coller à mon exercice. J'avoue que la génération du XML me paraît encore obscure... je suis totalement étranger à la gestion et l'utilisation de R...
En réponse à Guillaume Vaslin

Re: Question calculée pour tables de multiplication

par Patrick Lemaire,
Avatar Développeurs de plugins Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

Bonjour Guillaume,
Si tu souhaites "remercier" Emmanuel pour cette réponse qui a pu te mettre sur la voie, je t'invite à « Voter "Utile" » lorsque la proposition d'un contributeur t'a aidé, pour guider les prochains vers une résolution de problèmes similaires.
Animation
À ton tour, tu aideras cette communauté 😉

À bientôt,
Patrick

En réponse à Guillaume Vaslin

Re: Question calculée pour tables de multiplication

par Emmanuel Curis,
Dans ce cas, c'est peut-être plus simple que je vous modifie le fichier R et vous renvoie le fichier XML ? Dites-moi juste quelle plage de valeurs sont possibles pour les deux nombres à multiplier et combien de questions au total vous voulez pour tirer ensuite vos 20 questions parmi elles...
Le fichier XML est effectivement peu lisible, et Moodle assez tâtillon sur la syntaxe ;)

Sinon, une possibilité qui limite au maximum l'apprentissage de R : vous préparez vos questions dans un tableur, avec une colonne intitulé « Question » qui contient l'énoncé, une colonne « Réponse » qui contient la réponse, et vous l'exportez en csv (idéalement séparateur de colonnes point-virgule, séparateur décimal virgule).
Ensuite, deux lignes dans R, toujours les mêmes :
library( SARP.moodle )
csv.moodle( file.choose() )

et R vous affichera un sélecteur de fichier pour choisir le fichier csv, puis le convertira en XML. Si tout va bien ;)
Moyenne des évaluations Utile (1)
En réponse à Emmanuel Curis

Re: Question calculée pour tables de multiplication

par Guillaume Vaslin,
Je ne suis pas contre le fait d'apprendre l'utilisation de SARP et R mais je saisis mal le mode d'installation de SARP.Moodle auquel doit visiblement s'intégrer R... apparemment ce n'est pas un plugin Moodle...
En ce qui concerne la plage des deux nombres à multiplier elle va de 1 à 12 (toutes les tables de multiplication jusqu'à 12), théoriquement cela représenterait 144 questions !
Encore merci pour votre aide ! ;)
En réponse à Guillaume Vaslin

Re: Question calculée pour tables de multiplication

par Emmanuel Curis,
Voilà le fichier avec les 144 questions.
SARP.moodle est un module pour R, il ne s'intègre pas dans Moodle mais dans R.
Bonne soirée,
Moyenne des évaluations Utile (1)
En réponse à Emmanuel Curis

Re: Question calculée pour tables de multiplication

par Guillaume Vaslin,
Mille mercis pour ce fichier XML qui va ravir plus d'un élève ! sourire
J'ai téléchargé R et SARP.moodle afin d'essayer de devenir plus autonome n'utilisant votre module ! ;)
Encore merci pour votre aide efficace et rapide comme l'éclair Non
En réponse à Joseph Rézeau

Re: Question calculée pour tables de multiplication

par Joseph Rézeau,
Avatar Développeurs Avatar Développeurs de plugins Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs
Merci Nicolas d'avoir "ressuscité" mon rapport de bogue ! Peut-être que Tim va trouver une solution pour cette "nouvelle fonctionnalité".
En réponse à Joseph Rézeau

Re: Question calculée pour tables de multiplication

par Philippe Touzet,
Bonjour.
Je suis un peu dans le même cas et je ne trouve pas de solution (intelligente).
Je travaille sur les formules P = m * g pour calculer le poids en fonction de la masse et m = P / g pour la masse en fonction du poids.
J'ai donc fait 2 questions calculées (chacune avec 10 valeurs) et j'ai généré un test avec 20 questions sur ces deux questions calculées de base.
Ben pas moyen, message 'erreur pas assez de questions dans la catégorie'.
Ça m'embête de créer 20 questions calculées dans ma catégories qui seront finalement toutes identiques (2 lots de 10 dans mon cas).
Je pourrais dupliquer 10 fois chaque question de base mais imaginons que dans 6 mois je fasse un petite modif dans mon calcul, je dois la répercuter dans les 9 autres...

J'ai tendance à considérer que si on a effectivement une urne sans remise, si j'épuise le nombre de questions dans l'urne, ce n'est pas à moodle de me dire si je remets mes questions dans l'urne et retire les mêmes questions. D'autant que mes questions sont aussi aléatoire. Donc si ce n'est plus aléatoire au niveau du tirage, ça l'est au nveau des valeurs générées pour les jokers.
Il pourrait mettre un avertissement mais pas une interdiction complète.

Merci si vous avez une idée.

Bien cordialement.
En réponse à Philippe Touzet

Re: Question calculée pour tables de multiplication

par Emmanuel Curis,
Bonjour,
J'aurais tendance à faire la même réponse que pour les tables de multiplication : générer des questions numériques dans un fichier XML externe, les placer dans leur propre catégorie (deux catégories ici, une pour P = mg et une pour m = P / g) et tirer au sort dedans.
En cas de modification du calcul : il suffit de modifier le code générant le fichier XML, effacer toutes les questions de ces deux catégories puis réimporter le XML. Plus facile que les modifier une par une dans Moodle…
Évidemment, j'aurais tendance à conseiller SARP.moodle pour faire la génération du XML à partir de R… N'hésitez pas à me contacter pour un coup de main si vous n'êtes pas familier de R…
Bien cordialement,
En réponse à Emmanuel Curis

Re: Question calculée pour tables de multiplication

par Philippe Touzet,
Je pense que cet outil doit être très intéressant mais un peu surdimensionné pour ce que je veux faire. Et je n'ai pas trop envie de m'approprier un nouvel outil qui ne pourrait me servir que dans ce cadre.

J'ai peur aussi que la manipulation d'import puis modification, suppression et ré-import de questions génère des incohérences. S'il y a eu des tests effectués et que les questions sont supprimées, les tests ne retrouveront plus les anciennes questions. Quand on les supprime, elles ne sont pas recréées avec les mêmes identifiants. D'ailleurs il me semble qu'on ne peut pas supprimer une question déjà proposée.

Donc je suis allé "visiter" la table des questions dans la base de données. Et, oh surprise, les questions calculées sont aussi créées "en dur", dans la même catégorie. Donc si je crée une question calculée avec un jeu de 25 valeurs, moodle me crée 26 (1 + 25) questions, dans la même catégorie.
Sauf que quand je veux faire un test aléatoire avec 20 fois ma question calculée, il considère qu'il n'y en a qu'une...C'est bizarre... Il suffirait qu'il aille faire un tirage dans les 25.

Si en plus, pour un test aléatoire, je dois créer 20 questions identiques pour P = m * g, et 25 valeurs calculées pour chacune, ça devient n'importe quoi. Ou alors quelque chose m'échappe.

Pour la modification, un coup de SQL UPDATE et pas de suppression/création donc pas d'incohérence de données. Mais bon... C'est un peu contraire à mes idées. Je pensais juste que moodle pouvait se débrouiller avec ce cas d'utilisation.

Merci en tout cas.
En réponse à Philippe Touzet

Re: Question calculée pour tables de multiplication

par Emmanuel Curis,
Bonsoir,
Pour l'utilité de l'apprentissage de l'outil, je ne peux évidemment pas parler pour vous (je pense que la fonctionnalité de création d'XML à partir de fichiers CSV/Excel pour créer des questions peut être utile à tous, créer une série de QCM un par un dans Moodle reste fastidieux avec l'éditeur de questions, mais j'ai forcément un avis biaisé… J'aurais aussi tendance à imaginer qu'une fois fait pour ce type de question, plein d'autres idées de questions similaires vous viendraient de plus plus complexes en calculs et fines mais je suis optimiste !)

Pour l'aspect des imports-exports : pour le pratiquer régulièrement depuis maintenant quelques années, en lien avec cet outil justement, ça se passe très bien :
— lors de l'effacement, les questions déjà utilisées par un test sont conservées (mais par défaut invisibles) ;
— les autres questions disparaissent bien ;
— les nouvelles questions sont retrouvées par le test sans aucune manipulation à faire, sous réserve qu'elles soient bien tirées au sort dans la catégorie (« question aléatoire ») et pas intégrées « en dur » au quiz et que donc à l'import, les questions se placent bien dans la bonne catégorie (donc bien déduire la catégorie du fichier XML et ne pas changer cette catégorie dans le code de génération du fichier XML).
C'est donc très pratique pour corriger rapidement une erreur détectée lors des essais d'un test sans tout refaire, ni repasser sur chaque question une par une !

Ce que vous décrivez pour les questions calculées fait partie des incongruités qui m'ont conduit à les laisser tomber en faveur de ce système, avec la puissance bien plus grande de choix de calculs…
Bonne soirée,
En réponse à Guillaume Vaslin

Re: Question calculée pour tables de multiplication

par Claude Divoux,
Avatar Moodleurs particulièrement utiles
Bonjour,
Personnellement je duplique une question autant de fois que nécessaire. Dans le cas des tables de multiplication, c'est plutôt rapide et simple.

À toutes fins utiles, ci-joint 27 questions calculées pour les tables de 3 à 12.
3 questions par table
  • version a avec des coefficients faibles de 0 à 4
  • version b avec des coefficients moyens de 5 à 8
  • version c avec des coefficients de 9 à 12
Les élèves (révision en seconde) faisaient l'activité en trois tests identiques
Test 1 en 10 min avec taux de réussite de xx% pour passer au test 2
Test 2 en 7 min avec taux de réussite de xx% pour passer au test 3
Test 3 en 5 min.

Cordialement,
Claude
Moyenne des évaluations Utile (1)