Dans une question calculée, comment afficher une réponse de type nombre binaire signé ?

Dans une question calculée, comment afficher une réponse de type nombre binaire signé ?

par Patrick SIBILLE,
Nombre de réponses : 15

Bonjour,

Dans une question calculée, lors d'une conversion d'une base quelconque vers la base 2, est-il possible d'ajouter un zéro à gauche du résultat (poids fort) de façon obtenir un nombre binaire signé ?

Exemple didactique : 

conversion de (3)10 en binaire est écrit par défaut : (11)2, dans le cadre d'un nombre signé, je voudrais que ce résultat soit affiché avec un zéro à gauche, sous la forme : (011)2. Je voudrais pouvoir afficher la réponse sous forme (avec la bonne syntaxe) : {0 decbin({N})}

Par avance, je vous remercie de vos réponses et vous souhaite à tous une agréable journée.

Cordiales salutations,

Patrick

Moyenne des évaluations  -
En réponse à Patrick SIBILLE

Re: Dans une question calculée, comment afficher une réponse de type nombre binaire signé ?

par Joseph Rézeau,
Avatar Développeurs Avatar Développeurs de plugins Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs
Bonjour Patrick,
Inutile de poster la même question le même jour sur le forum francophone et sur le forum anglophone. Ça s'appelle le cross-posting et c'est contraire à la nétiquette.clin d’œil
En réponse à Joseph Rézeau

Re: Dans une question calculée, comment afficher une réponse de type nombre binaire signé ?

par Patrick SIBILLE,
Bonjour,

merci pour votre retour !
Même si je pense qu'il y a un recouvrement non nul entre les 2 forums, je pensais que ça pouvait être utile de la publier sur les 2 !
Mais si ça ne se fait pas, j'en prends note !
Cordialement,
En réponse à Patrick SIBILLE

Re: Dans une question calculée, comment afficher une réponse de type nombre binaire signé ?

par Séverin TERRIER,
Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs
Bonjour Patrick,

Je ne réponds pas à ta problématique, mais réagis simplement à la remarque de Joseph (que je trouve un peu dur, pour le coup).

Autant je désapprouve(rais) un multi-postage sur plusieurs forums de cet espace francophone, autant poster une fois en français et une fois en anglais ne me semble pas vraiment problématique, parce que les gens qui lisent/voient les deux sont beaucoup moins nombreux.

Mais du coup, à poster en deux langues, autant l'assumer clairement jusqu'au bout, et établir les liens directes d'une langue vers l'autre (et respectivement), afin de permettre facilement à chacun de lire les deux discussions, et ce qui a pu être trouvé de chaque côté clin d’œil

Séverin
Moyenne des évaluations Utile (2)
En réponse à Séverin TERRIER

Re: Dans une question calculée, comment afficher une réponse de type nombre binaire signé ?

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

En effet, Séverin, j'ai été "un peu dur"...

En plus, dans ma réponse je n'avais pas donné le bon lien vers le message posté par Patrick sur le forum Quiz, le voici : https://moodle.org/mod/forum/discuss.php?d=415466#p1674471

Ce message n'a pas encore reçu de réponse, peut-être parce qu'il n'y a pas de solution à la question posée. pensif

En réponse à Séverin TERRIER

Re: Dans une question calculée, comment afficher une réponse de type nombre binaire signé ?

par Patrick SIBILLE,

Bonjour Séverin,

merci pour votre soutien !

En effet, j'ai trouvé que pour un premier contact avec la communauté, le baptême était un peu rude ! J'en ai déduit que l'erreur du débutant n'était pas tolérée !

Bonne soirée,

Patrick

En réponse à Patrick SIBILLE

Re: Dans une question calculée, comment afficher une réponse de type nombre binaire signé ?

par Luiggi Sansonetti,
Avatar Développeurs de plugins Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Titulaires du Moodle Course Creator Certificate Avatar Traducteurs
Bonjour

Il ne faut pas le prendre ainsi, pas de panique clin d’œil

Joseph, qui est un moodleur émérite, a reconnu avoir été "un peu dur" alors qu'il est une crème (au beurre salé car on a la Bretagne en commun 😀)

Il y a es règles de bon usage du forum qui sont souvent peu regardées et/ou appliquées et qui, à force, fatigue les modérateurs et les aidants habitués à rappeler.

Je pense que ces règles ne sont pas suffisamment mise en avant ou accessible, et qu'il est normal de poser directement sa question.
Mais il est prouvé qu'en posant une question déjà bien fournie, détaillée, contextualisée, les réponses sont plus efficaces et ciblées.

