

\documentclass[11pt]{article}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}          % les bons codes pour les bonnes lettres
\usepackage{listings}% pour les listings informatiques
\usepackage[frenchb]{babel}
\usepackage{keystroke}% pour les touches du clavier
\usepackage{amsmath,amsfonts,amsthm,geometry,pst-all}
\usepackage{amssymb}
\geometry{a4paper,left=1cm,right=1cm,top=1cm,bottom=1cm,noheadfoot}
\usepackage{pifont}
\usepackage{graphicx}
%\usepackage{yhmath} %pour faire un arc de cercle $\wideparen{AB}$ 
\usepackage{eurosym} % pour avoir le symbole euro \euro
\pagestyle{empty}
\setlength{\parindent}{0cm}
\usepackage{multicol}
\usepackage{slashbox} %pour barrer une cellule d'un tableau
\usepackage{color}
\usepackage{mathrsfs, wasysym} % mathscfs donne accès aux lettres curvilignes
\usepackage{pstricks,pstricks-add,pst-math,pst-xkey} % packages utiles pour le pstricks
\usepackage{multirow,colortbl,tabularx} % packages utilisés dans un tableau (tabular)
\usepackage{array}
\usepackage{calc,fp}

\makeatletter
\define@key[psset]{}{transpalpha}{\pst@checknum{#1}\pstranspalpha}
\psset{transpalpha=1}
\def\psfs@transp{%
  \addto@pscode{/Normal .setblendmode \pstranspalpha .setshapealpha }%
  \psfs@solid}
%%%%%%%%%%%%%%%%%%%%%%%%%% Ceci sert lorsqu'on remplit une figure géométrique

\newcounter{numero}
\newcommand{\partie}{
\addtocounter{numero}{1}%
\textbf{\psframebox*[fillcolor=black!60]{\textbf{\white Partie \arabic{numero}:}}}\quad}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% incrémente le numéro de la partie

\setlength\leftmargini{0.73cm}
\renewcommand{\labelenumi}{\psframebox*[fillcolor=black!25]{\textbf{\white{\arabic{enumi}.}}}}
\setlength\leftmarginii{0.40cm}
\renewcommand{\labelenumii}{\textbf{\alph{enumii}.}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% définition des items

\newcounter{degradecadre}
\newcounter{ptinit}
\newcounter{ptfin}
\newcounter{ycadreinit}
\newcounter{ycadrefin}
\newcommand{\cadre}[2]{\begin{pspicture}(0,0)(19,1.4)
	\multido{\i=1+1}{16}{
		\multido{\n=1+1}{2}{
			\FPeval{\degradecadre}{90-\i*4}
			\FPeval{\ptinit}{1.1875*(\i-1)}
			\FPeval{\ptfin}{1.1875*(\i-1)+1.1875}
			\FPeval{\ycadreinit}{(\n-1)*1.4}
			\FPeval{\ycadrefin}{(\n-1)*1.4+0.1}
			\psframe[fillstyle=solid,fillcolor=black!\degradecadre,linestyle=none](\ptinit,\ycadreinit)(\ptfin,\ycadrefin)}}
	\psframe[fillstyle=solid,fillcolor=black!90,linestyle=none](0,0)(0.1,1.4)
	\psframe[fillstyle=solid,fillcolor=black!26,linestyle=none](18.9,0)(19,1.4)
	\rput(9.5,1){#1} \rput(9.5,0.4){#2}
\end{pspicture}\par}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% cadre et titre

\newcounter{degrade}
\newcounter{ptdepart}
\newcounter{ptfinal}
\def\lignetirets{\begin{pspicture}(0,0)(19,0.2)
	\multido{\i=1+1}{16}{
		\FPeval{\degrade}{90-\i*4}
		\FPeval{\ptdepart}{1.2*(\i-1)}
		\FPeval{\ptfinal}{1.2*(\i-1)+1}
		\psframe[fillstyle=solid,fillcolor=black!\degrade,linestyle=none](\ptdepart,0)(\ptfinal,0.2)}
\end{pspicture}\par}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ligne tirets

\renewcommand\rmdefault{phv}

\newcommand{\procedure}[3]{
	\setlength{\arrayrulewidth}{1.8pt}
	\begin{tabularx}{#1}[t]{|X}
		\rowcolor[gray]{0.6}
		\textcolor{white}{#2}\\ 
		\cellcolor{gray!20}
		#3\\
	 \hline
	\end{tabularx}
	\setlength{\arrayrulewidth}{0.6pt}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% crée les cadres pour Procédure; en paramètre, on met le texte

\newcommand\R{{\mathbb R}} % les réels
\newcommand\Q{{\mathbb Q}} % les rationnels
\newcommand\Z{{\mathbb Z}} % les entiers relatifs
\newcommand\D{{\mathbb D}} % les décimaux
\newcommand\N{{\mathbb N}} % les entiers naturels
\newcommand\bC{{\mathbb C}} % les complexes
\newcommand\bc{{\mathscr C}} % pour les courbes
\newcommand\Pl{\mathscr{P}} % pour les plans
\newcommand\Oij{$\left(O;~\vec{i},~\vec{j}\right)$} % pour nommer un repère (O;i,j)
\newcommand\cad{c'est-à-dire}
\newcommand\e{\mathrm{e}} %pour écrire correctement le nombre e
\renewcommand\i{\mathrm{i}} %pour écrire correctement le nombre i
\renewcommand\d{\,\text{d}} % pour avoir un d droit dans l'intégrale

\newcommand{\ve}[1]{\overrightarrow{#1}} %pour les vecteurs
\newcommand{\Cnp}[2]{\displaystyle{{#1 \choose #2}}} % pour les p parmi n
\newcommand{\systeme}[2]{\left\{\begin{array}{l}
	#1\\
	#2\\
\end{array}\right.} % pour créer un système de deux équations

\makeatletter
\newlength{\@longarc}
\newcommand{\arc}[1]{\settowidth{\@longarc}{$#1$}
	\addtolength{\@longarc}{-0.2em}
	\unitlength \@longarc
	\ensuremath{
		\stackrel{\begin{picture}(1,0.2)
			\qbezier(0,0)(0.5,0.2)(1,0)
		\end{picture}}
		{#1}
	}}




%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%   Pour les listings de code et les réponses du logiciel


\usepackage{bold-extra,fancyvrb}
\usepackage[scaled=0.85]{luximono}
\DefineVerbatimEnvironment{boxedverbatim}{Verbatim}{gobble=2,frame=single,framesep=4mm,label=\textit{\small
    Réponse du logiciel}}

\definecolor{0.9white}{rgb}{0.9,0.9,0.9}
\definecolor{0.2white}{rgb}{0.2,0.2,0.2}


\lstloadlanguages{XCAS}
\lstset{numbers=none,language=XCAS,xleftmargin=10pt,%
keywordstyle =\color{0.2white}\bfseries\usefont{OT1}{cmtt}{b}{n},basicstyle=\ttfamily,commentstyle=\normalfont\scriptsize\itshape,%\small,
    backgroundcolor=\color{0.9white},breaklines=true}
   

\newcommand\Prog[1]{{\bfseries\ttfamily #1}}

\newcommand{\code}[1]{\texttt{#1}}


% %%% un ; avec un peu d'espace autour pour les intervalles
\newcommand{\pv}{\ensuremath{\: ; \,}}

%%%%%%%%%%%%%%%%%%%%% pour créer un arc de cercle
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Début du document %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



\begin{document}
\setlength{\unitlength}{1mm}

\cadre{\LARGE \emph{COLINÉARITÉ DANS UN REPÈRE}}{\Large \emph{ Résolutions d'exercices accélérées par XCAS}}



\textbf{Compétences mathématiques\::}\par
	\hspace{1cm} $\bullet$ Condition de colinéarité de deux vecteurs du plan muni d'un repère.

\textbf{Compétences informatiques\::}\par
	\hspace{1cm} $\bullet$  Créer des fonctions, résoudre  des équations, créer  et utiliser des
        points et des vecteurs du plan.

%\textbf{Prérequis\::}\par
	%\hspace{1cm} $\bullet$  

\lignetirets

\procedure{\linewidth}{Le but}{Nous  allons créer des outils  de calcul qui colleront  au plus près
  du cours de mathématiques et nous permettront  de résoudre de nombreux exercices en se concentrant
  sur les nouvelles notions vectorielles sans nous perdre dans les calculs qu'effectura pour nous \Prog{XCAS}}



\partie \textbf{Exercice guidé}\\
\procedure{\linewidth}{L'énoncé}{Il  s'agit de l'exercice  76 page  325 du  Radial paru  chez Belin,
  édition 2004.}

\begin{enumerate}
\item \textbf{On considère les points $A \left(-\frac{3}{2},2\right)$, $B \left(1,-2\right)$ et $C \left(3,\frac{1}{2}\right)$}\\

On  ouvre pour  traiter l'exercice  une fenêtre  de géométrie  en tapant  simultanément sur  \Alt et
\keystroke{p}, puis on crée les points~:
\begin{lstlisting}
A:=point(-3/2,2);B:=point(1,-2);C:=point(3,1/2)
\end{lstlisting}

\item \textbf{On détermine les coordonnées du point D tel que ACBD soit un parallélogramme}

Pour cela, on pose $(x,y)$ les coordonnées cherchées de D et on sait que ACBD est un parallélogramme
si, et seulement si, $\ve{CA}=\ve{BD}$ par exemple. Ceci est équivalent au système~:

\[\systeme{x_{\ve{CA}}=x_{\ve{BD}}}{y_{\ve{CA}}=y_{\ve{BD}}}\]

On obtient en fait deux équations (une par
coordonnée) d'inconnues $x$ et $y$ qu'il s'agit de résoudre. On utilise pour cela la commande \code{resoudre(équation,[inconnues])}~:

Pour  nous faciliter  la  vie, nous  allons construire  une  procédure \texttt{CV}  qui donnera  les
coordonnées d'un vecteur défini par deux points~:

\begin{lstlisting}
CV(M,N):={coordonnees(vecteur(M,N))}:;
\end{lstlisting}

Il ne reste plus qu'à résoudre $\ve{CA}=\ve{BD}$~:


\begin{lstlisting}
resoudre(CV(C,A)=CV(B,point(x,y)),[x,y])
\end{lstlisting}

On obtient une liste contenant un seul couple solution qui correspond aux coordonnées de D. 

Pour  prendre le  premier élément  d'une liste  \code{L}, on  tape \code{L[0]}  car \Prog{XCAS}  commence à
compter à partir de zéro~!

Donc ici,  on peut définir  le point D comme  le point dont  les coordonnées sont le  premier couple
solution de l'équation, c'est-à-dire le numéro zéro~:

\begin{lstlisting}
D:=point(resoudre(CV(C,A)=CV(B,point(x,y)),[x,y])[0])
\end{lstlisting}

Le point s'affiche dans le repère et on a ses coordonnées exactes.


\item \textbf{Déterminez les coordonnées du point M défini par $\ve{AM}=\frac{2}{3}\ve{AC}$}

Posons à  nouveau $(x,y)$ les  coordonnées inconnues du  point M. On traduit  directement l'équation
vectorielle, presque telle quelle~:

\begin{lstlisting}
M:=point(resoudre(CV(A,point(x,y))=(2/3)*CV(A,C),[x,y])[0])
\end{lstlisting}

\item \textbf{Déterminez les coordonnées du point E, symétrique du point D par rapport au point M}

Cette fois, on définit  le point E comme solution de l'équation  vectorielle $\ve{DM}=\ve{ME}$ car M
est le milieu du segment $[D,E]$~:

\begin{lstlisting}
E:=point(resoudre(CV(D,M)=CV(M,point(x,y)),[x,y])[0])
\end{lstlisting}


\procedure{\linewidth}{Remarque}{   On   aurait  pu   utiliser   une   commande  \Prog{XCAS}   toute
  faite~:~\code{E:=symetrie(M,D)}\dots mais c'est de la triche car on ne colle plus à notre cours et
  on laisse tout faire au logiciel.}

\item \textbf{Déterminez les coordonnées du point N, milieu de [B,E]}

On peut par exemple définir le point N par $\ve{BE}=2 \ve{BN}$~:

  \begin{lstlisting}
N:=point(resoudre(CV(B,E)=2*CV(B,point(x,y)),[x,y])[0])
  \end{lstlisting}


\procedure{\linewidth}{Remarque}{ Là encore, on aurait pu utiliser une commande \Prog{XCAS} toute
  faite~:~\code{N:=milieu(B,E)}}


\item \textbf{Démontrez que le point N appartient à la droite (AC)}

L'idée est  d'utiliser la  condition de  colinéarité de deux  vecteurs $\ve{u}$  et $\ve{v}$  vue en
cours. Pour cela, nous allons créer une fonction qu'on appellera par exemple \code{nemo}~:

\begin{lstlisting}
nemo(u,v):=abscisse(u)*ordonnee(v)-abscisse(v)*ordonnee(u)
\end{lstlisting}

Comme vous connaissez votre cours, vous savez que \code{nemo(u,v)} sera nul si, et seulement si, les
deux vecteurs $\ve{u}$ et $\ve{v}$ sont colinéaires. Ici, cela donne~:

\begin{lstlisting}
nemo(vecteur(A,C),vecteur(A,N))
\end{lstlisting}

qui répond bien zéro, donc les points A, N et C sont bien alignés.


\item \textbf{Déterminez l'ordonnée du point P d'abscisse 4 qui appartient à la droite (DM)}

Vous devez savoir que le point P appartient à  la droite (DM) si, et seulement si, les points M,D et
P  sont  alignés, c'est-à-dire  si,  et  seulement si,  les  vecteurs  $\ve{DM}$  et $\ve{DP}$  sont
colinéaires.  Faisons donc  encore appel  à  \code{nemo(u,v)} pour  répondre à  la question.  Posons
$(4,y)$ les coordonnées de P. Alors $y$ est solution de l'équation \code{nemo}$(\ve{DM},\ve{DP})=0$,
ce qui s'écrit~:

\begin{lstlisting}
yp:=resoudre(nemo(vecteur(D,M),vecteur(D,point(4,y)))=0,y)[0]
\end{lstlisting}

Alors P peut être défini par~:

\begin{lstlisting}
P:=point(4,yp)
\end{lstlisting}

\item \textbf{Une touche esthétique}

Pour rendre notre figure plus jolie, mettons de la couleur~:

\begin{lstlisting}
couleur(quadrilatere(A,C,B,D),bleu+epaisseur_ligne_3)
couleur(segment(B,E),vert)
droite(D,M)
droite(A,C)
\end{lstlisting}

\end{enumerate}

\vspace{1cm}

\partie \textbf{À vous de jouer}\\

Utilisez \Prog{XCAS} comme super-calculateur pour résoudre les exercices 77 à 81 de la même page.

\vspace{1cm}

\partie \textbf{Avec un peu d'imagination}\\

Nous avons vu  en cours que le point $M$  de coordonnées $(x,y)$ appartient à la  droite (AB) si, et
seulement si, les vecteurs $\ve{AM}$ et $\ve{AB}$ étaient alignés.

Imaginez alors un moyen pour obtenir $y$ en fonction de $x$ à l'aide de \code{nemo}, \code{resoudre}
et \code{vecteur}. 

Pouvez-vous donner un nom à cette égalité~?


\end{document}




%%% Local Variables: 
%%% mode: latex
%%% TeX-master: t
%%% End: 
