
\begin{enumerate}
\item En testant le programme, nous avons successivement :
\begin{console}
>>> sin(0.5236,5)
0.500003192986266

>>> sin(0.7854,5)
0.707144345044458

>>> sin(0.7854,100)
0.7071080798594735
\end{console}

\item Avec la calculatrice, on trouve que $\dfrac{\pi}{6}\approx0,5236$, $\dfrac{\pi}{4}\approx0,7854$. De plus, $\sin\dfrac{\pi}{6}=0,5$ et $\sin\dfrac{\pi}{4}=\dfrac{\sqrt2}{2}\approx0,7071067811865476$.

On constate alors que l'on retrouve à peu près les mêmes valeurs que celles obtenues à la question 1.

On peut alors supposer que la fonction \texttt{sin(x,n)} renvoie la valeur de $\sin(x)$, l'argument \og $n$ \fg{} pouvant éventuellement servir pour affiner la précision de la valeur renvoyée.

\item On a :
\begin{console}
>>> sin(2.0944,100)
0.8660229549706501
\end{console}

Or, $\sin\dfrac{2\pi}{3}=\sin\dfrac{\pi}{3}=\dfrac{\sqrt3}{2}\approx0,8660254037844386$. Cela nous conforte dans l'idée que nous avons émise précédemment : la fonction renvoie le sinus de la valeur $x$.

\item On a:
\begin{console}
>>> sin(40,100)
-62.42184391235605
\end{console}

Un sinus étant toujours compris entre $-1$ et 1, ce dernier résultat ne doit pas nous inspirer quelque chose de positif... La fonction semble avoir ses limites.

Par curiosité, j'ai souhaité savoir à partir de quelle valeur entière de $x$ la différence entre $\sin(x)$ et le résultat renvoyé par la fonction était supérieur à 1. J'ai dû pour cela renommer ma fonction en \og \texttt{f(x,n)} \fg{} car j'ai importé la fonction $\sin$ du module \texttt{math}:

\begin{python}
from math import sin

def factorielle(n):
    if n == 0:
        return 1
    return n * factorielle(n-1)

def f(x,n):
    s = 0
    for k in range((n+1)//2):
        s += (-1)**k * x**(2*k+1) / factorielle(2*k+1)
    return s

x = 0
while abs( f(x,100) - sin(x) ) < 1:
    x += 1

print("Pour x = {}, la fonction renvoie {}; or, sin({})={}.\nLa différence est : {}".format(x, f(x,100), x, sin(x), abs(sin(x)-f(x,100))))
\end{python}

Il affiche $x=39$, avec une différence de 5,26 entre $\sin(39)$ et $f(39,100)$. En modifiant légèrement ce dernier programme, on constate que pour $x<30$, la différence est inférieure à $2\times10^{-5}$; ceci nous pousse à constater que la fonction \texttt{f(x,100)} donne une très bonne approximation de $\sin(x)$ pour des valeurs inférieures à 30.
\end{enumerate}