Ensuite, quant au multi-postage, la problématique est qu'on risque de perdre les infos, les réponses et ne plus savoir où donner de la tête.
Après, comme le souligne Séverin, ça peut être bénéfique car ça multiplie les réponses et pistes, et le partage de connaissance.

Mais dans ce cas il faut vraiment faire les liens qu'il faut pour que tous s'y retrouvent :
dans le post anglais, dire qu'on a posé la question en fr et inversement

Fans le forum anglais, il y a aussi des règles à respecter dont le cross-posting
Car celui qui cherche à trouver la réponse prend du temps (nous sommes tous des bénévoles passionnés), si la réponse est déjà trouvée ailleurs, il a le sentiment d'avoir œuvré pour rien au final.

Donc ne surtout pas mal prendre les remarques qui sont surtout là pour être constructives et guidantes.

En tout cas, ne jamais désespéré quand on a une problématique qui n'a pas tout de suite de réponse (on approche des fêtes et congés de fin d'année, ne pas l'oublier 😁)

Moyenne des évaluations Utile (2)
En réponse à Patrick SIBILLE

Re: Dans une question calculée, comment afficher une réponse de type nombre binaire signé ?

par Dominique Bauer,
Avatar Développeurs de plugins Avatar Documentation writers Avatar Moodleurs particulièrement utiles
Bonjour Patrick,

Avec la question Calculée, la fonction decbin semble fonctionner pour les valeurs non signées mais pas pour les valeurs signées. Par exemple, decbin(-3) ne donne pas la bonne réponse.

La réprésentation binaire signée ne consiste pas à ajouter un bit mais à utiliser le bit fort comme signe. (11)₂ est une représentation à deux bits tandis que (011)₂ est une représentation à 3 bits. Ce n'est pas la même chose. La représentation non signée 8 bits de (3)₁₀ est (00000011)₂, tout comme la représentaion signée. La représentation signée à complément 2 de (-3)₁₀ à 8 bits est (11111101)₂. À trois bits, c'est (101)₂.

La question « Formules » ne comprend pas de fonction decbin. Cependant, la fonction PHP decbin pourrait facilement y être incorporée dans une prochaine version. La fonction PHP decbin donne la représentation signée à complément 2 avec 32 ou 64 bits selon l'ordinateur sur lequel elle s'exécute. Des représentations à 6, 8, 16 bits pourraient facilement être obtenues.

Cela dit, si vous voulez que le résultat soit affiché avec un zéro ajouté à gauche, mettez simplement dans le Feedback de la réponse quelque chose comme « La représentation binaire signée à 3 bits de ({N})₁₀ est 0{=decbin({N})} ». Notez que les étudiants peuvent saisir indifféremment 11 ou 011 comme réponse.



Moyenne des évaluations Utile (1)
En réponse à Dominique Bauer

Re: Dans une question calculée, comment afficher une réponse de type nombre binaire signé ?

par Patrick SIBILLE,

Bonjour Dominique,

merci pour votre réponse très complète qui rappelle notamment comment coder les nombres en complément à 2 !

Effectivement mon problème est que decbin ne prend pas en charge les nombres signés et que j'utilise cette fonction de façon détournée !

J'emploie déjà la syntaxe N=(0{=decbin({N})})2 pour engendrer un nombre signé positif N dans le texte de la question.

Dans ce contexte de nombres signés, comme vous le signalez fort justement pour l'exemple cité, ce qui me pose vraiment problème c'est que : (11)2 est considéré comme une bonne réponse alors que j'attends (011)2.

Cordialement,

Patrick

En réponse à Patrick SIBILLE

Re: Dans une question calculée, comment afficher une réponse de type nombre binaire signé ?

par Dominique Bauer,
Avatar Développeurs de plugins Avatar Documentation writers Avatar Moodleurs particulièrement utiles
Bonjour Patrick,

Le calcul binaire n'est pas mon domaine et j'ai donc expliqué ma pensée au cas où vous auriez à me corriger.

À ma connaissance, il n'y a aucun type de question qui traite spécifiquement du calcul binaire. Sur le forum quiz anglophone, très peu de discussions portent sur le sujet, ce qui est un peu surprenant. À mon avis, le problème des zéros en tête dans la réponse des étudiants n'est pas résolu.

Vous pourriez 1) utiliser la question Cloze à réponse intégrées avec réponse courte, 2) écrire un plugin dédié au calcul binaire, 3) écrire un petit JavaScript pour vérifier la présence d'un zéro de tête dans la réponse des étudiants (question Calculée ou question Formules), 4) modifier la question Calculée, 5) modifier la question Formules.

