
\begin{enumerate}
\item Voici un programme possible :
\begin{python}
s = 0
for p in range(1011):
    s = s + (-1)**p / (2*p + 1)
print(s)
\end{python}

La formule à insérer dans la boucle est clairement dictée par celle qu'il y a dans le symbole de sommation de l'énoncé:
\[
\sum_{p=0}^{\numprint{1010}}\dfrac{(-1)^{p}}{2p+1}.
\]
Cette façon d'écrire est très utile car la fonction Python reprend les indices: on voit que la somme part de $p=0$ et va jusqu'à $p=\numprint{1010}$; comme nous utilisons la fonction \texttt{range}, il ne faut pas oublier d'indiquer le \og nombre limite\fg{} auquel on ajoute 1.

\item Un programme possible est le suivant:
\begin{python}
s = 0
for p in range(1,2022):
    s = s + 1 / (3*p - 1)
print(s)
\end{python}
Je me suis là encore inspiré de la somme donnée en énoncé avec le symbole de\linebreak sommation.
\end{enumerate}
