
\begin{enumerate}
\item La variable \texttt{d} est un 2-uplet, mais la première composante \texttt{d[0]} est aussi un 2-uplet: les coordonnées du vecteur. De même, \texttt{d[1]} est un 2-uplet: les coordonnées du point.

Ainsi, l'abscisse du point $A$ est la première composante de \texttt{d[1]}: c'est donc \texttt{d[1][0]}.

Le tableau suivant nous donne les différentes valeurs:
\begin{center}
\begin{tabular}{|*4{>{\ttfamily}Sc|}}
\hline
d[0][0] & d[0][1] & d[1][0] & d[1][1] \\
\hline
-3 & 2 & 1 & -5\\
\hline
\end{tabular}
\end{center}

\item Avant d'écrire la fonction, il faut se demander à quelle condition le point mis en argument appartient à la droite.

Supposons, comme dans la question précédente, que l'on ait défini une droite $(d)$ à partir d'un vecteur directeur $\vv{u}\dbinom{x}{y}$ et d'un point $A\coord{x_A}{y_A}$ par lequel elle passe.

Pour qu'un point $B\dbinom{x_B}{y_B}$ appartienne à $(d)$, il faut que $\vv{u}$ et $\vv{AB}$ soient colinéaires, et donc que leur déterminant soit nul.

Cela donne lieu au code suivant:
\begin{python}
def appartient(d, B):
    vecteur_AB = ( B[0]-d[1][0] , B[1]-d[1][1] )
    vecteur_u = ( d[0][0] , d[0][1] )
    determinant = vecteur_AB[0]*vecteur_u[1] - vecteur_AB[1]*vecteur_u[0]
    return determinant == 0
\end{python}

\begin{itemize}
\item On commence par définir le vecteur $\vv{AB}$. \texttt{B[0]} est l'abscisse de $B$ et \texttt{d[1][0]}, celle de $A$ donc \texttt{B[0]-d[1][0]} représente $x_B-x_A$, c'est-à-dire l'abscisse du vecteur $\vv{AB}$. Il en est de même pour les ordonnées.

\item Ensuite, on définit le vecteur directeur de la droite, en reprenant les données mises en argument de la fonction Python. On aurait pu s'en passer, mais j'ai préféré définir cette variable pour un peu plus de compréhension dans le calcul du déterminant à la ligne suivante.

\item Le calcul du déterminant s'effectue à l'aide de la formule $\begin{vmatrix}x & x'\\y & y'\end{vmatrix}=xy'-yx'$.

\item On finit par renvoyer le résultat du test \og \texttt{determinant == 0} \fg: si le déterminant est nul, c'est-à-dire si l'égalité est vraie (donc si le point appartient à la droite), alors la fonction renvoie \og True \fg, sinon elle renvoie \og False \fg.
\end{itemize}

\item Testons cette fonction avec les deux points donnés dans l'énoncé:
\begin{console}
>>> B = (4, -7)
>>> appartient(d,B)
True
>>> C = (6, -8)
>>> appartient(d,C)
False
\end{console}

Le point $B$ appartient bien à $(d)$, mais pas le point $C$.
\end{enumerate}
