\enlargethispage*{5em}
\begin{questions}
\item ~\par\vspace*{-25pt}
\qrset{height=1.1cm,version=5}\rput(-1,-1.3){
\psframebox{\qrcode{https://idl-live.prepamath.fr/ILTNSI/04-ecrire-classe-q1.py}}}
\vspace*{-10pt}
\begin{listing}{}{04-ecrire-classe-q1.py}\end{listing}

\newpage

\item  Une classe possible est la suivante:

\qrset{height=1.1cm,version=5}\rput(-1,-0.7){
\psframebox{\qrcode{https://idl-live.prepamath.fr/ILTNSI/04-ecrire-classe-q2.py}}}
\vspace*{-10pt}
\begin{listing}{}{04-ecrire-classe-q2.py}\end{listing}

\item Définissons dans une console le carré et le triangle demandés.

\Par

\hrulefill

{\ttfamily
\pychevrons C = Carre(5)\\
\pychevrons C.aire() , C.perimetre()\\
(25, 20)\\
\pychevrons T = Triangle(5.4 , 9 , 7.2)\\
\pychevrons (T.aire() , T.rect())\\
(19.44000000000001, True)
}

\hrulefill

\Par

On voit ainsi que le triangle défini est rectangle et que son aire vaut $19,44$.


\begin{Remarque}
on pourrait améliorer légèrement l'affichage dans le cas où le triangle est rectangle.
\end{Remarque}

\Par


En effet, dans ce cas précis, pour \mbox{calculer} l'aire du triangle, on peut utiliser la formule $\dfrac{b \times h}{2}$, où $b$ et $h$ sont respectivement une base du triangle et la hauteur relative à cette base.

Ainsi, dans la méthode \texttt{aire}, on pourrait écrire le code page ci-contre.

\begin{aretenir}
Quel que soit le contexte d'un programme, il ne faut pas s'éloigner de ses règles. Si le programme concerne des mathématiques alors il faut utiliser les propriétés mathématiques pour optimiser le code.
\end{aretenir}

\newpage

\qrset{height=1.1cm,version=5}\rput(-1,-0.7){
\psframebox{\qrcode{https://idl-live.prepamath.fr/ILTNSI/04-ecrire-classe-q3.py}}}
\vspace*{-10pt}
\begin{listing}{}{04-ecrire-classe-q3.py}\end{listing}
\end{questions}
