\clearpage
\section{Arbre de calcul}\index[cle]{ArbreCalcul@\lstinline+\ArbreCalcul+}\label{DocArbreCalcul}\PfCMAJ{0.99-A-g}
\begin{tcolorbox}[tikzRemarque]
  Cette commande est uniquement disponible en compilant avec \hologo{LuaLaTeX}.
\end{tcolorbox}
La commande \lstinline!\ArbreCalcul! permet d'afficher un arbre de calcul associé à un calcul donné.
\begin{center}
  \ArbreCalcul{(5+3)*(7-2)}
\end{center}
Elle a la forme suivante :

\begin{lstlisting}[escapechar=!,aboveskip=1em,belowskip=0.5em]
  \ArbreCalcul[!\sffamily\textlangle clés\textrangle!]{calcul}
\end{lstlisting}
où
\begin{itemize}
\item\textlangle\lstinline!clés!\textrangle{} constituent un ensemble
  d'options pour paramétrer la commande (paramètres optionnels);
\item \lstinline!calcul! indique le calcul à afficher.
\end{itemize}
\begin{Codes}[listing side text]{0.5}{}
\ArbreCalcul{2*(3+5)+(-7)}
\end{Codes}
\begin{tcolorbox}[tikzcle]
  \index[cle]{ArbreCalcul@\lstinline+\ArbreCalcul+!Correction|mygobble}%
  \index[cle]{ArbreCalcul@\lstinline+\ArbreCalcul+!Couleur|mygobble}%
  \index[cle]{ArbreCalcul@\lstinline+\ArbreCalcul+!CouleurDepart|mygobble}%
  \index[cle]{ArbreCalcul@\lstinline+\ArbreCalcul+!Litteral|mygobble}%
  \index[cle]{ArbreCalcul@\lstinline+\ArbreCalcul+!Largeur|mygobble}%
  \index[cle]{ArbreCalcul@\lstinline+\ArbreCalcul+!LargeurC|mygobble}%
  \index[cle]{ArbreCalcul@\lstinline+\ArbreCalcul+!Ecart|mygobble}%
  \index[cle]{ArbreCalcul@\lstinline+\ArbreCalcul+!Lettre|mygobble}%
  \begin{Key}{Ecart}{1.5cm}
    modifie l'écart horizontal entre les cases.
  \end{Key}
  \begin{Key}{Largeur}{0.8cm}
    modifie la largeur des cases \og initiales\fg{} du calcul.
  \end{Key}
  \begin{Key}{LargeurC}{0.8cm}
    modifie la largeur des cases \og réponses\fg{} du calcul.
  \end{Key}
  \begin{Key}{Hauteur}{1cm}
    modifie la hauteur de toutes les cases du calcul.
  \end{Key}
  \begin{Key}{CouleurDepart}{LightGreen}
    modifie la couleur de remplissage des nombres de départ lorsque l'arbre est utilisé pour présenter un programme de calcul. Dans ce cas, le nombre de départ est associé au nombre 0 dans le calcul.
  \end{Key}
\end{tcolorbox}
Ces clés sont disponibles dans tous les cas présentés ci-après.
\subsection*{Cas des calculs numériques avec des entiers ou des décimaux relatifs}
\begin{tcolorbox}[tikzcle]
  \begin{Key}{Substitue}{7}
    indique la valeur à substituer à 0 dans la déclaration du calcul.
  \end{Key}
  \begin{Key}{Correction}{true}
    remplit l'arbre en effectuant les calculs.
  \end{Key}
  \begin{Key}{Couleur}{LightSteelBlue}
    modifie la couleur de remplissage des résultats intermédiaires.
  \end{Key}
