\documentclass[a4paper,12pt]{article}
\usepackage{myXsim}
\usepackage{pgfplots}
\usetikzlibrary{decorations.markings}
\pgfplotsset{compat=1.18}

\title{ DM1 \hfill \Var{ subject.Nom }}
\tribe{2nd}
\date{A rendre pour le 2 décembre 2022}
\duree{}

\xsimsetup{
    solution/print = false
}


\pagestyle{empty}

\begin{document}
\maketitle

Le barème est donné à titre indicatif, il pourra être modifié.

\begin{exercise}[subtitle={Calculs avec des fractions}]
    Détailler les calculs suivants et donner le résultat sous la forme d'une fraction irréductible.
    \Block{
        set fractions = {
            "A": random_expression("{a} / {b} + {c} / {b}", ["a!=b", "c!=b", "a!=c", "b > 1"], global_config = {"min_max": (1, 10)}),
            "B": random_expression("{a} / {b} + {c}", ["a!=b", "b > 1"], global_config={"min_max": (1, 10)}),
            "C": random_expression("{a} / {b} + {c} / {d}", ["a!=b", "c!=d", "b > 1", "d > 1"], global_config={"min_max": (0, 10)}),
            "D": random_expression("{a} / {b} * {c}", ["a!=b", "b > 1"], global_config={"min_max": (1, 10)}),
            "E": random_expression("{a} / {b} * {c} / {b}", ["a!=b", "c!=b", "b > 1"], global_config={"min_max": (1, 10)}),
        }
    }
    \begin{multicols}{3}
        \begin{enumerate}
            %- for (l, e) in fractions.items()
            \item $\Var{l} = \Var{e}$
            %- endfor
        \end{enumerate}
    \end{multicols}
\end{exercise}


\begin{solution}
    Le programme ne simplifie pas les fractions, ce que vous devez faire.
    \begin{multicols}{3}
        \begin{enumerate}
            %- for (l, e) in fractions.items()
            \item
                \begin{align*}
                    \Var{l} & = \Var{e.simplify().explain() | join(' \\\\ & = ')}
                \end{align*}
                %- endfor
        \end{enumerate}
    \end{multicols}
\end{solution}

\begin{exercise}[subtitle={Développer et réduire}]
    Développer et réduire les expressions suivantes
    \Block{
        set reduction = {
            "A": random_expression("{a}({c}x + {d})", global_config={"rejected":[1, 0, -1]}),
            "B": random_expression("{a}x({b}x + {c})", global_config={"min_max":(1, 10)}),
            "C": random_expression("({a}t + {b})({c}t + {d})", global_config={"rejected":[1, 0, -1]}),
            "D": random_expression("({a}x + {b})^2", global_config={"rejected":[1, 0, -1]}),
        }
    }
    \begin{multicols}{2}
        \begin{enumerate}
            %- for (l, e) in reduction.items()
            \item $\Var{l} = \Var{e}$
                %- endfor
        \end{enumerate}
    \end{multicols}
\end{exercise}

\begin{solution}
    \begin{multicols}{2}
        \begin{enumerate}
            %- for (l, e) in reduction.items()
            \item
                \begin{align*}
                    \Var{l} & = \Var{e.simplify().explain() | join(' \\\\ & = ')}
                \end{align*}
                %- endfor
        \end{enumerate}
    \end{multicols}
\end{solution}

\begin{exercise}[subtitle={Radars}]
    Un radar de la sécurité routière prend en photo les véhicules en ecvès de vitesse. Sur certaines photos, il n'est pas possible de lire le numéro d'immatriculation du véhicule., on dit alors que la photo est ratée; dans le cas contraire, on dit qu'elle est réussie.

    Le radar a pris des photos pendant l'été :
    \begin{itemize}
        %- set juin_reu, juin_rat = random_list(["a", "b"], global_config={"min_max": (20, 30)})
        %- set juin_tot = juin_reu + juin_rat
        \item en juin, il y a eu \Var{juin_tot} photos prises dont \Var{juin_rat} ratées.
            %- set juil_reu, juil_rat = random_list(["a", "b"], global_config={"min_max": (30, 50)})
        %- set juil_tot = juil_reu + juil_rat
        \item en juillet, il y a eu \Var{juil_reu} photos réussies et \Var{juil_rat} ratées.
            %- set aout_rat = random_list(["a"], global_config={"min_max": (10, 20)})[0]
            %- set aout_reu = random_list(["a"], global_config={"min_max": (40, 50)})[0]
        %- set aout_tot = aout_reu + aout_rat
        %- set aout_prop_rat = aout_rat / aout_tot
        \item en août, il y a eu \Var{aout_tot} photos dont une proportion de \Var{aout_prop_rat | round(2)} de photos ratées.
            %- set sept_rat = random_list(["a"], global_config={"min_max": (5, 15)})[0]
            %- set sept_reu = random_list(["a"], global_config={"min_max": (40, 50)})[0]
        %- set sept_tot = sept_reu + sept_rat
        %- set sept_prop_rat = sept_rat / sept_tot
        \item en septembre, il y a eu \Var{sept_rat} photos ratées, ce qui correspondait à \Var{ (sept_prop_rat*100) | round(2)}\% des photos prises.
    \end{itemize}

    \begin{enumerate}
        \item Compléter le tableau suivant (en détaillant les calculs effectués).
            \begin{center}
                \begin{tabular}{|c|*{5}{c|}}
                    \hline
                    & Juin & Juillet & Août & Septembre & Total\\
                    \hline
                    Réussies & & & & &\\
                    \hline
                    Ratées & & & & &\\
                    \hline
                    Total & & & & & \\
                    \hline
                \end{tabular}
            \end{center}
        \item Sur l'ensemble de ces 4 mois, quel a été le pourcentage de photos réussies ?
        \item Calculer le taux d'évolution des photos ratées entre juillet et août.
            %- set evo_tot = random_list(["a"], global_config={"min_max": (5, 40)})[0]
            %- set sgn = random.choice(["+", "-"])
            %- if sgn == "+"
        \item On suppose que le nombre total de photo augmente de \Var{evo_tot}\% de septembre à octobre.
            %- else
        \item On suppose que le nombre total de photo diminue de \Var{evo_tot}\% de septembre à octobre.
            %-endif
            Calculer le nombre de photos prises entre octobre.
    \end{enumerate}
