
\begin{enumerate}
\item Le tableau complété est le suivant:
\begin{center}
\begin{tabular}{|Sl|*8{Sc|}}
\hline
Test $r \neq 0$ & \diagbox{}{} & vrai & vrai & vrai & vrai & vrai & vrai & faux\\\hline
Valeurs de q & \diagbox{}{} & 2 & 2 & 2 & 1 & 1 & 2 & \diagbox{}{} \\\hline
Valeurs de r & $-1$ & 78 & 30 & 18 & 12 & 6 & 0& \diagbox{}{} \\\hline
Valeurs de a & 450 & 186 & 78 & 30 & 18 & 12 & 6& \diagbox{}{} \\\hline
Valeurs de b & 186 & 78 & 30 & 18 & 12 & 6 & 0& \diagbox{}{}\\
\hline
\end{tabular}
\end{center}

Le programme affiche donc la valeur \og 6 \fg, dernière valeur de \texttt{a} trouvée.

\item En construisant le tableau précédent, on a pu s'apercevoir que \texttt{q} et \texttt{r} étaient les valeurs successives des quotients et restes obtenus dans la division euclidienne de 450 par 186. La dernière valeur de $a$ correspond au dernier reste non nul.

Par conséquent, la valeur affichée correspond au PGCD de 450 et 186.
\end{enumerate}


Le programme proposé n'est pas optimal, mais il a été présenté ici pour être compris par le plus grand nombre de personnes. On aurait pu aussi écrire :
\begin{python}
a, b, r = 450, 186, -1
while r !=0 :
    r = a % b
    a = b
    b = r

print(a)
\end{python}

ou encore, une forme dite \textit{récursive} (bien plus compliquée pour des élèves de Seconde):

\begin{python}
def pgcd(a,b):
    if b == 0:
        return a
    else:
        return pgcd(b , a%b)

print( pgcd(480,186) )
\end{python}
