On considère le programme Python suivant :

\begin{python}
def factorielle(n):
    if n == 0:
        return 1
    return n * factorielle(n-1)

def sin(x,n):
    s = 0
    for k in range((n+1)//2):
        s += (-1)**k * x**(2*k+1) / factorielle(2*k+1)
    return s
\end{python}

On admet que la fonction \texttt{factorielle(n)} renvoie la valeur $n!$, c'est-à-dire le résultat de l'opération : $1\times2\times3\times\cdots\times (n-1)\times n$.

\begin{enumerate}
\item Implémentez ce programme et testez-le en appelant :
\begin{itemize}
\begin{multicols}{3}
\item \texttt{sin(0.5236,5)}
\item \texttt{sin(0.7854,5)}
\item \texttt{sin(0.7854,100)}
\end{multicols}
\end{itemize}

\item Calculez avec votre calculatrice $\dfrac{\pi}{6}$ et $\dfrac{\pi}{4}$, puis $\sin\dfrac{\pi}{6}$ et $\sin\dfrac{\pi}{4}$. Comparez les résultats obtenus avec ceux de la question précédente. Qu'est-ce que cela vous inspire ?

\item Testez le programme avec \texttt{sin(2.0944,100)} $\left(\dfrac{2\pi}{3}\approx2,0944\right)$. 

Quelle conclusion peut-on faire ?

\item Testez le programme avec \texttt{sin(40,100)}.  Que cela vous inspire-t-il ?
\end{enumerate}