\end{tcolorbox}
\begin{Codes}[listing side text]{0.4}{}
\ArbreCalcul{2*(3+9)/(5+(-8))}
\end{Codes}
\begin{Codes}[listing side text]{0.4}{}
\ArbreCalcul[Substitue=2.1]{(0+2.9)/(-2)+4}
\end{Codes}
\subsection*{Cas des écritures fractionnaires}
\begin{tcolorbox}[tikzcle]
  \begin{Key}{Fraction}{-}
    indique que les nombres intervenants sont des écritures fractionnaires. Lorsque cette clé est positionnée sur une fraction {\ttfamily a/b}, cette fraction se substitue au nombre 0 du programme de calcul.
    \begin{tcolorbox}[tikzRemarque]
      Dans le calcul à effectuer, les nombres sont décrits par des entiers positifs. Ils seront associés de manière cohérente avec la clé \Cle{Nombres}.
    \end{tcolorbox}
    \begin{SousDescription}
    \item La clé \Cle{Nombres}\DefautR{} indique les nombres en écritures fractionnaires. Ils sont écrits sous la forme {\ttfamily a/b}.
    \end{SousDescription}
  \end{Key}
\end{tcolorbox}
  \begin{Codes}[listing side text]{0.4}{}
% Le nombre 1/3 représente l'entier 1 dans le calcul.
% Le nombre 1/4 représente l'entier 2 dans le calcul.
% Le nombre 1/5 représente l'entier 3 dans le calcul.
\ArbreCalcul[Fraction="",Nombres={1/3,1/4,1/5},Ecart=2cm]{1*2+3}
\end{Codes}
\begin{Codes}[listing side text]{0.4}{}
% Le nombre 1/3 représente l'entier 1 dans le calcul qui n'est pas utilisé ici !
% Le nombre 1/4 représente l'entier 2 dans le calcul.
% Le nombre 1/5 représente l'entier 3 dans le calcul.
% Le nombre 1/6 représente l'entier 3 dans le calcul.
% Le nombre 1/7 représente l'entier 3 dans le calcul.
\ArbreCalcul[Fraction="",Nombres={1/3,1/4,1/5,1/6,1/7},Ecart=2cm]{2*(2*3+4)-5}
\end{Codes}
\begin{Codes}[listing side text]{0.4}{}
% Le nombre 1/3 représente l'entier 1 dans le calcul qui n'est pas utilisé ici !
% Le nombre 1/4 représente l'entier 2 dans le calcul qui n'est pas utilisé ici !
% Le nombre 1/5 représente l'entier 3 dans le calcul.
% Le nombre 1/6 représente l'entier 3 dans le calcul.
% Le nombre 1/7 représente l'entier 3 dans le calcul.
\ArbreCalcul[Fraction="1/2",Nombres={1/3,1/4,1/5,1/6,1/7},Ecart=2cm,Correction]{0*(0*3+4)-5}
\end{Codes}
\subsection*{Cas du calcul littéral}
\begin{tcolorbox}[tikzcle]
\begin{Key}{Litteral}{false}
  indique que le calcul est à présenter avec le calcul littéral.
  \begin{SousDescription}
  \item[La clé \Cle{Expressions}]\Defaut{-}
    indique les solutions successives du calcul littéral. Elles sont données dans l'ordre des prioriétés de calculs.
  \item[La clé \Cle{Lettre}]\DefautR{x}
    indique la lettre utilisée pour se substituer au nombre 0 dans le programme de calcul.
  \end{SousDescription}
\end{Key}
\end{tcolorbox}
\begin{Codes}[listing side text]{0.425}{}
\ArbreCalcul[
Litteral,
Nombres={2n,3,4n,1},
Expressions={2n+3,4n-1,(2n+3)\times(4n-1)},
Ecart=2cm,
Correction,
LargeurC=3cm,
Ecart=2.5cm]{(1+2)*(3-4)}
\end{Codes}
\begin{Codes}[listing side text]{0.45}{}
\ArbreCalcul[
Litteral,
Lettre="n",
Nombres={n,3,4n,1},
Expressions={n+3,n+1,(n+3)\times(n+1)},
Ecart=2cm]{(0+2)*(0+4)}
\end{Codes}