\begin{exercise}[subtitle={Inéquation et tableau de signes}, step={4}, origin={Création}, topics={Inéquations}, tags={ Statistiques, Fractions }, mode={\searchMode}]
    Tracer le tableau de signes des fonctions suivantes sans tracer le graphique. Une fois le tableau de signes terminé, vous vérifierez votre tableau avec la calculatrice.

    \Block{
        set fonctions = {
            "f": random_expression("{a}x+{b}", ["a!=b"], global_config = {"min_max": (1, 10)}),
            "g": random_expression("{a}x+{b}", global_config = {"min_max": (1, 10)}),
            "h": random_expression("{a}x+{b}", global_config = {"min_max": (1, 10)}),
            "i": random_expression("{a}x+{b}"),
            "j": random_expression("{a}x+{b}"),
            "k": random_expression("{a}x+{b}"),
            "m": random_expression("{a}/{c}x+{b}"),
            "m": random_expression("{a}/{c}x+{b}/{d}", ["gcd(a, c)==1", "gcd(b, d)==1"]),
        }
    }
    \begin{multicols}{2}
        \begin{enumerate}
            %- for (name, function) in fonctions.items()
            \item $\Var{name}(x) = \Var{function}$
                %- endfor
        \end{enumerate}
    \end{multicols}

\end{exercise}

\begin{solution}
    \begin{multicols}{2}
        \begin{enumerate}
            %- for (name, function) in fonctions.items()
            \item $\Var{name}(x) = \Var{function}$
                Pour déterminer les valeurs de $x$ pour lesquelles $f(x)$ est positive, il faut résoudre l'inéquation

                %- set cst = -function[0]
                %- set coef = function[1]
                %- set racine = cst / coef
                \begin{align*}
                    \Var{name}(x) & \geq 0 \\
                    \Var{function} & \geq 0 \\
                    %- if cst != 0
                    \Var{function} + \Var{cst} &\geq 0 + \Var{cst} \\
                    \Var{function + cst} &\geq \Var{0 + cst} \\
                    %- endif

                    %- if coef >= 0
                    \frac{\Var{function + cst}}{\Var{coef}} &\geq \frac{\Var{cst}}{\Var{coef}} \\
                    x &\geq \Var{racine.simplify()} \\
                \end{align*}

                %- set racine = racine.simplify()
                Donc $\Var{name}(x)$ est positif quand $x$ est supérieur à $\Var{racine}$. On en déduit le tableau de signe
                \begin{center}
                    \begin{tikzpicture}
                        \tkzTabInit[lgt=2,espcl=1]{$ x $/1,$ \Var{name}(x) $/1}{, $\Var{racine}$ ,}
                        \tkzTabLine{, -, z, +,  }
                    \end{tikzpicture}
                \end{center}

                %- else
                \frac{\Var{function + cst}}{\Var{coef}} &\leq \frac{\Var{cst}}{\Var{coef}} \\
                x &\leq \Var{racine.simplify()} \\
                \end{align*}

                %- set racine = racine.simplify()
                Donc $\Var{name}(x)$ est positif quand $x$ est inférieur à $\Var{racine}$. On en déduit le tableau de signe
                \begin{center}
                    \begin{tikzpicture}
                        \tkzTabInit[lgt=2,espcl=1]{$ x $/1,$ \Var{name}(x) $/1}{, $\Var{racine}$ ,}
                        \tkzTabLine{, +, z, -,  }
                    \end{tikzpicture}
                \end{center}
                %- endif
                %- endfor
        \end{enumerate}
    \end{multicols}
\end{solution}


\begin{exercise}[subtitle={Tableau de signes et produits}, step={4}, origin={Création}, topics={Inéquations}, tags={ Statistiques, Fractions }, mode={\searchMode}]
    Tracer le tableau de signes des fonctions suivantes sans tracer le graphique. Une fois le tableau de signes terminé, vous vérifierez votre tableau avec la calculatrice.
    \Block{
        set fonctions = {
            "f": random_expression("({a}x+{b})({c}x+{d})", ["a!=c"], global_config = {"min_max": (1, 10)}),
            "g": random_expression("({a}x+{b})({c}x+{d})", ["a!=c"], global_config = {"min_max": (1, 10)}),
            "h": random_expression("({a}x+{b})({c}x+{d})", ["a!=c"]),
            "i": random_expression("({a}x+{b})({c}x+{d})", ["a!=c"]),
        }
    }
    \begin{multicols}{2}
        \begin{enumerate}
            %- for (name, function) in fonctions.items()
            \item $\Var{name}(x) = \Var{function}$
                %- endfor
        \end{enumerate}
    \end{multicols}

\end{exercise}

\begin{solution}
    Cette correction n'explique pas le raisonnement, mais donne uniquement les réponses. Les valeurs sont arrondis à $10^{-2}$ mais il est plus pertinent de garder les valeurs exactes.
        \begin{enumerate}
            %- for (name, function) in fonctions.items()
            \item
                %- set f = function.simplify()
                \begin{center}
                    \begin{tikzpicture}
                        \tkzTabInit[lgt=2,espcl=3]{$ x $/1,$ \Var{name}(x) $/1}{, $\Var{f.roots[0].raw | round(2) }$ ,$\Var{f.roots[1].raw | round(2)}$, }
                        %- if f[0] > 0
                        \tkzTabLine{, +, z, -, z, +,  }
                        %- else
                        \tkzTabLine{, -, z, +, z, -,  }
                        %- endif
                    \end{tikzpicture}
                \end{center}
            %-endfor
        \end{enumerate}

\end{solution}
