%%AMC:preprocess_command=prePythonTex4AMC
%%AMC:jobspecific=1
%%AMC:latex_engine=pdflatex --shell-escape

% José OUIN : http://www.joseouin.fr

% Compilation Texmaker : Utilisateur/Commandes utilisateur
%--------------------------
% Shell Python :
% pdflatex --shell-escape -synctex=1 -interaction=nonstopmode %.tex|
% python /usr/share/texlive/texmf-dist/scripts/pythontex/pythontex.py %.tex|
% pdflatex --shell-escape -synctex=1 -interaction=nonstopmode %.tex|
%------------------------
% Copier-coller la ligne ci-dessous dans Utilisateur/Commandes Utilisateur/Editer Commandes Utilisateur
%------------------------
% pdflatex --shell-escape -synctex=1 -interaction=nonstopmode %.tex | python /usr/share/texlive/texmf-dist/scripts/pythontex/pythontex.py %.tex | pdflatex --shell-escape -synctex=1 -interaction=nonstopmode %.tex
%--------------------------

\documentclass[a4paper]{article}

\usepackage[utf8x]{inputenc}    
\usepackage[T1]{fontenc}

\usepackage[francais,bloc,completemulti]{automultiplechoice}    
\usepackage{fancyhdr,amssymb,amsmath}

% ---------- Utilisation de codes Python -----
\usepackage{pythontex}
%----------------------------------------------

\begin{pycode}
import numpy as np
from sympy import *


np.random.seed(12345)
# IMPORTANT : Graine pour la fonction random


def polyv2(b,p,d,q) :
	x=Symbol('x')
	myp = expand((x-b)**p*(x-d)**q)
	return latex(myp)
	
def dp1x(a,b,c) :
    x=Symbol('x')
    y=Symbol('y')
    f=(a*y-1)/(b*x-1)**c

    g=diff(f,x,1)
    g2=g/b
    g3=g*(-1)
    g4=g2*(-1)
	 
    gl = latex(g)
    g2l = latex(g2)
    g3l = latex(g3)
    g4l = latex(g4)

    return np.array([gl,g2l,g3l,g4l])

\end{pycode}

%--------
% DOCUMENT
%--------
\begin{document}

\exemplaire{5}{    

%%% debut de l'en-tête des copies :    

\noindent{\bf QCM  \hfill TEST}

\vspace*{.5cm}
\begin{minipage}{.4\linewidth}
\centering\large\bf Devoir surveillé\\ Mathématiques \end{minipage}
\champnom{\fbox{    
                \begin{minipage}{.5\linewidth}
                  Nom et prénom :

                  \vspace*{.5cm}\dotfill
                  \vspace*{1mm}
                \end{minipage}
         }}


	%%% codage des numéros d'étudiants sur 3 chiffres par les candidats et encadré d'écriture manuelle des noms
	\vspace*{3mm}
	{\setlength{\parindent}{0pt}\AMCcodeGridInt{etu}{3}\hspace*{\fill}
	\begin{minipage}[b]{12.8cm} %12cm

%----------------------------------------

	 \hfill\champnom{\fbox{
	 \begin{minipage}{0.96\linewidth}
		\vspace*{3mm} %3mm
		
		$\leftarrow$ {\footnotesize  Codez votre QCM-Number.\hspace{1.6ex}} || NOM :
		
		{\footnotesize  ( centaines, dizaines et unités )\hspace{2.19ex}} || Prénom :
		
		{\footnotesize  Complétez le cadre ci-contre} $\rightarrow$ \hspace{0.2ex} || Groupe :		
		%\hspace{4.438cm}|| Groupe :
		\vspace*{3mm}
	 \end{minipage}
	    }
	   }
	\hfill  %\vspace{0.25ex}
%-------------------------------------


% texte de presentation 
%TEST125;Jean125;125 ## TEST102;Pierre102;102 TEST114;Marie114;114 ##TEST269;Helen269;269
\begin{center}\em  %\bf {center}

Les questions faisant apparaître le symbole \multiSymbole{} présentent  plusieurs bonnes réponses.
Les autres ont une unique bonne réponse. L'indiquer sur cette feuille en noircissant la case correspondante au stylo à bille noir. Aucune justification n'est demandée.
Les réponses fausses retirent la moitié des points. Une absence de réponse n'enlève pas de points.
Pour rectifier une erreur, utilisez un correcteur "blanc" pour faire disparaître complètement la case noircie par erreur.	Calculatrice autorisée.
 

\end{center}

	\end{minipage}\hspace*{\fill}
	}
	
\vspace{5ex}

%%% fin de l'en-tête




\begin{question}{deriv-px-1}
			
			\pyc{a=np.random.randint(2,7)} % 
			\pyc{b=np.random.randint(2,5)} % 
			\pyc{c=np.random.randint(2,5)} % 
			\pyc{drvx=dp1x(a,b,c)}

On donne la fonction suivante : $f(x,y)= \dfrac{\py{a} y-1}{(\py{b} x-1)^{\py{c}}}$ 

		
Quelle est la dérivée partielle $ \dfrac{\partial f(x,y)}{\partial x}$ ? 

			\begin{reponseshoriz}
				\bonne   {$\py{drvx[0]}$}
				\mauvaise{$\py{drvx[1]}$} 				
 				\mauvaise{$\py{drvx[2]}$}
 				\mauvaise{$\py{drvx[3]}$}
			\end{reponseshoriz}
\end{question}
%---------------
% POLYNOME
%--------------

%--------------
\begin{question}{polynome-v2}
			
			\pyc{b=np.random.randint(2,7)} % racine r = b
			\pyc{p=np.random.randint(2,4)} % p : ordre de mult de b
			\pyc{d=np.random.randint(2,5)} % racine r = d
			\pyc{q=np.random.randint(2,3)}	% q : ordre de mult de d		
			\pyc{mypoly=polyv2(b,p,d,q)}		% construction de mypolyv2

On donne le polynôme suivant : $\py{mypoly}$ 

		
Quel est l'ordre de multiplicité de la racine $r = \py{b}$ ?

			\begin{reponseshoriz}
				\bonne   {$\py{p}$}
				\mauvaise{$\py{p+1}$} 				
				\mauvaise{$\py{p-1}$}
				\mauvaise{$\py{p+2}$}

			\end{reponseshoriz}
\end{question}
%---------------
%--




}   

\end{document}