Toutes ces solutions pourraient éventuellement fonctionner avec plus ou moins d'efforts. La solution 1) est immédiate mais limitée à une seule valeur, mais vous pouvez toujours créer un jeu de questions aléatoires. La solution 2) en vaut-elle la peine ? Je ne suis pas sûr. La solution 3) est faisable mais pas aussi intéressante que les deux suivantes. La solution 4) est intéressante mais, à mon avis, moins que la suivante. La solution 5) est la plus intéressante pour moi car, à mon avis, la question Formules offre plus de possibilités que la question Calculée. Il faudrait évidemment un peu de temps pour la mettre en oeuvre.
En réponse à Patrick SIBILLE

Re: Dans une question calculée, comment afficher une réponse de type nombre binaire signé ?

par Christian Bocquet,
Avatar Moodleurs particulièrement utiles

Bonjour,

Dans une question "Calculée à choix multiple", on peut mettre en réponse la syntaxe que vous proposez, à savoir : (0{= decbin({N})})₂

La même syntaxe n'est pas acceptée comme formule de réponse dans une question "Calculée".

Exemple avec d'autres propositions fausses :


Christian


En réponse à Christian Bocquet

Re: Dans une question calculée, comment afficher une réponse de type nombre binaire signé ?

par Dominique Bauer,
Avatar Développeurs de plugins Avatar Documentation writers Avatar Moodleurs particulièrement utiles
Bonjour Patrick et Christian,

J'ai préparé, vite fait en quelques minutes, une solution avec la question Formules. Avec quatre bits, il était plus rapide de simplement écrire les 16 représensations binaires de -8 à +7. Évidemment, il sera beaucoup plus élégant d'écrire le petit code pour faire la conversion de décimal à binaire ou, mieux encore, d'utiliser la fonction PHP decbin déjà toute faite, mais cela prendra un peu plus de temps.

La question suivante fonctionne correctement pour la représentation binaire signée d'un entier choisi au hasard entre -8 à +7 : https://moodleformulas.org/course/view.php?id=78&section=49 ↗. L'étudiant doit saisir les zéros de tête.


Moyenne des évaluations Utile (2)
En réponse à Dominique Bauer

Re: Dans une question calculée, comment afficher une réponse de type nombre binaire signé ?

par Dominique Bauer,
Avatar Développeurs de plugins Avatar Documentation writers Avatar Moodleurs particulièrement utiles
P.s. L'étudiant doit répondre dans quatre champs de saisie distincts et rapprochés, un pour chaque bit. Dans chaque champ, la saisie est limitée à un seul caractère qui ne peut être que 0 ou 1.
En réponse à Dominique Bauer

Re: Dans une question calculée, comment afficher une réponse de type nombre binaire signé ?

par Patrick SIBILLE,
Bonjour Dominique et Christian,

Merci pour vos intéressantes contributions !

Pour mieux comprendre ma problématique, j'ajoute quelques éléments. 

J'ai programmé des opérations de ce type (Modifier un glisser-déposer sur texte) mais elles ne sont pas génériques :


Dans le cas de la question calculée, j'engendre des opérandes tirés aléatoirement dans un intervalle choisi et j'effectue une addition de manière à ce que le résultat soit positif. Exemple :


La réponse est considérée comme correcte alors qu'il manque le Zéro de poids fort !

Encore une fois, je vous remercie de vos précieuses suggestions.

Cordialement,

En réponse à Patrick SIBILLE

Re: Dans une question calculée, comment afficher une réponse de type nombre binaire signé ?

par Christian Bocquet,
Avatar Moodleurs particulièrement utiles

Bonjour,

La question de type "Calculée" ne semble accepter comme réponse que des nombres obtenus suite à un calcul avec les fonctions disponibles. Si bien que si l'étudiant répond 0111101 ou 111101, ce type de question acceptera l'une ou l'autre réponse comme correcte.

Il faudrait donc utiliser un type de question qui accepte comme réponse une chaîne de caractères (question de type "Réponse courte" ou "Cloze") ou installer un plugin tiers comme "Formules" (voir le message de Dominique) ou "STACK".

Problème : pouvez-vous installer des plugins tiers sur la plateforme que vous utilisez ? Si oui, il faudrait peut-être ouvrir un nouveau fil de discussion en indiquant le type de question choisi.

Bonne fin d'année 2020.

Christian