Réponse courte d'une leçon - besoin d'aide pour une regex

Réponse courte d'une leçon - besoin d'aide pour une regex

par Christian Westphal,
Nombre de réponses : 5
Avatar Moodleurs particulièrement utiles

Bonjour à tous,

j'aurais besoin d'un coup de main pour la syntaxe d'une expression régulière : je ne suis pas du tout à l'aise avec ces trucs là, quel que soit le langage de prog triste

J'ai besoin dans une leçon d'une question à réponse courte. Celle-ci porte sur les mouvement de la Terre et j'aimerai proposer un parcours différent selon la réponse à cette question : 4 parcours prévus pour des réponses de type

24 h | 24 heures  --> suite n°1

23h56min | 23h56min04s | 23 heures 56 minutes | 23h 56' (et là on peut entrevoir plein de variantes triste ) --> suite n°2

365 jours | 366 j | 1 an | un an  --> suite n°3

et surtout (parce que je suis un vrai méchant et que c'est la « bonne » réponse)

la question est mal posée | par rapport à quoi ? | il manque le référentiel | on ne peut pas répondre --> suite n°4


Bien sûr pour la voie 4, moodle ne pourra réagir qu'a quelques mots clés "répondre" "référentiel" "rapport" etc. on est hélas encore assez loin de l'IA pédagogique...

Merci d'avance

Christian


ps : vous avez peut-être deviné, le thème du cours est la différence entre jour solaire et jour stellaire (non je ne rentre pas dans les détails de différence entre jour stellaire et sidéral)

Moyenne des évaluations  -
En réponse à Christian Westphal

Re: Réponse courte d'une leçon - besoin d'aide pour une regex

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

Merci Christian pour ce joli défi de confinement. Mes réponses (en PCRE, le presque standard).

  1. Première suite: "24\s*h(eures?)?" (sans les guillemets)
  2. Deuxième suite: "23\s*h(eures?)?56\s*(min(utes?)?|')" (toujours sans les guillemets). Je constate que tu acceptes le "'" pour désigner les minutes de temps. Je suis encore plus méchant que toi, et n'accepte ce symbole que pour les minutes d'arc clin d’œil
  3. Troisième suite: "(36(5|6)\s*j(ours?)?|(1|une?)\s*an(née)?)" (encore sans les guillemets).
  4. Quatrième suite: je ne suis pas assez créatif pour trouver une solution avec les regex.

Une question pédagogique: est-ce que tu abordes avec les élèves la différence entre jour stellaire et jour sidéral ?

PS. Cet outil est très très très utile (presque indispensable) pour tester les regex: https://regex101.com/.

Moyenne des évaluations Utile (2)
En réponse à Nicolas Martignoni

Re: Réponse courte d'une leçon - besoin d'aide pour une regex

par Christian Westphal,
Avatar Moodleurs particulièrement utiles

Merci beaucoup, je vais tester ça. Pour les réponses rédigées, je ferai des réponses multiples vers la même page de la leçon, ça devrait aller et ajouter une réponse "fourre-tout" du type «moodle n'a pas compris ou ton prof pas assez doué pour le programmer, essaye de réécrire ta réponse»

Les minutes en ', c'est sur que ça me fait pleurer des larmes de sang, ma là, le but de cette leçon (première activité du cours) est d'insister sur la nécessité de définir le référentiel ce qui est quand même la base de la différence entre jour solaire (moyen) et stellaire. De plus en plus je constate que quand un prof pose une question, le plus intéressant n'est pas la réponse des élèves mais le feedback que l'on en fait et le fait que l'élève a été obligé d'y réfléchir... le reste est plus secondaire.

Spoiler : il s'agit de faire fabriquer à mes petits pioupious un nocturlabe pour lire l'heure avec la grande ourse et l'étoile polaire. Dans un épisode précédent, ils ont fait un cadran solaire.

Et comme ce sont de petit 6e (11-12 ans, je ne connais pas les multiples équivalents en Suisse) je suis déjà bien content d'avoir martelé jusqu'à présent la nécessité du référentiel pour décrire un mouvement... la nuance sidéral/stellaire attendra un peu clin d’œil

Les vacances approchent, ils pourront se coucher un peu plus tard et un peu d'astronomie accessible depuis un balcon ne leur fera pas de mal.


En réponse à Christian Westphal

Re: Réponse courte d'une leçon - besoin d'aide pour une regex

par Joseph Rézeau,
Avatar Développeurs Avatar Développeurs de plugins Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs
Bonsoir Christian et Nicolas,
Si je me souviens bien, c'est moi qui ai introduit l'option "expressions régulières" dans la Question à réponse courte du module Leçon de Moodle, il y a ... longtemps. Je suis un grand fan des expressions régulières, qui permettent d'anticiper un grand nombre de réponses, mais c'est loin d'être de l'intelligence artificielle. Il ne faut pas leur en demander trop ! Dans le cas présent, je suis un peu sceptique sur leur utilité, et je suggère plutôt d'utiliser une question à choix multiples, tout "bêtement".
En ce qui concerne l'option 4, là on atteint nettement les limites de l'analyse par expressions régulières. clin d’œil
Le site pour tester les expressions régulières indiqué par Nicolas est très utile.
Nicolas, dans ta proposition pour l'option 3, ces réponses sont acceptées comme correcte :
  • 365 jour (sans s du pluriel)
  • un année

(Bonsoir|Bonne nuit)/i

En réponse à Joseph Rézeau

Re: Réponse courte d'une leçon - besoin d'aide pour une regex

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

> Nicolas, dans ta proposition pour l'option 3, ces réponses sont acceptées comme correctes

Oui, j'en étais conscient, mais je me suis arrêté là dans mon petit mais stimulant exercice sourire

Je suis également un grand fan des expressions régulières, sans doute depuis mon travail de master d'informatique, où j'ai programmé (il y a bien longtemps !) un automate fini (finite-state automaton) pour la reconnaissance des expressions régulières.

En réponse à Nicolas Martignoni

Re: Réponse courte d'une leçon - besoin d'aide pour une regex

par Christian Westphal,
Avatar Moodleurs particulièrement utiles
Merci à vous deux...

Non ce n’est pas un bug de la regex mais une fonctionnalité :clin d’œil je ne fais pas un travail de grammaire mais d'astro. Donc si un élève, un peu dysclavique, tape « un année » j'accepte et j'interprète la réponse.

Ensuite c'est clair que l'on n'est pas ici dans le domaine de l'IA, mais rédiger (même en 5 ou 6 caractères) une réponse n'a pas pour l'élève le même impact : il est vraiment obligé de réfléchir à la question posée et ne peux pas cliquer en lisant très vaguement les consignes ou les propositions.