le corrigé ne correspond pas au sujet

Added by Paul Robesson 18 days ago

[Liquid Syntax Error] Variable '{{black}' was not properly terminated with regexp: /\}\}/
Bonjour, J'ai fait passer un QCM à 130 élèves de 5e (avec deux collègues). Je me suis bien éclaté pour la constitution des sujets puisque j'y ai integré beaucoup d'aléatoire. Trop ? J'en ai peur... En tout cas, je me retrouve avec un corrigé qui ne correspond pas au sujet, et donc une correction incohérente, et donc des résultats faux... Le problème se situe dans la dernière question, qui va avec la roue au dessus. J'imagine que je ne peux plus sauver les meubles maintenant, mais j'aimerais comprendre d'où vient le problème... ci-dessous le code générant la roue, et le code générant la question : @Lors d'un jeu, on lance la roue suivante, et on regarde la case pointée par la flèche lorsqu'elle s'arrête. \medskip \FPeval{\nbcases}{clip(round(random*12+10,0))} \FPeval{\anglerandom}{random*360} \pgfmathdeclarerandomlist{MyColors}{{black}{black!50}{white}} \FPeval\noires{clip(0)} \FPeval\grises{clip(0)} \FPeval\blanches{clip(0)} \gdef\nbnoires{0} \gdef\nbblanches{0} \gdef\nbgrises{0} \begin{minipage}{.3\linewidth} \begin{tikzpicture}[scale=1,remember picture] \tkzDefPoints{0/0/A,3/0/B} \tkzCercle{A}{B} \multido{\i=0+1}{\nbcases}{ \tkzDefShiftPoint[A](\fpeval{360*(\i)/\nbcases+\anglerandom}:3){A\i} \ifthenelse{\equal{\i}{0}}{\def\valcoul{white}}{ \ifthenelse{\equal{\i}{3}}{\def\valcoul{black}}{ \ifthenelse{\equal{\i}{5}}{\def\valcoul{black!50}}{ \pgfmathrandomitem{\valcoul}{MyColors} }}} \tkzFillSector[rotate,color=\valcoul](A,A\i)(360/\nbcases) \tkzDefShiftPoint[A](\fpeval{360*\i/\nbcases +180/\nbcases+\anglerandom}:2.3){B\i} \ifthenelse{\equal{\valcoul}{black}}{ \FPeval\noires{clip(noires+1)} \expandafter\gdef\expandafter\nbnoires\expandafter{\noires} \draw(B\i) node[color=white]{$\fpeval{\i+1}$};} {\draw(B\i) node[color=black]{$\fpeval{\i+1}$}; \ifthenelse{\equal{\valcoul}{white}}{ \FPeval\blanches{clip(blanches+1)} \expandafter\gdef\expandafter\nbblanches\expandafter{\blanches}} {\FPeval\grises{clip(grises+1)} \expandafter\gdef\expandafter\nbgrises\expandafter{\grises}} \tkzDrawSegment[color=black!80](A,A\i)} } \tkzDefShiftPoint[A](90:2.8){B} \tkzDefShiftPoint[B](75:.5){C} \tkzDefShiftPoint[B](105:.5){D} \tkzDrawPolygon[fill=black](B,C,D) \tkzDrawPolygon[color=white,very thick](B,C,D) \tkzDrawPolygon[color=black,very thin](B,C,D) \end{tikzpicture} \end{minipage} @ et la question : @\begin{questionmult}{35} \bareme{formula=,e=0,v=0,b=.5,m=0,p=-100,d=0} Parmi ces évènements, lequel est le plus probable ? (si plusieurs sont à égalité les cocher tous) \FPeval\nbsup{\nbcases-15} %\def\prob\fpeval{max(\nbnoires , \nbblanches , \nbgrises , \nbsup , 5)} \expandafter\def\expandafter\prob\expandafter{\fpeval{max(\nbnoires , \nbblanches , \nbgrises , \nbsup , 5)}} \begin{reponseshoriz} \ifthenelse{\equal{\prob}{\nbnoires}}{\bonne{Tomber sur une case noire.}}{\mauvaise{Tomber sur une case noire.}} \ifthenelse{\equal{\prob}{\nbblanches}}{\bonne{Tomber sur une case blanche.}}{\mauvaise{Tomber sur une case blanche.}} \ifthenelse{\equal{\prob}{\nbgrises}}{\bonne{Tomber sur une case grise.}}{\mauvaise{Tomber sur une case grise.}} \ifthenelse{\equal{\prob}{\nbcases-15}}{\bonne{Tomber sur un numéro strictement supérieur à 15.}}{\mauvaise{Tomber sur un numéro strictement supérieur à 15.}} \ifthenelse{\equal{\prob}{5}}{\bonne{Tomber sur un numéro inférieur ou égal à 5.}}{\mauvaise{Tomber sur un numéro inférieur ou égal à 5.}} \end{reponseshoriz} \end{questionmult}@

DOC-sujet.pdf (198.7 kB)

DOC-corrige.pdf (112.6 kB)


Replies (10)

RE: le corrigé ne correspond pas au sujet - Added by Alexis Bienvenüe 18 days ago

Pouvez-vous joindre un fichier source complet minimal qui montre votre problème ? Cela nous aidera pour faire des tests…

RE: le corrigé ne correspond pas au sujet - Added by Paul Robesson 18 days ago

aie, je vois que ce n'est pas très lisible, j'en suis désolé je n'ai pas réussi à intégrer le code proprement, et je ne sais pas éditer...

ci-joint le fichier source, la roue est faite dans les lignes 116 à 162, et la question dans les lignes 223 à 241.

J'utilise mes packages perso IncipitQCM et selectnrandom ci-joint pour le compiler, mais il ne me semble pas que ces packages soient nécessaires pour les parties en question. (juste tkz-euclide)

source.tex (9.5 kB)

IncipitQCM.sty (5.9 kB)

selectNrandom.sty (1.2 kB)

RE: le corrigé ne correspond pas au sujet - Added by Paul Robesson 17 days ago

Veuillez m'excuser j'ai encore fait une bêtise. Ce n'est pas le fichier corrigé mais le fichier correction individuelle qu'il me fallait vous montrer.

Je n'ai pas trouvé comment éditer un message donc je le mets ici :

RE: le corrigé ne correspond pas au sujet - Added by Frédéric Bréal 15 days ago

Ça ne compile pas chez moi.

Pouvez-vous joindre un fichier source complet minimal qui montre votre problème ? Cela nous aidera pour faire des tests…

RE: le corrigé ne correspond pas au sujet - Added by Paul Robesson 12 days ago

Je viens de vérifier, chez moi il compile sans problème, et il me semble que je n'utilise pas d'autre package personnel que les deux joints ci-dessus.
qu'est-ce qui coince dans le log ?

RE: le corrigé ne correspond pas au sujet - Added by Frédéric Bréal 12 days ago

Les paquets ProfCollege et shortlst doivent être commentés et après ça je dois commenter \melangegroupe{categorie3}\copygroup{categorie3}{tout}.

RE: le corrigé ne correspond pas au sujet - Added by Alexis Bienvenüe 12 days ago

Je n'ai pas essayé chez moi mais il me semble que les commandes de randomisation de pgf utilisent une graine qui dépend du temps.
AMC compile votre sujet à plusieurs reprises : pour préparer les documents de travail, pour extraire le barème, et autres. Pour que tout fonctionne correctement, il est essentiel que la compilation fournisse le même résultat à chaque fois. Donc tous les générateurs pseudo-aléatoires doivent être initialisés avec une graine constante. Pour la paquet fp, la graine est fixe par défaut (mais on peut la choisir avec FPseed). Avec pgf, la graine par défaut est \time×\year, ce qui fait que deux compilations du même fichier source donneront des résultats différents… Il faut donc fixer explicitement la graine avec quelque chose comme \pgfmathsetseed{123456789} au tout début du fichier source (mettre le nombre que vous voulez mais ne pas le modifier après).

RE: le corrigé ne correspond pas au sujet - Added by Frédéric Bréal 11 days ago

Si c'est un problème de graine, une explication est ici

RE: le corrigé ne correspond pas au sujet - Added by Paul Robesson 10 days ago

Bonjour, et merci de votre aide !
j'ai réussi à recalculer la graine pgf, et donc à regénérer le devoir à l'identique mais avec le bon corrigé, et donc à refaire passer les copies dans le logiciel !

PS : à savoir (j'ai un peu bugué dessus) pour calculer la graine, c'est le nombre de minutes entamées : à 10:12:23 le \time vaut 613 et non 612 !

(1-10/10)