

\begin{enumerate}
\item Le programme Python correspondant à l'algorithme est par exemple le suivant:

\begin{python}
L = [ 3,5,1 ]
for i in range(len(L)):
    m = L[i]
    indice = i
    for j in range(i+1,len(L)):
        if L[j] < m:
            m = L[j]
            indice = j
    a = L[i]
    L[i] = L[indice]
    L[indice] = a

print(L)
\end{python}

\texttt{len(L)} désigne la longueur de la liste \texttt{L}.

\item Le programme affiche la liste :
\begin{console}
[1,3,5]
\end{console}
Il semble donc trier dans l'ordre croissant les données de la liste entrée.

\item  Un programme possible est :
\begin{python}
L = [ 8 , 6 , 2 , 2 , 9 , 2 , 7 , 10 ]
for i in range(len(L)):
    m = L[i]
    indice = i
    for j in range(i+1,len(L)):
        if L[j] < m:
            m = L[j]
            indice = j
    a = L[i]
    L[i] = L[indice]
    L[indice] = a

if len(L) % 2 == 1:
    mediane = L[ len(L) // 2 ]
else:
    mediane = ( L[ len(L) // 2 ] + L[ len(L) // 2 + 1 ] ) / 2

print(L)
print('Médiane : ',mediane)
\end{python}

\newpage

Le début reste inchangé (lignes 1 à 11). Ensuite, pour calculer la médiane, on regarde si la longueur de la liste est paire ou impaire : si elle est impaire \mbox{(\texttt{if len(L)\%2 == 1})} alors la médiane est l'élément central de la liste ordonnée \mbox{(\texttt{mediane = L[ len(L) // 2 ]})}. Notons ici que j'ai utilisé la division \underline{entière} pour trouver l'indice du terme central (car un indice ne peut être qu'entier, et faire \texttt{len(L)/2} retourne un nombre réel, et non entier).

Si au contraire la liste compte un nombre pair d'éléments, alors la médiane est la moyenne des éléments centraux, ceux-ci étant \texttt{L[len(L)//2]} et \texttt{L[len(L)//2+  1]}.
\end{enumerate}