\end{exercise}

\begin{solution}
    \textit{La correction est automatique, il peut y avoir des problèmes d'arrondis.}
    \begin{enumerate}
        \item ~
            %- set reu_tot = juin_reu + juil_reu + aout_reu + sept_reu
            %- set rat_tot = juin_rat + juil_rat + aout_rat + sept_rat
            %- set tot_tot = juin_tot + juil_tot + aout_tot + sept_tot
            \begin{center}
                \begin{tabular}{|c|*{5}{c|}}
                    \hline
                    & Juin & Juillet & Août & Septembre & Total\\
                    \hline
                    Réussies & \Var{juin_reu} & \Var{juil_reu} & \Var{aout_reu} & \Var{sept_reu} & \Var{reu_tot}\\
                    \hline
                    Ratées & \Var{juin_rat} & \Var{juil_rat} & \Var{aout_rat} & \Var{sept_rat} & \Var{rat_tot}\\
                    \hline
                    Total & \Var{juin_tot} & \Var{juil_tot} & \Var{aout_tot} & \Var{sept_tot} & \Var{tot_tot}\\
                    \hline
                \end{tabular}
            \end{center}
        \item Proportion de photos réussies
            \[
                \frac{\Var{reu_tot}}{\Var{tot_tot}} = \Var{(reu_tot / tot_tot) | round(2)} = \Var{(reu_tot / tot_tot * 100) | int}\%
            \]
        \item
            De juillet à août
            %- set juil_aout = (aout_rat - juil_rat) / juil_rat
            \[
                \frac{\Var{aout_rat} - \Var{juil_rat}}{\Var{juil_rat}} = \frac{\Var{aout_rat - juil_rat}}{\Var{juil_rat}} = \Var{juil_aout | round(2)} = \Var{(juil_aout*100) | round(0) | int }\%
            \]
        \item

            %- if sgn == "+"
            \[
                \Var{sept_tot} \times (1 + \frac{\Var{evo_tot}}{100}) = \Var{sept_tot * (1 + evo_tot/100)}
            \]
            %- else
            \[
                \Var{sept_tot} \times (1 - \frac{\Var{evo_tot}}{100}) = \Var{sept_tot * (1 - evo_tot/100)}
            \]
            %- endif
    \end{enumerate}
\end{solution}


\begin{exercise}[subtitle={Tableaux}]
    %- set f = random_expression("{a}(x-{b})(x-{c})", ["b != c"], global_config={"min_max":(-5, 5), "rejected": [-1, 0, 1]}).simplify()
    %- set milieu = (f.roots[1]+f.roots[0])/2
    %- set f_opti = f(milieu).decimal
    \begin{minipage}{0.5\linewidth}
        \begin{enumerate}
            \item Déterminer graphiquement l'image de 0 par la fonction $f$
            \item Déterminer graphiquement l'antécédent de $\Var{f_opti}$ par la fonction $f$
                %- if f[2] > 0
            \item Résoudre graphiquement l'équation $f(x) \leq 0$
                %- else
            \item Résoudre graphiquement l'équation $f(x) \geq 0$
                %- endif
        \end{enumerate}
    \end{minipage}
    \hfill
    \begin{minipage}{0.4\linewidth}
        %- set xmin = min(min(f.roots) - 1, -1)
        %- set xmax = max(max(f.roots) + 1, 1)
        \begin{tikzpicture}
            \begin{axis}[
                width=\linewidth,
                height=0.6\linewidth,
                axis lines = center,
                grid = both,
                xlabel = {$x$},
                xmin = \Var{xmin},
                xmax = \Var{xmax},
                ylabel = {$y$},
                %- if f[2] > 0
                ymin = \Var{f_opti * 1.2},
                %- else
                ymax = \Var{f_opti * 1.2},
                %- endif
                ]
                \addplot[domain=\Var{xmin}:\Var{xmax},samples=80, color=red, very thick]{\Var{f[2]}*(x - \Var{f.roots[1]})*(x - \Var{f.roots[0]})};
            \end{axis}
        \end{tikzpicture}
    \end{minipage}
\end{exercise}

\begin{solution}
    \begin{enumerate}
        \item $f(0) = \Var{f(0)}$
        \item C'est $\Var{milieu}$ car $f(\Var{milieu}) = \Var{f_opti}$
        \item $x \in \intFF{\Var{f.roots[0]}}{\Var{f.roots[1]}}$
    \end{enumerate}
\end{solution}

\end{document}

%%% Local Variables:
%%% mode: latex
%%% TeX-master: "master"
%%% End:
