\documentclass[a4paper,11pt]{article}

\usepackage[lang=FR,nowatermark,ordre]{automultiplechoice} 
\usepackage{libertinus-otf}

\begin{document}

\element{dependance}{
    \begin{question}{Question-1}\bareme{b=2}
        % C'est la première question, on laisse AMC gérer la note de cette question sans formule,
        % les variables QAX ne servent qu'à partir de la question suivante
        % Attention, un default.XXX dans cette question n'initialise PAS les variables globales définies dans cette question,
        % Curieusement, il faut les initialiser dans la question suivante par un default.XXX et cette initialisation
        % n'écrase pas la valeur définie ici par un setglobal. 
        Quelle est la solution $x_0$ de $x-1=3$ ?
        \begin{reponseshoriz}
            \bonne{$x_0=4$}    \bareme{setglobal.QAA=1}
            \mauvaise{$x_0=1$} \bareme{setglobal.QAB=1}
            \mauvaise{$x_0=3$} \bareme{setglobal.QAC=1}
        \end{reponseshoriz}
        % Mauvaise idée de modifier une seule et même variable dans les différentes réponses avec simplement des valeurs différentes : 
        % si plusieurs sont cochées (l'élève a fait n'importe quoi, il n'y a pas de cohérence à trouver ensuite),
        % c'est la valeur dans la dernière réponse cochée décrite dans le code qui est choisie
        % (même si les réponses sont mélangées et apparaissent dans un ordre différent sur la copie).
        % On ne peut alors pas faire la différence avec le cas où seule cette dernière réponse du code est cochée
        % (l'élève s'est trompé, mais on peut vérifier la cohérence des réponses suivantes).
        % Il faut donc mettre une variable différente pour chaque réponse, pour pouvoir faire des tests subtils.
    \end{question}
    \begin{question}{Question-2}\bareme{
            default.QAA=0,default.QAB=0,default.QAC=0,          % On initialise les variables globales précédentes si elles n'ont pas reçu de valeur
                                                                % sinon les formules sont ignorées et donnent 0
            default.QBA=0,default.QBB=0,default.QBC=0,          % On initialise les variables locales
            formula=(QAA+QAB+QAC != 1               ? 0 : 	% On teste d'abord qu'il n'y a eu qu'une seule réponse à la question d'avant sinon 0
                         QAA+QBA == 2               ? 2 : 	% La bonne réponse à 2 pts
                         QAB+QBB == 2 || QAC+QBC==2 ? 1 : 0 )}  % Réponses cohérentes avec l'erreur précédente 1 pt seulement
        % Comme c'est une question simple, le cas de plusieurs réponses cochées ou aucune force la note à 0, donc ce n'est pas à gérer dans la formule.
        Quel en est le carré ?
        \begin{reponseshoriz}
            % set.QBX        rend QBX accessible uniquement pour cette question
            % setglobal.QBX  rend QBX accessible uniquement pour les questions suivantes
            % Il faut donc écrire les deux si on veut s'en servir dans cette question ET dans les suivantes
            \bonne{$x_0^2=16$}   \bareme{set.QBA=1,setglobal.QBA=1}
            \mauvaise{$x_0^2=1$} \bareme{set.QBB=1,setglobal.QBB=1}
            \mauvaise{$x_0^2=9$} \bareme{set.QBC=1,setglobal.QBC=1}
        \end{reponseshoriz}
    \end{question}
    \begin{question}{Question-3}\bareme{
            default.QBA=0,default.QBB=0,default.QBC=0, 	         % On initialise les variables globales précédentes si elles n'ont pas reçu de valeur
            default.QCA=0,default.QCB=0,default.QCC=0,           % On initialise les variables locales
            formula=(QBA+QBB+QBC != 1                 ? 0 :      % On teste d'abord qu'il n'y a eu qu'une seule réponse à la question d'avant sinon 0 
                         QBA+QCA == 2                 ? 2 :      % La bonne réponse à 2 pts 
                         QBB+QCB == 2 || QBC+QCC == 2 ? 1 : 0 )} % Réponses cohérentes avec l'erreur précédente 1 pt seulement
        Quelle est la solution $y_0$ de $y-x_0^2=-1$ ?
        \begin{reponseshoriz}
            \bonne{$y_0=15$}    \bareme{set.QCA=1}
            \mauvaise{$y_0=0$}  \bareme{set.QCB=1}
            \mauvaise{$y_0=8$}  \bareme{set.QCC=1}
        \end{reponseshoriz}
    \end{question}
}

\setdefaultgroupmode{fixed}

\exemplaire{17}{

    \begin{center}
        \huge{\textbf{\textsc{Test dépendance entre questions}}}\\[1.5ex]
    \end{center}

    \bigskip
    \champnom{}

    \bigskip
    \cleargroup{qcm}
    \copygroup{dependance}{qcm}
    \restituegroupe{qcm}
}
\end{document}
