%%AMC:preprocess_command=prePythonTex4AMC
%%AMC:jobspecific=1
%%AMC:latex_engine=pdflatex --shell-escape
%--------------------------
%--------------------------
%  --- PARAMETRES DU DEVOIR A CHANGER ICI
%-----------------------------------------------------
% Titre
\newcommand{\TitreDuDevoir}{Devoir Maison}
% Nombre d'exemplaires
%\newcommand{\NbExemplaires}{1}
%-----------------------------------------------------

%
\documentclass[a4paper]{article}
\usepackage[utf8x]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[francais,bloc,nowatermark,pdfform]{automultiplechoice} % pdfform
\usepackage{multicol}
\usepackage{fp}
\usepackage{graphicx}
%--------------------

%-----
\usepackage[subfigure]{tocloft}
\usepackage{caption}
\usepackage{subcaption}
\usepackage{array}

% ---------- Utilisation de codes Python -----
\usepackage[gobble=auto]{pythontex}
%----------------------------------------------
%
\usepackage{fancyhdr,amssymb,amsmath}
% usepackage{calrsfs}
%%% ajout pour alignement justifié
\usepackage{ragged2e}
%

% Pré-association
\usepackage{csvsimple}
%
%------------------------------------------
% Décoration de la page (ligne en bas de page et numérotation
%------------------------------------------)
\usepackage{fancyhdr} % si déja chargé plus haut
\pagestyle{fancy} 
%
% Couleur du texte
% \usepackage{xcolor} 
%-----------------------
% Graine du FP
\FPseed=123456
% Graine du FP

% Graine pour choix aléatoire des questions
\AMCrandomseed{123456}
% Graine pour choix aléatoire des questions
%=============
	\begin{pycode}
import numpy as np
import matplotlib.pyplot as plt
from pylab import *
from sympy import *
from math import *

np.random.seed(12345)


def poly(b,p,d,q) :
	x=Symbol('x')
	e = (x-b)**p*(x-d)**q
	es = str(e)
	e1 = es.replace('*','')
	e2 = str(expand(e)).replace('**','^')
	e3 = e2.replace('*','')	
	equa =  e3
	return equa	

def dp1x(a,b,c) :
    x=Symbol('x')
    y=Symbol('y')
    f=(a*y-1)/(b*x-1)**c

	#u=diff(f,x,1)    
    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])


def dp1y(a,b,c) :
    x=Symbol('x')
    y=Symbol('y')
    f=a*x*(1-b*y)-c*x/y
    fm = a*x*(1+y)+c*x/y
    g=diff(f,y,1)
    gm=diff(fm,y,1)
    g3=g*(-1)
    g4=gm*(-1)
	

    gl = latex(g)
    g2l = latex(gm)
    g3l = latex(g3)
    g4l = latex(g4)

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


def dp2xy(a,b,c) :
    x=Symbol('x')
    y=Symbol('y')
    f=a*x*(1-b*y)-c*x/y
    fm = a*x*(1+b*y)+c*x/y
    gt=diff(f,x,1)
    g=diff(gt,y,1)
    gmt=diff(fm,x,1)
    gm=diff(gmt,y,1)
    g3=g*(-2)
    g4=gm*(-2)
	

    gl = latex(g)
    g2l = latex(gm)
    g3l = latex(g3)
    g4l = latex(g4)

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

def fu(v,r,c,t) :
	return v*exp(-1*t/(r*c))

def fi(v,r,c,t) :
	return -1*(v/r)*exp(-1*t/(r*c))

def fw(v,r,c,t) :
	return 0.5*(c*v**2)*(1-exp(-2*t/(r*c)))


\end{pycode}  
% -------------------- Fin de PYCODE ----------


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

% BAREME MODIFIE POUR CE TRAVAIL SUR DL AVEC PYTHON
%--------------------------------------------------
\baremeDefautM{formula=(3*NBC/NB-1*NMC),p=-1,e=-1,v=0} 
\baremeDefautS{b=1,m=-0.5,e=-0.5,v=0}
% Modification de barème pour une question


