\begin{questions}
\item Réponse \choix[b]. Le programme modifie la valeur de \texttt{somme} dans chaque itération. À la fin de la boucle, \texttt{somme} contient la dernière valeur de \texttt{i}, soit 4.

\item Réponse \choix[d].

\textit{Justification :} le code\choix[d] retourne la valeur de \(y\), calculée comme \linebreak\(y = x^2 + 3x + 1\), et parcourt les valeurs de \(x\) de 1 à 20 sans erreurs. Les autres codes comportent des erreurs, telles que l’absence de retour explicite ou une boucle mal configurée.

\item  Réponse \choix[d]. Le programme modifie les valeurs de \(x\) et \(y\) en fonction des conditions.
    Analyse :
    \begin{itemize}
        \item Initialement \(x = 5\), \(y = 4\).
        \item La première condition (\texttt{if x == y - 1}) est fausse, donc \texttt{y = x}, ce qui donne \(x = 4\), \(y = 4\).
        \item La deuxième condition (\texttt{if y == x - 1}) est fausse, donc \(y = y + 1\), ce qui donne \(x = 4\), \(y = 5\).
    \end{itemize}

\item Réponse \choix[a]. La variable \texttt{nombre} contient \texttt{"3.0"}, une chaîne de caractères.

Justification : les guillemets indiquent que \texttt{"3.0"} est de type \texttt{string}, même s'il ressemble à un nombre.

\item Réponse \choix[c]. Après exécution, \(x\) contient la dernière valeur calculée par la boucle \texttt{while}.

    Analyse : \(x\) commence à 400 et est divisé par 2 tant qu’il est \(\geqslant 25\) :
    \[ x = 400 \to 200 \to 100 \to 50 \to 25 \to 12.\]
    La boucle s'arrête lorsque \(x < 25\).

\item Réponse \choix[d]. En Python, la somme \texttt{0.1 + 0.1 + 0.1} n’est pas strictement égale à 0.3 à cause des erreurs d'arrondi en virgule flottante.

Résultat affiché : \texttt{résultat = 0.30000000000000004}.

\end{questions}
