
Un algorithme possible est le suivant:

\medskip

\begin{center}
\fbox{\begin{minipage}{0.9\linewidth}
\ttfamily
Entrées:\\
\hspace*{1em}Coordonnées de A : $x_A$ et $y_A$\\
\hspace*{1em}Coordonnées de B : $x_B$ et $y_B$\\
Traitement:\\
\hspace*{1em}d $\leftarrow$ $\sqrt{(x_B-x_A)^2+(y_B-y_A)^2}$\\
\hspace*{1em}x $\leftarrow$ $(x_A+x_B)$/2\\
\hspace*{1em}y $\leftarrow$ $(y_A+y_B)$/2\\
Sortie:\\
\hspace*{1em}Afficher : "AB = ", d\\
\hspace*{1em}Afficher : "Les coordonnées du milieu de [AB] sont : ", x , y
\end{minipage}}
\end{center}

En Python, cela donne les deux fonctions suivantes:

\medskip

\begin{python}
def milieu(A,B):
    # A[0] est l'abscisse de A, A[1] est son ordonnée
    # B[0] est l'abscisse de B, B[1] est son ordonnée
    return (A[0]+B[0])/2 , (A[1]+B[1])/2

def distance(A,B):
    return ( (B[0]-A[0])**2 + (B[1]-A[1])**2 )**0.5
    # (...)**0.5 correspond à prendre la racine carrée
\end{python}