%
\element{fonction2var-pointcritique}{
	\begin{questionmult}{f2var-pc15}
  On considère la fonction de 2 variables : $f(x,y)=x^2-y^2+4x-4y-8$.
	Cette fonction possède :
\begin{multicols}{2}\AMCBoxedAnswers
		% solution : (-2;-2)-> pas d'extremum
		\begin{reponses}%[o]
			\bonne{1 seul point critique (bonne).} 
			\mauvaise{2 points critiques.} 
			\mauvaise{Impossible de conclure sur le type d'extremum.} 
			\mauvaise{1 minimum.} 
			\mauvaise{1 maximum.} 
			\mauvaise{2 maximums.} 
			\mauvaise{Aucun point critique.} 
			\bonne{Aucun extremum (bonne).}
			
		\end{reponses}
\end{multicols}
	\end{questionmult}
}
%


\element{derivee-partielle-1}{
		\begin{question}{deriv-px-1}
			
On donne la fonction suivante : $f(x,y)= \dfrac{y-1}{(x-1)^{2}}$
		
Quelle est la dérivée partielle $ \dfrac{\partial f(x,y)}{\partial x}$ ? 

			\begin{reponseshoriz}
				\bonne   {bonne réponse}
				\mauvaise{mauvaise} 				
 				\mauvaise{mauvaise}
 				\mauvaise{mauvaise}
			\end{reponseshoriz}
		\end{question}
%---------------
}

%
\element{Equadiff-ordre2-yp}{

	\begin{questionmultx}{Equa-2-yp1}  %????

\pyc{i=np.random.randint(0,9)}
Démo : valeur de i : \py{i}



\AMCnumericChoices{2.458}{digits=4,decimals=3,sign=false,scoreexact=4,scorewrong=-1}

	\end{questionmultx}
}
%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% FABRICATION DES COPIES %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%--------------------------
% Association avec le QCM-Number étudiant
%\AMCassociation{\etu}
% Pré-association
\newcommand{\sujet}{%
%\AMCassociation[\nom\prenom]{\etu}
% Association avec le QCM-Number étudiant
\exemplaire{1}{  
\AMCassociation{\etu}
	\begin{minipage}[c]{0.85\linewidth} % {1\linewidth} %0.65
	  \centering\large\bf Devoir de Mathématiques - Sujet \AMCStudentNumber
	  
	   \TitreDuDevoir 
	   
	  \rule{9cm}{0.4pt}
	\end{minipage}

	\vspace*{3mm}
	{\setlength{\parindent}{0pt} 
	\begin{minipage}[b]{12.8cm} %12cm


 \hfill\champnom{\fbox{
%\hfill\champnom{\colorbox{lime}{
%\colorbox{Salmon}	 
	 \begin{minipage}{0.96\linewidth}
		\centering\Large\bf \nom{} \prenom{}
		%\vspace*{.5cm}\dotfill

		\vspace*{3mm}
	 \end{minipage}
	    }
		}
%	   }

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

\begin{center}\em  %\bf {center}
\justify
Les questions faisant apparaître le symbole \multiSymbole{} ont plusieurs bonnes réponses.
Les autres ont une unique bonne réponse. L'indiquer sur cette feuille en noircissant la case à l'aide d'un clic de souris. 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, cliquer à nouveau sur la case.	Calculatrice autorisée.
 

\end{center}

	\end{minipage}\hspace*{\fill}
	}
	

\vspace{4ex}
%------ Paramétrage des copies ------
%
\AMCsetFoot{|  Devoir de Mathématiques  |}
%


\cleargroup{tout}

%-----------------------------------
% Fonctions de 2 variables
\melangegroupe{derivee-partielle-1}\copygroup[1]{derivee-partielle-1}{tout}
%---
\melangegroupe{fonction2var-pointcritique}\copygroup[1]{fonction2var-pointcritique}{tout}

%Equadiff-ordre2-yp
\melangegroupe{Equadiff-ordre2-yp}\copygroup[1]{Equadiff-ordre2-yp}{tout}

\hrule\vspace{2mm}
\centering{\textbf{Exercices}}\vspace{2mm}
\hrule\vspace{2mm}
\restituegroupe{tout}
% Questions pour le DL

%\AMCcleardoublepage    

%

%%%--- fin de la création des questionnaires
%--------------------------------------------

}      % fin de exemplaire
%     ----------------------
}      % fin de {\sujet}{
%
% le "csvreader" avant la fin du document
\makeatletter
\ifAMC@catalog
\relax
\else
  \csvreader[head to column names]{liste-test.csv}{}{\sujet}
\fi
\makeatother
%\csvreader[head to column names]{liste-dut1.csv}{}{\sujet}
%
\end{document}
%

