\documentclass[a4paper,11pt]{book}
\textheight 23 cm
%\usepackage{graphicx}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{stmaryrd}
\usepackage{makeidx}
\usepackage{times}
%\usepackage{mathptmx}
%Uncomment next line for pdflatex and use includegraphics with eps file
% for latex2html don't use the option [width=\textwidth]
% check that xfig files are exported magnif 100%

\usepackage{ifpdf}
\ifpdf
 \usepackage[pdftex,colorlinks]{hyperref}
\else
 \usepackage[ps2pdf,breaklinks=true,colorlinks=true,linkcolor=red,citecolor=green]{hyperref}
 \usepackage{pst-plot}
\fi
\usepackage{graphicx}
%\def\@evenhead{\thepage\hfill{\footnotesize\textit{\leftmark}}}
%\def\@oddhead{\footnotesize{\textit{\rightmark}}\hfill\thepage}
%\usepackage{hp}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[francais]{babel}
\usepackage{latexsym}

\newcommand{\R}{{\mathbb{R}}}
\newcommand{\C}{{\mathbb{C}}}
\newcommand{\Z}{{\mathbb{Z}}}
\newcommand{\N}{{\mathbb{N}}}
\title{Curiosit\'es et traduction pour\\ xcas}
\makeindex
\author{Ren\'ee De Graeve}

\begin{document}
\maketitle
\chapter{Pour s'amuser en arithm\'etique}
\section{Calcul de $55555556^2-44444445^2$}
Calculer 
$55555556^2-44444445^2$ et plus g\'en\'eralement calculer
$(5...56)^2-(4...45)^2$ pour des nombres ayant  $p$ chiffres.\\

On calcule avec {\tt xcas} :\\
$6^2-5^2=11$ (l'\'ecriture d\'ecimale comporte 2 fois le chiffre un), \\
$56^2-45^2=1111$ (l'\'ecriture d\'ecimale comporte 4 fois le chiffre un),\\
....\\
$55555556^2-44444445^2=1111111111111111$ (l'\'ecriture d\'ecimale comporte 16  
fois le chiffre un\\
Il semble donc que l'on a \`a d\'emontrer que :\\
$(5...56)^2-(4...45)^2$ pour des nombres ayant $p$ chiffres vaut un nombre dont
l'\'ecriture d\'ecimale comporte $2p$ fois le chiffre un.\\
Pour le d\'emontrer, on va simplement d'utiliser l'identit\'e remarquable :\\
$a^2-b^2=(a-b)(a+b)$\\
On a ($p=8$) :\\
$55555556^2-44444445^2=(55555556+44444445)(55555556-44444445)=100000001*11111111=1111111111111111$.\\
Plus g\'en\'eralement, si on pose $x_p$ le nombre qui s'\'ecrit avec $p$ fois 
le chiffre 1,
on doit calculer :\\
$(5*x_p+1)^2-(4*x_p+1)^2=(9*x_p+2)(x_p)$.\\
On a $\displaystyle x_p=11...1=10^{p-1}+...10+1=\frac{10^p-1}{9}$ donc :\\
$9x_p+2=10^p+1$ et \\
$\displaystyle (9x_p+2)(x_p)=10^px_p+x_p=\frac{10^{2p}-10^p}{9}+\frac{10^p-1}{9}=\frac{10^{2p}-1}{9}=x_{2p}$\\
Ou plus simplement :\\
 $10^px_p$ s'\'ecrit avec  $p$ fois le chiffre 1 suivi de p fois le 
chiffre 0, donc  $10^px_p+x_p$ s'\'ecrit avec  $2p$ fois le chiffre 1.
\subsection{Trouver un exemple du m\^eme type}
On remarque que pour obtenir le m\^eme r\'esultat il suffit que :\\
$a=k*x_p+1$ et $b=h*x_p+1$ avec $0 \leq h<k \leq 9$.\\
On a $a-b=(k-h)x_p$, il faut donc faire en sorte que
$a+b=10^p+1$\\
On a $a+b=(h+k)x_p+2$ c'est \`a dire prendre $h+k=9$ avec $k>h$.\\
Si $k=8$ et $h=1$ on a $88888889^2-11111112^2=7777777777777777$\\
Si $k=7$ et $h=2$ on a $77777778^2-22222223^2=5555555555555555$\\
Si $k=6$ et $h=3$ on a $66666667^2-33333334^2=3333333333333333$\\
Si $k=5$ et $h=4$ on a l'exemple trait\'e.
\section{Si $b=11115555$ alors $b+1$ est un carr\'e}
\subsection{V\'erification avec {\tt Xcas}}
\noindent On tape :\\
{\tt sqrt(11115556)}\\
On trouve :\\
{\tt 3334}\\
On v\'erifie :\\
${\tt 3334^2=11115556}$
\subsection{G\'en\'eralisation}
On remarque que :\\
${\tt 15+1=4^2}$\\
${\tt 1155+1=34^2}$\\
Soit $b=11...155...5$ dont l'\'ecriture contient $p$ fois le chiffre 1 et $p$  
fois le chiffre 5. 
On a donc :\\
si $x$ s'\'ecrit avec $p$ fois le chiffre 1, on a $x=11...1=10^{p-1}+...10+1=\frac{10^p-1}{9}$,\\
$b=x*10^p+5x=x(10^p+5)=\frac{(10^p-1)(10^p+5)}{9}=\frac{(10^{2p}+4*10^p-5)}{9}$\\
Remarque : Pour ne pas alourdir les notations on ne met pas d'indice \`a $x$ ni \`a $b$.\\
On en d\'eduit que :\\
$\displaystyle b+1=\frac{(10^{2p}+4*10^p+4)}{9}={(\frac{10^p+2}{3})}^2$\\
On a :\\
$\displaystyle\frac{10^p+2}{3}=3(\frac{10^p-1}{9})+1=3x+1$\\
Ou encore :\\
puisque $10^p=9x+1$, on a $b+1= x*10^p+5x+1=9x^2+x+5x+1=(3x+1)^2$
Conclusion :\\
$b+1=11...155...5+1$ est le carr\'e de $33...3+1$ dont l'\'ecriture contient 
$p$ fois le chiffre 3.
\subsection{Trouver un exemple du m\^eme type}
On peut faire des essais avec $b$ ayant deux chiffres puis, avec $b$ 
ayant quatre chiffres : quand $b+1$ est-il un carr\'e ? \\
Ou bien :\\
On suppose que $b=m*x*10^p+n*x$ ($0<m<10$ et $0 \leq n<10$) et on cherche $m$ et $n$ pour que $b+1$
soit un carr\'e. \\
On a $10^p=9x+1$ donc $b+1=9m*x^2+m*x+n*x+1=(3*k*x+1)^2$
On choisit pour $m$ un carr\'e ($m=k^2$) : $m=1$ ou $m=4$ ou $m=9$.\\
Si $m=1$ on doit avoir ($m+n=2*3*k$) $m+n=6$ et on retrouve l'exemple trait\'e.
Si $m=4$ on doit avoir ($m+n=2*3*k$) $m+n=12$ et on trouve $n=8$, l'exemple 
cherch\'e est donc :
$44...488...8+1$ est le carr\'e de $66..6+1$\\
Si $m=9$ on doit avoir $m+n=2*3*3=18$ et on trouve $n=9$ l'exemple cherch\'e 
est donc :
$99...9$ dont l'\'ecriture contient $2p$ fois le chiffre 9 est un carr\'e. Cela
on le savait!!! puisque $99...9+1=10^{2p}=(10^p)^2$

\section{495 et 6174}
\'Etant donn\'e un nombre $n$ de $s$ chiffres au plus non tous \'egaux, on 
d\'efinit le nombre $nA$ obtenu en 
rangeant les chiffres de $n$ dans l'ordre croissant et le nombre $nD$ obtenu en
rangeant les $s$ chiffres de $n$ dans l'ordre d\'ecroissant en rajoutant des 
z\'eros pour que $nD$ ait $s$ chiffres (si $n=21$, $nA=12$ et $nD=2100$).\\  
Soit $f$ la fonction qui a $n$ fait correspondre $nD-nA$.
On veut \'etudier les points fixes de $f$ pour $s=3$ et pour $s=4$.
On va montrer que pour $s=3$, $f$ a un point fixe qui est \'egal \`a 495 et 
que pour tout $n$, $f@6(n)=495$ ($f@@6(n)$ d\'esigne $f(f(f(f(f(f(n))))))$).\\
On va montrer que pour $s=4$, $f$ a un point fixe qui est \'egal \`a 6174 et 
que pour tout $n$, $f@7(n)=6174$ ($f@@7(n)$ d\'esigne $f(f(f(f(f(f(f(n)))))))$).\\
On va montrer cela \`a l'aide d'un programme qui va tester tous les nombres 
$n$ de 3 (resp 4) chiffres au plus, non tous \'egaux :
ce programme suppose que le r\'esultat est vrai car sinon le programme ne 
s'arr\^ete pas!!!!\\
On remarque que :\\
{\tt f(495)=954-459=495}
{\tt f(6174)=7641-1467=6174}
\subsection{Les chiffres d'un nombre}
La proc\'edure {\tt chiffres0} renvoie un couple compos\'e de la liste des 
chiffres du nombre et du nombre de chiffres.
\begin{verbatim}
chiffres0(n):={
local s,ch;
ch:=string(n);
s:=size(ch);
return (asc(ch)-[seq(48,s)],s);
}
\end{verbatim}
On tape :
{\tt chiffres0(6174)}
On obtient :
{\tt [6,1,7,4],4}
On fait la proc\'edure {\tt nombre} qui reconstitue le nombre \`a partir de la
liste de ces chiffres. Il ne faut pas que la chaine commence par z\'ero car 
sinon {\tt expr} consid\`ere que la chaine est une \'ecriture en base 8 (par 
exemple {\tt expr("016")=14} car en base 8, 14 s'\'ecrit "16".
\begin{verbatim}
nombre(ch):={
local s,j,chaine;
s:=size(ch);
chaine:=char(ch+[seq(48,s)]);
tantque (chaine[j]==0)faire j:=j+1; ftantque;
chaine:=mid(chaine,j);
return expr(chaine);
}
\end{verbatim}
On peut aussi utiliser la commande {\tt horner} de {\tt xcas} qui donne la 
valeur en un point d'un polyn\^ome d\'efinit par la liste de ses coefficients
par puissances d\'ecroissantes.\\
Ainsi  {\tt horner([6,1,7,4],10)=6174}
\subsection{La fonction {\tt f}}
On \'ecrit la fonction {\tt etape0} qui a 2 arguments le nombre {\tt n} et le 
nombre de chiffres autoris\'es {\tt s} : ainsi {\tt f(n)=etape0(n,4)} 
\begin{verbatim}
etape0(n,s):={
local ch,chA,chD,t,nA,nD;
si (n==0) return n;fsi;
ch,t:=chiffres0(n);
chA:=SortA(ch);
chD:=SortD(ch);
nA:=nombre(chA);
nD:=nombre(chD)*10^(s-t);
return nD-nA;
};
\end{verbatim}

En utilisant la fonction {\tt horner} de {\tt xcas} au lieu de  {\tt nombre}, 
on \'ecrit la fonction {\tt etape} ({\tt f(n)=etape(n,4)}) puis, on \'ecrit la 
fonction {\tt test} pour tester un nombre quelconque en it\'erant la fonction 
{\tt f} :
\begin{verbatim}
chiffres(n):={
local ch,t;
ch:=string(n);
t:=size(ch);
return (asc(ch)-[seq(48,t)],t);
};
etape(n,s):={
local ch,chA,chD,t,nA,nD;
(ch,t):=chiffres(n);
chA:=SortA(ch);
chD:=SortD(ch);
nA:=horner(chA,10);
nD:=horner(chD,10)*10^(s-t);;
return nD-nA;
};
test(n,s):={
si (n==0) "0 non permis";fsi;
si (n>10^s) alors return s+" chiffres au plus";fsi;
si (irem(n,horner([seq(1,s)],10))==0) alors 
return s+" chiffres non identiques" 
fsi;
si (s==3) alors
tantque (n!=495) faire print(n);n:=etape(n,s);ftantque;
fsi;
si (s==4) alors
tantque (n!=6174) faire print(n);n:=etape(n,s);ftantque;
fsi;
return n;
};
\end{verbatim}
On \'ecrit une premi\`ere "d\'emonstration" en testant tous les nombres en 
ordonnant leur chiffres pour ne pas faire $10^3$ (resp $10^4$) tests : c'est le
fait que le programme s'arr\^ete qui prouvera que 495 (resp 6174) est un point 
fixe de $f$. 
On compte le nombre $m$ d'it\'erations que l'on doit faire avant d'obtenir 
495 (resp 6174).\\
Pour 495 :
\begin{verbatim}
demo495():={
local j,k,l,u,n,p,m,n0;
p:=0
for (j:=0;j<10;j++){
for (k:=j;k<10;k++){
for (l:=k;l<10;l++){
if (l!=j){
n:=horner([j,k,l],10);
p:=p+1;m:=0;n0:=n;
tantque (n!=495) faire  m:=m+1;n:=etape(n,3);ftantque;
print(n0,m);
}
}
}
}
return p;
}
\end{verbatim}
Pour  6174
\begin{verbatim}
demo6174():={
local j,k,l,u,n,p,m,n0;
p:=0
for (j:=0;j<10;j++){
for (k:=j;k<10;k++){
for (l:=k;l<10;l++){
for (u:=l;u<10;u++){
if (u!=j){
n:=horner([j,k,l,u],10);
p:=p+1;m:=0;n0:=n;
tantque (n!=6174) faire  m:=m+1;n:=etape(n,4);ftantque;
print(n0,m);
}
}
}
}
}
return p;
}
\end{verbatim}
On trouve que pour $s=3$, on a tester {\tt p=210} nombres et pour tous ces 
nombres le nombre d'it\'erations est inf\'erieur ou \'egal \`a 6.\\
On trouve que pour $s=4$, on a tester {\tt p=705} nombres et pour tous ces 
nombres le nombre d'it\'erations est inf\'erieur ou \'egal \`a 7.\\
On peut par exemple retrouver le nombre {\tt p=705} en comptant :\\
Les nombres qui ont 4 chiffres diff\'erents :\\
il y en a {\tt comb(10,4)=210} (choix de 4 \'el\'ements parmi 10),\\
Les nombres qui ont 2 chiffres \'egaux et 2 chiffres diff\'erents :\\
il y en a {\tt comb(3,1)*comb(10,3)=360} (choix de 3 \'el\'ements parmi 10 et 
choix de 1 parmi 3 pour savoir le chiffre qui sera r\'ep\'et\'e),\\
Les nombres qui ont 2 fois 2 chiffres \'egaux :\\
il y en a {\tt comb(10,2)=45} (choix de 2 \'el\'ements parmi 10),\\
Les nombres qui ont 3 chiffres \'egaux :\\
il y en a {\tt comb(2,1)3*comb(10,2)=90} (choix de 2 \'el\'ements parmi 10 et 
choix de 1 parmi 2 pour savoir le chiffre qui sera r\'ep\'et\'e),\\
Donc en tout : {\tt 210+360+45+90=705}
On remarque que :
\begin{itemize}
\item si $s=3$, $nD=a*10^2+b*10+c$ avec $a\geq b\geq c$ et 
$a>c$ on a $nA=c*10^2+b*10+a$ et
$nD-nA=(a-c)*(10^2-1)$ ou encore
$nD-nA=9*(a-c)*11$ avec $10>a-c>0$\\
On peut donc faire une d\'emonstration plus rapide puisqu'il suffit de 
regarder 9 nombres au lieu de 210. Les nombres de la forme $k*(10^2-1)$ 
s'\'ecrivent si $k+k1=10$, $[k00]-[k]=[(k-1)9k1]$, il suffit donc de tester
les 5 nombres :\\
{\tt 099,198,297,396,495}.

\item si $s=4$, $nD=a*10^3+b*10^2+c*10+d$ avec $a\geq b\geq c\geq d$ et 
$a>d$ on a $nA=d*10^3+c*10^2+b*10+a$ et
$nD-nA=(a-d)*(10^3-1)+(b-c)*10^2-10$ ou encore
$nD-nA=9*((a-d)*111+(b-c)*10)$ avec $10>a-d>0$ et $10>b-c \geq 0$.\\
On peut donc faire une d\'emonstration plus rapide puisqu'il suffit de 
regarder 90 nombres au lieu de 705.\\
On \'ecrit :\\
\begin{verbatim}
demorapide():={
local j,k,n,p,m,n0;
for (j:=1;j<10;j++){
for (k:=0;k<10;k++){
n:=9*(j*111+k*10)
m:=0;n0:=n;
tantque (n!=6174) faire  m:=m+1;n:=etape(n,4);ftantque;
print(n0,m);
}
}
return "fin";
}

\end{verbatim}
On cherche la liste des nombres \`a tester :
\begin{verbatim}
atester():={
local j,k,n,ch,nA,chA,l;
l:=[];
for (j:=1;j<10;j++){
for (k:=0;k<10;k++){
n:=9*(j*111+k*10);
ch:=chiffres(n)[0];
chA:=SortA(ch);
nA:=horner(chA,10);
if (member(nA,l)==0) {l:=append(l,nA);}
}
}
return sort(l);
}
\end{verbatim}
On obtient une liste de 30 \'el\'ements  :
\begin{verbatim}
[189,288,378,468,558,999,1179,1269,1278,1359,1377,1449,
1467,1557,1899,2268,2358,2367,2448,2466,2556,2799,3357,
3447,3456,3555,3699,4446,4455,4599]
\end{verbatim}
On teste les nombres de cette liste dans {\tt demorapide2} :
\begin{verbatim}
demorapide2():={
local l,s,n,n0,m,j;
l:=atester();
s:=size(l);
for (j:=0;j<s;j++){
n:=l[j];
n0:=n;
m:=0;
tantque (n!=6174) faire  m:=m+1;n:=etape(n,4);ftantque;
print(n0,m);
}
return "fin";
}
\end{verbatim}
On trouve par exemple que pour 9351=9*(9*111+4*10) il faut 6 it\'erations. 
Mais comme f(9730)=9730-379=9351, pour 9730 il faut 7 it\'erations. 
\end{itemize}
\subsection{Un peu de math\'ematiques}
Comment s\'ecrivent, en base 10, les nombres de la forme {\tt 9*(a*111+b*10)} 
o\`u {\tt a} et {\tt b} sont des entiers entre 0 et 9 avec {\tt 0<a}.
On a (si on \'ecrit le  nombre $100*a+b*10+c$ de chiffres $a,b,c$ 
sous la forme $[abc]$ :\\
{\tt 9*(a*111+b*10)=(10-1)*(a*111+b*10)=}
{\tt [aaa0-(aa0+a)+b00-b0]=[ab00-ba]=}
si {\tt b>0} {\tt [a(b-1)b1a1]} avec {\tt a+a1=10} et {\tt b+b1=9} (cela fait 
25 nombres \`a traiter).\\  
si {\tt b=0} {\tt [(a-1)99a1]} avec {\tt a+a1=10} (cela fait 5 nombres \`a 
traiter).\\ 
Les couples  {\tt aa1} et {\tt (b-1)b1} sont donc :\\
{\tt 55 46 37 28 19} et {\tt 44 35 26 17 08}
Les nombres \`a traiter sont donc :\\
{\tt 5544 5535 5526 5517 5508 4644 4635 4626 4617 4608 3744 3735 3726}\\
{\tt 3717 3708 2844 2835 2826 2817 2808 1944 1935 1926 1917 1908} \\
et\\
{\tt 999 1899 2799 3699 4599}\\
On retrouve la liste obtenue pr\'ec\'edemment :
{\tt [189,288,378,468,558,999,1179,1269,1278,1359,1377,1449,}\\
{\tt 1467,1557,1899,2268,2358,2367,2448,2466,2556,2799,3357,}\\
{\tt 3447,3456,3555,3699,4446,4455,4599]}
\subsection{Prolongements}
On peut regarder ce qui se passe pour $s=2$, $s=5$ etc ...
Par exemple pour $s=2$ les it\'er\'es de {\tt 12} sont :\\
{\tt 9,81,63,27,45,9....} il n'y a donc pas de point fixe.\\
On trouve par exemple que les it\'er\'es de {\tt 02345} sont :\\
{\tt 51975},{\tt 81972},{\tt 85932},{\tt 74943} et {\tt 74943} est un point 
fixe et \\   
que les it\'er\'es de {\tt 12345} sont {\tt 41976...} et {\tt 41976} est aussi un 
point fixe.\\
que les it\'er\'es {\tt 31777}  sont {\tt 63954...} et  on trouve un autre 
point fixe {\tt 63954}
Il y a donc plusieurs points fixes. Il faut trouver ces points fixes et aussi
savoir si les it\'er\'es aboutissent toujours a un point fixe ou si il existe des cycles.\\
Les points fixes trouv\'es s'\'ecrivent $[ab9(8-b)(10-a)]$, testons alors des 
nombres de cette formes :\\
{\tt 31977} : on trouve  un autre point fixe {\tt 83952}\\
{\tt 32967} : on trouve  un autre point fixe {\tt 73953}\\
{\tt 12969} : on trouve  un autre point fixe {\tt 86922}\\
A vous de jouer !!!!

\section{La suite 1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5,....}
On consid\`ere la suite $u$ d\'efinie par :\\
$u_0$=1 (un 1), $u_1=u_2$=2 (deux 2), $u_3=u_4=u_5$=3 (trois 3) etc...\\
Quel est la valeur de $u_{2010}$ ?
\subsection{La correction avec un programme {\tt Xcas}}
{\bf Attention !!!} en {\tt Xcas} les indices commencent \`a 0.\\
On peut \'ecrire un programme qui renvoie la liste des $p+1$ premiers termes de 
cette suite et qui donne la valeur du dernier terme qui est d'indice $p$.\\
On tape :
\begin{verbatim}
valeurL(p):={
local j,n,L;
j:=0;
n:=1;
L:=[1];
tantque j<p faire
  n:=n+1;
  j:=j+n;
  L:=append(L,n$n);
ftantque;
L:=mid(L,0,p+1);
retourne L,n;
}
:;
\end{verbatim} 
On tape :\\
{\tt valeurL(2010)[1]}\\
On obtient :\\
{\tt 63}
\subsection{La correction math\'ematique avec {\tt Xcas}}
On a : 
\begin{itemize}
\item 1 a pour indice 0=1-1
\item 2 a pour indice 1 et 2=1+1
\item 3 a pour indice 3=1+2, 4 et 5=1+2+(3-1)
\item 4 a pour indice 6=1+2+3, 7, 8 et 9=1+2+3+(4-1)
\item ....
\item $p$ a pour indice  $1+2+...+p-1=p(p-1)/2$,... $p(p-1)/2+p-1=p(p+1)/2-1$ ou
encore si $1+2+...+p-1=p(p-1)/2 \leq k<p(p-1)/2+p-1=p(p+1)/2$ alors $u_k=p$
\end{itemize}
On cherche $p=u_{2010}$ c'est \`a dire on cherche $p$ v\'erifiant :\\
$p(p-1)/2\leq 2010< p(p+1)/2$ ou encore \\
$p(p-1)\leq 4020< p(p+1)$ ou encore \\
$p^2-p-4020 \leq 0$ et $p^2+p-4020 > 0$ et $p>0$\\
Donc $p$ est entre les racines de $x^2-x-4020$ est est sup\'erieur \`a la plus 
grande racine de  $x^2+x-4020$ c'est \`a dire :\\
$-1/2+\sqrt{1+4*4020}/2<p \leq 1/2+\sqrt{1+4*4020}/2<p+1$  c'est \`a dire\\
$p$ est la partie enti\`ere de $1/2+\sqrt{1+4*4020}/2=1/2+\sqrt{1/4+4020}$.\\
On peut donc utiliser la fonction {\tt round}, on a {\tt round(a)=floor(a+0.5)}
 et donc {\tt k=round(sqrt(2*p+0.25))}.\\
On peut remarquer que :\\
$k(k-1)=(k-1/2)^2-1/4$\\
$k(k+1)=(k+1/2)^2-1/4$\\
On cherche $k$ tel que : $k(k-1)=(k-1/2)^2-1/4 \leq 2p<(k+1/2)^2-1/4=k(k+1)$
c'est \`a dire $(k-1/2)^2\leq 2p+1/4<(k+1/2)^2$
donc {\tt k=round(sqrt(2*p+0.25))}
On tape : 
\begin{verbatim}
valeur(p):={
local k;
k:=round(sqrt(2*p+0.25));
retourne k;
}
:;
\end{verbatim} 
On tape :\\
{\tt valeur(2010)}\\
On obtient :\\
{\tt 63}\\
On tape :
{\tt valeur(63*31)}\\
On obtient :
{\tt 63}\\
On tape :
{\tt valeur(63*32-1)}\\
On obtient :
{\tt 63}\\
On tape :
{\tt valeur(63*32)}\\
On obtient :
{\tt 64}\\
car $63*62/2=63*31=1953<2010<63*32-1=2015=63*62/2+63-1$.
Les 63 termes d'indices 1953,1954,....2015 valent donc 63.


\section{7 a un multiple qui ne s'\'ecrit qu'avec des 1}
\subsection{Essais avec {\tt Xcas}}
On tape :\\
{\tt irem(1,7)}  r\'eponse {\tt 1}\\
{\tt irem(11,7)}  r\'eponse {\tt 4}\\
{\tt irem(111,7)}  r\'eponse {\tt 6}\\
{\tt irem(1111,7)}  r\'eponse {\tt 5}\\
{\tt irem(11111,7)}  r\'eponse {\tt 2}\\
{\tt irem(111111,7)}  r\'eponse {\tt 0}
\subsection{Observations}
1/ On n'a pas obtenu {\tt 3} comme reste car :\\
{\tt irem(31,7)=3}  et donc \\
{\tt irem(311...1,7)=3}\\
2/ Pourquoi obtient-on {\tt 0} comme reste ?\\
notons $\displaystyle x_p=11...1=\frac{10^p-1}{9}$ le nombre s'\'ecrivant avec $p$ fois le 
chiffre 1. On veut montrer qu'il existe $p$ tel que $x_p$ est divisible par 7.
La suite des restes est p\'eriodique car les restes sont en nombres finis 
 et supposons que :\\
${\tt irem(x_p,7)=irem(x_q,7)}$ avec $p>q$
on a alors :\\
${\tt irem(x_p-x_q,7)=0}$\\
On a $x_p-x_q$ est divisible par 7 et \\
$x_p-x_q=\frac{10^p-10^q}{9}=10^q\frac{10^{p-q}-1}{9}=10^qx_{p-q}$\\
Donc $10^qx_{p-q}$ est divisible par 7, comme 10 et 7 sont premiers entre eux 
on en d\'eduit que $x_{p-q}$ est divisible par 7. 
\subsection{$x_{2003}$ et $x_{2004}$ sont-ils des multiples de 7 ?}
On a $x_6=111111=7*15873$ (iquo(111111,7)=15873 et irem(111111,7)=0)
donc $x_{12}$ est divisible par 7 ainsi que $x_{6k}$.\\
Comme 2004 est divisible par 6, $x_{2004}$ est divisible par 7, par contre 
2003=6k+5 donc le reste de la division de $x_{2003}$ par 7 est le m\^eme que celui de la division de $x_5$ par 7 c'est \`a dire ce reste est \'egal \`a 2.
\section{Tout nombre a un multiple qui ne s'\'ecrit qu'avec des 1 et des 0}
\subsection{Tout nombre premier avec 10 a un multiple qui ne s'\'ecrit qu'avec des 1}
Un nombre qui ne s'\'ecrit qu'avec des 1, sera dit nombre en 1, si il s'\'ecrit
avec $p$ uns, on le notera $x_p$.
On va tout d'abord montrer que tout nombre $n$ premier avec 10 a un multiple 
$m$ qui ne s'\'ecrit qu'avec des 1 (il existe $k$ telque $m=x_p=1..1=k*n$).\\
Si $n$ n'est pas premier avec 10, on \'ecrit $n=2^a*5^b*q$ 
(avec pgcd($q$,10)=1), on multiplie ce nombre $n$ par 
 $2^{b-a}$ si $b>a$ ou par  $5^{a-b}$ si $b<a$  pour obtenir le nombre 
 $q*10^{|a-b|}$ et on applique le r\'esultat pr\'ec\'edent \`a $q$ et obtenir 
ainsi un multiple de $n$ qui s'\'ecrit avec des 1 suivi par $|a-b|$ z\'eros.
Exemple :\\
si $n=37$ on a $37*3=111$\\
si $n=74=2*37$ on a $74*3*5=74*15=1110$\\
si $n=185=5*37$ on a $185*3*2=185*6=1110$\\
\subsection{Des remarques}
Un nombre qui ne s'\'ecrit qu'avec des 1 sera dit nombre en 1, si il 
s'\'ecrit avec $p$ uns, on le notera $x_p$ et on a donc :\\
$x_p=(10^p-1)/9=iquo(10^p-1),9)$.\\
Si un nombre premier avec 10 est le diviseur d'un nombre en 1, il divise une 
infinit\'e de nombre en 1. En effet
$x_{2p}$.... $x_{kp}$ sont des multiple de $x_p$ car on a $x_{2p}=x_p*(10^p+1)$
et $x_{kp}=x_p*(10^{(k-1)p}+...+10^p+1)$.\\
On a $x_2=11$, $x_3=111=3*37$, $x_4=11*101$, $x_5=11111=41*271$....
Existe-t-il des nombres en 1 qui soit premiers ?
Oui! il y $x_{19}$ et $x_{23}$.\\
 On tape :\\
{\tt isprime(iquo(10\verb|^|19-1,9))} et on obtient {\tt true}\\
on tape :\\
{\tt isprime(iquo(10\verb|^|23-1,9))} et on obtient {\tt true}\\
Existe-t-il une infinit\'e de nombres en 1 qui soit premiers ?
On ne sait pas !
\'Etant donn\'e un nombre premier $a$, on va essayer, dans la suite, de trouver
le  plus petit $p$ pour que $a$ soit un diviseur de $x_p$.\\ 
Si $a=3$, on a $p=3$\\
Si $a=37$, on a $p=3$ et 3 est un diviseur de 37-1\\
Si $a=7$, on a $p=6$ et 6 est un diviseur de 7-1\\
\subsection{La suite des restes de 111...1 par $n$}
Pour avoir la suite des restes, on \'ecrit, avec {\tt xcas}, le programme 
suivant :
\begin{verbatim}
resteun(n):={
local r,q,a,b;
a:=0;
b:=0;
while (irem(n,2)==0) {
n:=iquo(n,2);
a:=a+1;
}
while (irem(n,5)==0) {
n:=iquo(n,5);
b:=b+1;
}
r:=1;print(r);
q:=0;
while (r!=0){
r:=10*r+1;
q:=10*q+iquo(r,n);
r:=irem(r,n);
print(r);
}
if (a>b) q:=q*5^(a-b); else q:=q*2^(b-a);
return(q);
};
\end{verbatim} 
Ce programme suppose que le r\'esultat est vrai car sinon le programme ne 
s'arr\^ete pas!!!!\\
Le fait de faire afficher les restes de la division de 
1, 11, 111,... par $n$ montre d\'ej\`a que la suite des restes est 
p\'eriodique puisque ces restes sont en nombre fini car ils 
sont positifs ou nuls et inf\'erieurs \`a $n$. Mais pourquoi la suite des
restes contient-elle toujours 0 ? \\
Supposons que $(10^k-1)/9$ et $(10^l-1)/9$ aient le m\^eme reste dans la 
division par $n$ (avec $pgcd(n,10)=1$ et $k>l$). 
Cela veut dire que $(10^k-10^l)/9=10^l*(10^{k-l}-1)/9$ est divisible par $n$
donc que $(10^{k-l}-1)/9$ est divisible par $n$ ($n$ divise 
$10^l*(10^{k-l}-1)/9$ $n$ est premier avec $10^l$ donc $n$ divise 
$(10^{k-l}-1)/9$, ce qui prouve bien que la suite des restes contient 0 (le nombre form\'e par $k-l$ 1 est divisible par $n$).
\subsection{Relation entre $n$ et $p$ le nombre de 1 de $x_p$=111...1 o\`u 
$x_p$ est un multiple de $n$}
On cherche la fonction $R$ de $n$ qui d\'etermine $p$, o\`u $p$ est le plus 
petit entier tel que $x_p=11...1=\frac{10^p-1}{9}$ soit un multiple de $n$.
Ce qui veut dire que $\frac{10^p-1}{9}=0\ \bmod\ n$
\subsubsection{Quelques essais}
Tout d'abord quelques essais :\\
$x_2=11$ est divisible par 11 ($R(11)=2$)\\
$x_{22}$ est divisible par $11^2$ ($R(11^2)=22=2*11$)\\
$x_3=111$ est divisible par 3 et par 37 ($R(3)=3$ et $R(37)=3$))\\
$x_9=111111111$ est divisible par 9\\
$x_{27}$  est divisible par $27=3^3$ ($R(3^3)=3^3$ car $x_{27}=111111111(10^18+10^9+1)$ et $10^18+10^9+1$ est divisible par 3)\\
$x_6$ est divisible par 7 ($R(7)=6$)\\
$x_{42}$ est divisible par $49=7^2$ ($R(7^2)=42=6*7$)\\
$x_6$ est divisibble par 13 ($R(13)=3$ car $x_6=3*7*11*13*37$)\\
$x_6$ est divisible par $21=3*7$ ($R(3*7)=6$)\\
On va montrer que :\\
0/ si $p=R(n)$ ($x_p$ est un multiple de $n$ avec $p$ le plus petit possible)
 alors quelque soit $k$,
$x_{k*p}$ est encore un multiple de $n$, et r\'eciproquement si
$x_c$ est un multiple de $n$, il existe $k$ tel que $c=k*p$\\
1/ si $n$ est un multiple de 3 alors $x_n$ est divisible par $n$ ($p=n$)\\
2/ si $n$ est premier avec 30 alors $p$ est un diviseur de $n-1$\\
3/ si $n$ est premier avec 10, si $n=n_1*n_2$ avec $n_1$ et $n_2$ premiers ($n_1 \neq n_2$), et si $x_{p_1}$ est divisible par 
$n_1$ et $x_{p_2}$ est divisible par $n_2$ alors si $p= ppcm(p_1,p_2)$, 
$x_p$ est divisible par $n$.\\
4/ si $n=n_1^k$ alors si $x_{p_1}$ est divisible par  $n_1$ et si 
$p=p_1*n_1^{k-1}$ alors $x_p$ est divisible par $n$.
\subsubsection{$n$ est une puissance de 3}
On suppose que $n=3^k$, et on  montre par r\'ecurrence sur $k$ que 
$R(3^k)=3^k$ et que $R(3^k)$ n'est pas un multiple de $3^{k+1}$.\\
Pour $k=1$, on a $x_1=1$ et $x_2=11$ ne sont pas divisibles par 3 et $x_3=111$
 est divisible par 3 et $x_3$ n'est pas divisible par 9.\\
supposons la propri\'et\'e vraie pour k-1, $R(3^{k-1}=3^{k-1}$
Posons $b=R(3{k-1})=3^{k-1}$ et $c=R(3^k)$.
Par hypoth\`ese de r\'ecurrence $x_b$ est divisible par $b$ et
$x_c$ est divisible par $3*b$ donc par $b$. Ainsi,
d'apr\`es la r\'eciproque de la propri\'et\'e 0,  $c$ est un multiple de 
$R(b)=b$ : $c=q*b$\\
En mettant $x_b$ en facteur dans $x_c$, on a :\\ 
$x_c=x_b(10^{(q-1)b}+...+10^b+1)$\\
$x_b$ est divisible par $3^{k-1}$ mais pas par $3^k$\\
$x_c$ est divisible par $3^k$ donc $10^{(q-1)b}+...++10^b+1$ est divisible par 
3, donc comme $10^m=1 \ \bmod \ 3$, on en d\'eduit que $q=0 \ \bmod \ 3$,
et comme $c$ est le plus petit possible $q=3$ et $c=q*b=3*b$.\\
Donc $x_c=x_b(10^{2*b}+10^b+1)$ est divisible par $3^k$ mais pas par $3^{k+1}$
car $10^{2*b}+10^b+1)$ n'est pas divisible par 3 ($10^m=1 \ \bmod \ 9$ donc
$10^{2*b}+10^b+1)=3 \ \bmod \ 9$)\\ 
\subsubsection{$n$ est premier sup\'erieur \`a 6}
On cherche donc $p$ tel que $10^p=1\ \bmod\ n$.
La suite des restes possibles est $n$ mais comme $n$ et 9 sont premiers entre 
eux, il existe $u$ et $v$ avec $0<v<n$ uniques (identit\'e de B\'ezout)
tels que :\\
$u*n-v*9=1$ ou encore $10*v+1=u*n+v$ ce qui veut dire que le reste \'egal \`a 
$v$ n'est pas obtenu.\\
Parmi les $n-1$ restes possibles  de la division d'un $x_k$ par $n$,
 consid\'erons la relation d\'equivalence sur les $n$ entiers 0,1,...,$n$-1:\\
$r_1 \simeq r_2$ si il existe $k$ tel que $r_1*10^k +x_k=r_2+q*n$.\\
On a alors puisque $9*x_k+1=10^k$, $r_1-r_2+(9*r_1+1)*x_k=q*n$.\\
On a donc $p$ \'el\'ements \'equivalents \`a 1,
Cherchons la periodicit\'e de la suite des restes de $r_1*10^k +x_k$ par $n$, 
c'est \`a dire le nombre $l$ d'\'el\'ements de la classe $r_1$.
On a $r_1-r_1+(9*r_1+1)*x_l=(9*r_1+1)*x_l=q*n$, donc $n$ divise 
$(9*r_1+1)*x_l$, $n$ est premier avec $(9*r_1+1)$ donc $n$ divise $x_l$
donc $l=p*l_1$
Mais $r_1*10^p+x_p=r_1\  \bmod\  n$ donc $l=p$
Donc si il y a $c$ classes, il y une classe ayant un seul \'el\'ement et les 
autres classes ont $p$ \'el\'ements donc $n=1+p*(c-1)$ c'est \`a dire p divise 
$n-1$.
\section{Le quadrillage}
\subsection{L'\'enonc\'e}
On consid\`ere un rectangle de dimension $p,q$ avec $p$ et $q$ entiers.\\
On munit ce rectangle d'un quadrillage \`a coordonn\'ees enti\`eres.\\
\begin{enumerate}
\item \'Ecrire une fonction qui trace un rectangle de dimension $p,q$, son
quadrillage et une de ses diagonales.
\item On trace une diagonale de ce rectangle.\\
Combien de  de carreaux cette diagonale traverse-t-elle ?\\
On traitera les exemples :
$p=3,q=5$, $p=3,q=6$,$p=6,q=9$,$p=6,q=10$,,$p=6,q=11$....\\
puis on traitera le cas g\'en\'eral.\\
\item \'Ecrire une fonction {\tt nbcarreaux} qui \'etant donn\'e $p,q$ renvoie 
le nombre de carreaux travers\'es par  cette diagonale.\\
Tracer le nuage des points {\tt [x,y=nbcarreaux(240,x)} pour 
$0\geq x \geq 300$. Tracer sur un autre graphique 
la ligne polygonale reliant ces points.
\end{enumerate}
\subsection{La solution}
\begin{enumerate}
\item 
\begin{verbatim}
quadrillage(p,q):={
 local k,j,L:=segment(0,p+i*q);
pour j de 0 jusque p faire
L:=L,segment(j,j+i*q);
fpour; 
pour k de 0 jusque q faire 
L:=L,segment(i*k,p+i*k);
fpour
L;
}:;
\end{verbatim}
On tape :\\
{\tt quadrillage(3,5)}\\
On obtient :\\
\framebox{\includegraphics[width=\textwidth]{quadrillage}}
\item 
On remarque que la diagonale entre dans le premier carreau, puis elle entre 
dans un nouveau carreau lorsqu'elle coupe 
une ligne verticale ou une ligne horizontale ou \`a la fois une ligne verticale
et une ligne vhorizontale.\\
Puisqu'il y a $p-1$ verticales et $q-1$ horizontales \`a traverser, 
si la diagonale ne coupe jamais \`a la fois une verticale et une horizontale 
(c'est \`a dire si elle ne contient pas de points \`a coordonn\'ees enti\`eres
\`a part le point de d\'epart et le point d'arriv\`ee) le 
nommbre de carreaux travers\'es est $1+p-1+q-1=p+q-1$.\\ 
Si la diagonale coupe $r$ fois, une verticale et une horizontale en m\^eme 
temps, c'est \`a dire si elle contient $r+2$ points \`a coordonn\'ees 
enti\`eres (+2 en comptant le point de d\'epart et le point d'arriv\`ee) le 
nommbre de carreaux travers\'es est $p+q-1-r$.\\ 
Que vaut $r$ ?\\
La diagonale a comme \'equation $y=q*x/p =q1*x/p1$ o\`u $p=p1*d$ et $q=q1*d$ 
avec $d=$pgcd($p,q$) et elle aura des points \`a coordonn\'ees enti\`eres 
chaque fois que $x$ est entier et que $p1$ divise $q1*x$. Puisque $p1$ et $q1$ 
sont premiers entre eux, $p1$ divise $q1*x$ si $x$ est un entier multiple de $p1$. Cela se produit lorsque $0\geq x\geq p$,
pour $x=0,x=p1,x=2*p1...x=d*p1=p$, soit $d+1$ fois.\\
On a donc $r+2=d+1$ et le 
nommbre de carreaux travers\'es est $p+q-$pgcd$(p,q)$.\\ 
 \item On tape la fonction {\tt nbcarreaux} :
\begin{verbatim}
nbcarreaux(p,q):={
local d;
d:=gcd(p,q);
return p+q-d;
}
\end{verbatim}
On tape :\\
{\tt nuage\_points([x,nbcarreaux(240,x)]\$(x=0..300))}\\
On obtient :\\
\framebox{\includegraphics[width=\textwidth]{quadrillage1}}
On tape :\\
{\tt plotlist([x,nbcarreaux(240,x)]\$(x=0..300))}\\
On obtient :\\
\framebox{\includegraphics[width=\textwidth]{quadrillage2}}
\end{enumerate}
\section{Les paires carr\'ees}
\subsection{L'\'enonc\'e}
{\bf D\'efinition} \\
On dit que les entiers $p$ et $q$ est une paire carr\'ee si il existe deux 
entiers $a$ er $b$ tels que $q+p=a^2$ et $q-p=b^2$.\\
Par exemple (6,10) est une paire carr\'ee car $10-6=2^2$ et $10+6=4^2$.
\begin{enumerate}
\item \'Ecrire un programme qui en balayant tous les nombres de 0 \`a 100 
donne les paires carr\'ees $(p,q)$ avec $0 \geq p \geq q \geq 100$,
\item Montrer que si $(p,q)$ est une paire carr\'ee alors on a :
$$2q=a^2+b^2 \mbox{ et } 2p=a^2-b^2$$
\item Montrer que quelque soit $n \in \N$ on soit $n^2=1 \bmod 4$, 
soit $n^2=0 \bmod 4$. En d\'eduire alors que $p$ est pair si $(p,q)$ est une 
paire carr\'ee.\\
Modifier votre programme pour tenir compte de cette information.
\item Montrer que $a^2-b^2$ est un multiple de 4. En d\'eduire que
$a$ et $b$ ont m\^eme parit\'e et que $a-b$ est pair. \\
\'Ecrire un programme qui \`a partir de $b$ et de $a=b+2*n$ calcule les valeurs
de $p$ et $q$ v\'erifiant  $q=(a^2+b^2)/2$ et $p=(a^2-b^2)/2$  et 
$0 \geq p \geq q \geq 1000$.
\item Afficher les points de coordonn\'ees $(p,q)$ 
($0 \geq p \geq q \geq 1000$)o\`u $(p,q)$ est une paire carr\'ee.
\item Trouver les \'equations des droites et des courbes en forme de filets
reliants certains de ces points.
\end{enumerate}
\subsection{La solution}
\begin{enumerate}
\item 
\begin{verbatim}
paire_carre1():={
local a,b,q,p,L;
L:=NULL;
pour p de 0 jusque 100 faire
pour q de p jusque 100 faire
a:=sqrt(q+p);
b:=sqrt(q-p);
si (a==floor(a) et b==floor(b)) alors
L:=L,[p,q];
fsi
fpour
fpour
return L
}:;
\end{verbatim}
On tape :\\
{\tt L1:=paire\_carre()}\\
On obtient :
\begin{verbatim}
[0,0],[0,1],[0,4],[0,9],[0,16],[0,25],[0,36],[0,49],
[0,64],[0,81],[0,100],[2,2],[4,5],[6,10],[8,8],[8,17],
[10,26],[12,13],[12,37],[14,50],[16,20],[16,65],
[18,18],[18,82],[20,29],[24,25],[24,40],[28,53],
[30,34],[32,32],[32,68],[36,45],[36,85],[40,41],[42,58],
[48,52],[48,73],[50,50],[54,90],[56,65],[60,61],[64,80],
[70,74],[72,72],[72,97],[80,89],[84,85],[96,100],[98,98]
\end{verbatim}
On tape : {\tt dim(L1)}\\
On obtient; {\tt 49}
\item Si $(p,q)$ est une paire carr\'ee, on a :\\
$q+p=a^2$ et $q-p=b^2$\\
donc $p=(a^2-b^2)/2$, donc $a^2-b^2$ est pair c'est \`a dire 
$a^2-b^2=0 \bmod 4$, soit $a^2-b^2=2 \bmod 4$. 
\item Soit $n \in \N$ ;\\ 
si $n$ est pair alors $n^2=0 \bmod 4$, en effet, si $n=2k$ on a 
$n^2=4k^2$ et\\ 
si $n$ est impair alors $n^2=1 \bmod 4$ en effet si $n=2k+1$ on a 
$n^2=4k^2+4k+1$.\\
\item Donc on a soit $a^2-b^2=0 \bmod 4$, soit $a^2-b^2=1 \bmod 4$ soit 
$a^2-b^2=3 \bmod 4$.\\ 
et puisque $a^2-b^2=0 $ est pair, on en d\'eduit qu $a^2-b^2=0 \bmod 4$ 
on en d\'eduit que $p$ est pair.\\
On tape :
\begin{verbatim}
paire_carre2():={
local a,b,q,p,L;
L:=NULL;
pour p de 0 jusque 100 pas 2 faire
pour q de p jusque 100 faire
a:=sqrt(q+p);
b:=sqrt(q-p);
si (a==floor(a) et b==floor(b)) alors
L:=L,[p,q];
fsi
fpour
fpour
return L
}:;
\end{verbatim}
On tape :\\
{\tt L2:=paire\_carre()}\\
On obtient comme pr\'ec\'edement:
\begin{verbatim}
[0,0],[0,1],[0,4],[0,9],[0,16],[0,25],[0,36],[0,49],
[0,64],[0,81],[0,100],[2,2],[4,5],[6,10],[8,8],[8,17],
[10,26],[12,13],[12,37],[14,50],[16,20],[16,65],
[18,18],[18,82],[20,29],[24,25],[24,40],[28,53],
[30,34],[32,32],[32,68],[36,45],[36,85],[40,41],[42,58],
[48,52],[48,73],[50,50],[54,90],[56,65],[60,61],[64,80],
[70,74],[72,72],[72,97],[80,89],[84,85],[96,100],[98,98]
\end{verbatim}
On tape : {\tt dim(L2)}\\
On obtient; {\tt 49}

\item On a si $(p,q)$ est une paire carr\'ee :
$2p=a^2-b^2$ dond $a^2-b^2$ est un multiple de 2 donc\\
$a^2$ et $b^2$ ont m\^eme parit\'e donc\\
$a$ et $b$ ont m\^eme parit\'e et donc $a-b$ est un multiple de 2 c'est \`a 
dire est pair.\\
On pose :\\
$a=b+2n$
donc $a^2=b^2+4nb+4n^2$ et on a :\\
$p=(a^2-b^2)/2=2nb+2n^2$ et $q=(a^2+b^2)/2=b^2+2nb+2n^2=b^2+p$.\\
On veut obtenir toutes les paires carr\'ees $(p,q)$ v\'erifiant 
$0 \geq p \geq q \geq 1000$, donc on doit avoir :\\
$0\geq b^2 \geq 1000$ i.e $0\geq b \geq 31$ et\\
$0\geq 2nb+2n^2\geq 1000$ et $0\geq 2nb+2n^2\geq 1000-b^2$.\\
On tape : \\
{\tt supposons(b>=0 and b<=31);}\\
{\tt simplify(solve(b\verb|^|2+2*n*b+n\verb|^|2<1000,n))}\\
On obtient; {\tt [((n>(-10*sqrt(10)-b)) \&\& ((10*sqrt(10)-b)>n))]}\\
On tape : 
\begin{verbatim}
paire_carre3():={
local b,q,p,L,n,nmax;
L:=NULL;
pour b de 0 jusque 10*sqrt(10) faire
nmax:=(sqrt(-b^2+2000))/2+b/-2;
pour n de 0 jusque nmax faire
p:=2*n*b+2*n^2;
q:=b^2+p;
L:=L,[p,q];
fpour
fpour
return L
}
\end{verbatim}
On tape :\\
{\tt L3:=paire\_carre():;}\\
Le calcul est tres rapide !!!!!\\
On tape : {\tt dim(L3)}\\
On obtient : {\tt 421}
\item 
On tape : {\tt nuage\_points(L3)}\\
On obtient :\\
\framebox{\includegraphics[width=\textwidth]{nuageL3}}
\item
On a $q=p+b^2$ donc les points sont sur les droites d'\'equations $y=x+b^2$ pour
$b$ fix\'e.\\
0n a $p=2nb+2n^2$ donc $b=(p/(2n)-n)$ donc  $q=p^2/(4n^2)+n^2$
donc les points sont sur les courbes 
d'\'equations $y=x^2/(4n^2)+n^2$ pour $n$ fix\'e.\\
On tape et on obtient :\\
\framebox{\includegraphics[width=\textwidth]{nuee}}
\end{enumerate}

\chapter{Pour trouver les premi\`eres d\'ecimales de $\pi$}
\section{La formule de Gregory}
La s\'erie de Gregory est le d\'eveloppement en s\'erie enti\`ere de $\arctan(x)$\\
On a :
$$\arctan(x)=x-\frac{x^3}{3}+\frac{x^5}{5}+...+(-1)^k\frac{x^{2k+1}}{2k+1}+...$$
Le reste de cette s\'erie altern\'ee est du signe du premier terme n\'eglig\'e
et est major\'e en valeur absolue par la valeur absolue du premier terme n\'eglig\'e.
\section{La formule de Machin}
De la formule d'addition des tangentes \`a savoir :
$$\tan(a+b)=\frac{\tan(a)+\tan(b)}{1-\tan(a)*\tan(b)}$$
on en d\'eduit la formule pour $ab<1$ :
$$\arctan(a)+\arctan(b)=\arctan(\frac{a+b}{1-ab})$$
Exercices :\\
1/ Pour $a=1/5$ on cherche $b$ pour que :
$$\arctan(a)+\arctan(b)=\arctan(1)=\frac{\pi}{4}$$
On doit donc r\'esoudre :
$$\frac{a+b}{1-ab}=1$$
On trouve :
$$b=\frac{1-a}{1+a}=\frac{2}{3}$$
Donc :
$$\arctan(\frac{1}{5})+\arctan(\frac{2}{3})=\frac{\pi}{4}$$
2/  Pour $a=1/5$ on cherche $b$ pour que :
$$\arctan(a)+\arctan(b)=\arctan(\frac{2}{3})$$
On doit donc r\'esoudre :
$$\frac{a+b}{1-ab}=c=\frac{2}{3}$$
On trouve :
$$b=\frac{c-a}{1+ac}=\frac{\frac{2}{3}-\frac{1}{5}}{1\frac{2}{15}}=\frac{7}{17}$$
Donc :
$$2\arctan(\frac{1}{5})+\arctan(\frac{7}{17})=\frac{\pi}{4}$$
3/ En faisant encore deux fois le m\^eme genre de substitution, montrer la 
formule de Machin  :
$$4\arctan(\frac{1}{5})-\arctan(\frac{1}{239})=\frac{\pi}{4}$$
Pour cela on prend successivement :\\
$c=\frac{7}{17}$ et on trouve $b=\frac{c-a}{1+ac}=\frac{9}{46}$ et\\
$c=\frac{9}{46}$ et on trouve $b=\frac{c-a}{1+ac}=\frac{-1}{239}$\\
4/ \'Ecrire un programme qui prend en entr\'ee $a$ et $n$ et qui
renvoie la liste $L$ des valeurs de $b_k$ v\'erifiant :\\
$k\arctan(a)+\arctan(b_k)=\frac{\pi}{4}$ pour $k=1..n$ ($L[k-1]=b_k$)\\
On tape le programme :
\begin{verbatim}
machin1(a,n):={
local k,c,L;
c:=1;
L:=[];
for (k:=1;k<n+1;k:=k+1) {
c:=(c-a)/(1+a*c);
L:=append(L,c);
}
return(L);
};
\end{verbatim}
On tape :\\
{\tt machin1(1/5,5)}\\
On obtient :\\
{\tt [2/3,7/17,9/46,1/-239,-122/597]}\\
On tape :\\
{\tt machin1(1/3,5)}\\
On obtient :\\
{\tt [1/2,1/7,-2/11,-17/31,-41/38]}\\
Ainsi :\\
${\tt 2\arctan(\frac{1}{3})+\arctan(\frac{1}{7})=\frac{\pi}{4}}$\\ 
\section{Les d\'ecimales de $\pi$ avec les formules pr\'ec\'edentes}
\subsection{Une remarque}
Si on utilise pour calculer $\pi$ la formule :\\
$$\arctan(x)=x-\frac{x^3}{3}+\frac{x^5}{5}+...+(-1)^k\frac{x^{2k+1}}{2k+1}+...$$\\
Si on prend  $x=1$, on a $\arctan(1)=\pi/4=1-\frac{1}{3}+\frac{1}{5}+...+(-1)^k\frac{1}{2k+1}+...$ mais la convergence est lente.\\
On remarque que la convergence  est beaucoup plus rapide pour $x=1/5$
et encore plus rapide pour $x=1/239$ d'o\`u l'utilisation de la formule :\\
$$\frac{\pi}{4}=4\arctan(\frac{1}{5})-\arctan(\frac{1}{239})$$
\subsection{Le programme avec xcas}
Pour calculer la somme de $n$ termes de la s\'erie on va utiliser la m\'ethode 
de H\"orner pour faire le moins possibles de multiplications, on a :\\
$\arctan(x)=x(1-x^2(\frac{1}{3}-x^2(\frac{1}{5}-x^2(....-x^2(\frac{1}{2n-1})))))$ \\
L'utilisateur doit rentrer la valeur $a$ de x et le nombre $n$ de termes de 
la s\'erie. 
\begin{verbatim}
gregory(a,n):={
local t,k;
t:=1/(2*n-1);
for (k:=2*n-3;k>0;k:=k-2) {
t:=1/k-a^2*t;
}
return (a*t);
};
\end{verbatim}
On tape :\\
{\tt 16*gregory(1/5,18)-4*gregory(1/239,6)}\\
On obtient :\\
{\tt 3.14159265359}
On tape :\\
{\tt evalf(16*gregory(1/5,42)-4*gregory(1/239,20))}\\
On obtient (si on a choisit 60 {\tt Chiffres} dans le cas set\_up que l'on 
ouvre avec le bouton rouge {\tt cas}):\\
{\tt 3.14159265358979323846264338327950288419716939937510582097494}
\subsection{Combien faut-il calculer de termes ?}
Soit $R_n(x)$ le reste de la s\'erie $\sum_{k=1}^\infty (-1)^{k+1}\frac{x^{2k-1}}{2k-1}$ : $R_n(x)=\sum_{k=n+1}^\infty (-1)^{k+1}\frac{x^{2k-1}}{2k-1}$.\\
On sait que $|R_n(x)|<\frac{|x|^{2n+1}}{2n+1}$
Pour avoir $|R_n(1/5)|=|R_n(0.2)|<10^{-61}$ il faut que :\\
$2^{2n+1}<(2n+1)10^{2n-60}$ et comme $2^10\simeq 10^3$ cela donne si on 
suppose $2n+1>10$ :\\
$10^{(6n+3)/10}<10^{2n-59}$ soit $593<14n$ soit $n\simeq 42$
On v\'erifie pour $n=42$ on a $\frac{(1/5)^{85}}{85}<2.56e-62$\\
On peut aussi \'ecrire si on suppose que $2n+1>10$ :\\
$\frac{|x|^{2n+1}}{2n+1}<x^{2n+1}/10<10^{-61}$
donc on va choisir $x^{2n+1}<10^{-60}$ soit $(2n+1)log10(x)<-60$
ou encore $n>((-60)/log10(x)-1)/2$
Pour $x=1/5$ on a $n>42.4202967422$ et comme $2n+1>40$ on peut am\'eliorer la 
majoration $\frac{|x|^{2n+1}}{2n+1}<x^{2n+1}/40<10^{-61}$\\
ce qui donne $n>((-60+log10(4))/log10(1/5)-1)/2=41.9896201841$ donc on prend $n=42$\\
pour $x=1/293$ on a $n>11.66$ donc on prend $n=12$ et on
v\'erifie : $\frac{(1/239)^{25}}{25}=1.38711499837e-61$.\\
On choisit 62 {\tt Chiffres} dans le cas set\_up que l'on 
ouvre avec le bouton rouge {\tt cas}) et on tape :\\
{\tt evalf(16*gregory(1/5,42)-4*gregory(1/239,12))}\\
On obtient :\\
{\tt 3.1415926535897932384626433832795028841971693993751058209749446}\\
On tape :\\
{\tt evalf(pi)}\\
On obtient :\\
{\tt 3.1415926535897932384626433832795028841971693993751058209749446}\\
{\bf Remarque}\\
Avec cette m\'ethode John Machin calcula 100 d\'ecimales de $\pi$ en 1706.
\subsection{Les formules de m\^eme type que celles de Machin}
En 1973, Jean Guilloud a mis une journ\'ee pour calculer $10^6$ d\'ecimales de $\pi$ en utilisant une formule de m\^eme type \`a savoir :
$$6\arctan(\frac{1}{8})+2\arctan(\frac{1}{57})+\arctan(\frac{1}{239})=\frac{\pi}{4}$$
en v\'erifiant ses calculs avec la formule analogue :
$$12\arctan(\frac{1}{18})+8\arctan(\frac{1}{57})-5\arctan(\frac{1}{239})=\frac{\pi}{4}$$
En 1999, Yasumata Kanadaa a atteint le record en calculant $12411* 10^8$ d\'ecimales de $\pi$ en utilisant une formule de m\^eme type \`a savoir :
$$24\arctan(\frac{1}{12943})-12\arctan(\frac{1}{682}) +44\arctan(\frac{1}{57})+7\arctan(\frac{1}{239})=\frac{\pi}{4}$$
et la formule analogue :
$$12\arctan(\frac{1}{49})+32\arctan(\frac{1}{57})-5\arctan(\frac{1}{239})+12\arctan(\frac{1}{110443})=\frac{\pi}{4}$$
On peut v\'erifier ces formules avec {\tt xcas}, on tape par exemple :\\
{\tt tsimplify(12atan(1/49)+32atan(1/57)-5atan(1/239)+12atan(1/110443))}
On obtient :\\
${\tt \frac{\pi}{4}}$\\
Comment trouver des formules de type Machin ?\\
Montrons pour cela que si $a \in N$ et si $a^2+1=a_1*a_2$ alors :\\
$\arctan(1/a)=\arctan(1/(a+a_1/)+\arctan(1/(a+a_2))$\\
On a si $xy<1$, $\arctan(x)+\arctan(y)=\arctan((x+y)/(1-xy))$ donc\\
$\arctan(1/(a+a_1))+\arctan(1/(a+a_2))=\arctan((2a+a_1+a_2)/((a+a_1)(a+a_2)-1))=\arctan(1/a)$ puisque $a_1a_2-1=a^2$, $(a+a_1)(a+a_2)-1)=a^2+a(a_1+a_2)+a^2=a(2a+a_1+a_2)$.\\
On a donc :\\
$a=1$ $a^2+1=2=1*2$ donc $\pi/4=\arctan(1)=\arctan(1/2)+\arctan(1/3)$\\
$a=2$ $a^2+1=5=1*5$ donc $\arctan(1/2)=\arctan(1/3)+\arctan(1/7)$\\
$a=3$ $a^2+1=10=1*10=2*5$ donc $\arctan(1/3)=\arctan(1/4)+\arctan(1/13)=\arctan(1/5)+\arctan(1/8$\\
$a=5$ $a^2+1=26=1*26=2*13$ donc $\arctan(1/5)=\arctan(1/7)+\arctan(1/18)=\arctan(1/6)+\arctan(1/31$\\
$a=7$ $a^2+1=50=1*50=2*25$ donc $\arctan(1/7)=\arctan(1/8)+\arctan(1/57)=\arctan(1/9)+\arctan(1/32)$\\
On en d\'eduit donc que :
$$\pi/4=2\arctan(1/3)+\arctan(1/7)$$
$$\pi/4=2\arctan(1/3)+\arctan(1/5)-\arctan(1/18)$$
$$\pi/4=2\arctan(1/3)+\arctan(1/5)-\arctan(1/18)$$
$$\pi/4=2\arctan(1/3)+\arctan(1/8)+\arctan(1/57)$$
$$\pi/4=3\arctan(1/3)-\arctan(1/5)+\arctan(1/57)$$
et en utilisant $\pi/4=4\arctan(1/5)-\arctan(1/239)$  on retrouve facilement les 2 formules utilis\'ees par Jean Guilloud :\\
$6\arctan(\frac{1}{8})+(6-4)\arctan(\frac{1}{57})+\arctan(\frac{1}{239})=$\\
$6(\pi/4-2\arctan(1/3))-4(\pi/4-3\arctan(1/3)+\arctan(1/5))-\pi/4+4\arctan(1/5)=$\\
$\pi/4$ \\
et\\
$12\arctan(\frac{1}{18})+8\arctan(\frac{1}{57})-5\arctan(\frac{1}{239})=$\\
$12(-\pi/4+2\arctan(1/3)+\arctan(1/5))+8(\pi/4-3\arctan(1/3)+\arctan(1/5))+5(\pi/4-4\arctan(1/5))=\pi/4$
\chapter{Pour s'amuser avec le tableur de {\tt Xcas}}
\section{Nombre de carr\'es dans un \'echiquier}
On cherche le nombre de carr\'es $NC(n)$ que l'on peut former sur un \'echiquier
de dimension $n*n$.\\
On veut faire une fiche de travail pour que les \'el\`eves devine et d\'emontre
que :\\
$$NC(n)=1^2+2^2+3^2+...+n^2=\frac{n(n+1)(2n+1)}{6}$$
\subsection{L'\'enonc\'e}
On rappelle que $1+2+...n=\frac{n(n+1)}{2}$.
\begin{enumerate}
\item Combien peut-on former de carr\'es de c\^ot\'es \'egal \`a 1 sur un 
\'echiquier de dimension $p*p$ ?
\item Combien peut-on former de carr\'es de c\^ot\'es \'egal \`a $n$ sur un 
\'echiquier de dimension $n*n$ ?
\item Expliquer pourquoi le nombre de carr\'es de c\^ot\'es \'egal \`a $n-1$ 
sur un \'echiquier de dimension $n*n$ est \'egal au nombre de carr\'es de 
c\^ot\'es \'egal \`a 1 sur un \'echiquier de dimension $2*2$.
\item  Expliquer pourquoi le nombre de carr\'es de c\^ot\'es \'egal \`a $n-2$ 
sur un \'echiquier de dimension $n*n$ est \'egal au nombre de carr\'es de 
c\^ot\'es \'egal \`a 1 sur un \'echiquier de dimension $3*3$?
\item Sur le tableur de {\tt Xcas} remplir :
\begin{itemize}
\item la premi\`ere colonne avec les nombres de 0 \`a $n$ (par exemple $n=39$).
\item la deuxi\`eme colonne avec le nombre de carr\'es de c\^ot\'es \'egal \`a 
1, sur un \'echiquier de dimension $p*p$ ($p=1..n$) qui est aussi le nombre de 
carr\'es de dimension $n-p+1$ sur un \'echiquier de dimension $n*n$.
\item la troisi\`eme colonne avec avec les sommes partielles de la deuxi\`eme 
colonne. Dire pourquoi cette colonne donne $NC(k)$ lorsque $A(k)=k$.
\item la quatri\`eme colonne avec les sommes partielles de la premi\`ere 
colonne.
\item la cinqui\`eme colonne  avec le quotient de la  la troisi\`eme colonne
par la  quatri\`eme colonne.
\item Deviner l'expression de la cinqui\`eme colonne et en d\'eduire 
la valeur de l'expression de $NC(n)$.
\end{itemize}
\end{enumerate}
\subsection{La correction avec {\tt Xcas}}
\begin{enumerate}
\item On a $0,1,2,3..n$ sur la colonne $A$
\item On a $0,1,4,9...n^2$ sur la colonne $B$
\item On a $0,1,5,14,30....$ sur la colonne $C$
\item On a $0,1,3,6,10,15....$ sur la colonne $D$ c'est \`a dire $k(k+1)/2$
pour $k=1..n$. Donc $D(k)=1^2+2^2+...k^2=NC(k)$. 
\item On a $0,1,5/3,7/3,3,11/3,13/2,5....$ sur la colonne $E$.\\
On devine que la colonne $E$ vaut $(2k+1)/3$ pour $k=1..n$.\\
Puisque la colonne $D$ vaut $k(k+1)/2$ pour $k=1..n$, on en d\'eduit que
$NC(k)=k(k+1)/2*(2k+1)/3=k(k+1)(2k+1)/6$.\\
On peut maintenant montrer par r\'ecurrence que :
$$1^2+2^2+...k^2=\frac{k(k+1)(2k+1)}{6}$$ car\\
$1^2=(1*2*3)/6$ et\\
$$ 1^2+...k^2+(k+1)^2=\frac{(k+1)(2k^2+k+6k+6)}{6}=\frac{(k+1)(k+2)(2k+3)}{6}$$
\end{enumerate}

\section{\'Etude d'une suite}
\subsection{L'\'enonc\'e}
On consid\`ere la suite r\'ecurrente :\\
$u_0=a$\\
$u_1=b$\\
pour $n>1$ $u_n=|u_{n-1}|-u_{n-2}$\\
\'Etudiez cette suite.\\
Faites des essais avec le tableur prendre par exemple :\\
$a=3$ avec $b=4, b=5,b=7$ etc...\\
$a=-3$ avec $b=4, b=5,b=7$ etc...\\
Que remarquez-vous?\\

\subsection{La d\'emarche math\'ematique}
On va montrer que cette suite est p\'eriodique ($u_9=u_0$ et $u_{10}=u_1$).\\
Pour cela on consid\`ere 9 cas :\\
6 cas lorsque $b>=0$ et 3 cas lorsque $b<0$:\\
{\bf cas 1} : $b \geq 2a \geq 0$\\
On obtient :\\
{\tt a,b,b-a,-a,-b+2a,b-a,2b-3a,-2a+b,a-b,a,b....}\\
{\bf cas 2} : $2a > b \geq a$\\
On obtient :\\
{\tt a,b,b-a,-a,-b+2a,3a-b,a,2a+b,a-b,a,b.....}\\
{\bf cas 3} : $a/2 >b \geq 0$\\
On obtient :\\
{\tt a,b,b-a,a-2b,-3b+2a,a-b,2b-a,-b,-b+a,a,b....}\\
{\bf cas 4} : $a>  b \geq a/2$\\
On obtient :\\
{\tt a,b,b-a,a-2b,b,3b-a,2b-a,-b,a-b,a,b...}\\
{\bf cas 5} : $b \geq -a \geq 0$\\
On obtient :\\
{\tt a,b,b-a,-a,-b,b+a,2b+a,b,b-a,a,b....}\\
{\bf cas 6} : $-a \geq b \geq 0$\\
On obtient :\\
{\tt a,b,b-a,-a,-b,b+a,-a,-2a-b,-a-b,a,b....}\\
{\bf cas 7} : $-b \geq a >0$\\
On obtient :\\
{\tt a,b,-b-a,-2b-a,-b,b+a,-a,-b,-b+a,a,b....}\\
{\bf cas 8} : $a >-b >0$\\
On obtient :\\
{\tt a,b,-b-a,a,2a+b,a+b,-a,-b,-b+a,a,b....}\\
{\bf cas 9} : $-b >0 \geq a $\\
On obtient :\\
{\tt a,b,-b-a,-2b-a,-b,a+b,-a,-2a-b,-b-a,a,b....}\\
\subsection{La correction avec {\tt Xcas}}
Avec {\tt Xcas} on tape (cf {\bf cas9}):\\
{\tt assume(a<0)} et la r\'eponse est {\tt a}\\
{\tt assume(b<0)} et la r\'eponse est {\tt b}\\
{\tt normal(abs(ans())-ans(-2))} et la r\'eponse est {\tt -b-a}\\
puis {\tt enter}, {\tt enter}...:\\
la r\'eponse est {\tt -2*b-a}\\
la r\'eponse est {\tt -b}\\
la r\'eponse est {\tt b+a}\\
la r\'eponse est {\tt -a}\\
la r\'eponse est {\tt -b-2*a}\\
la r\'eponse est {\tt -b-a}\\
la r\'eponse est {\tt a}\\
la r\'eponse est {\tt b}\\
{\bf Attention} La commande {\tt assume} ne doit utiliser que des noms de 
variables sans op\'erateur.  Pour faire les diff\'erents cas avec {\tt xcas} 
il faut donc faire des changements 
de variables, par exemple pour traiter le {\bf cas1}  ($b \geq 2a \geq 0$),
on pose $c=b-2*a$ donc $b=c+2*a$.\\
Avec {\tt xcas} on tape (cf {\bf cas9}):\\
{\tt assume(a>0)} et la r\'eponse est {\tt a}\\
{\tt assume(c>0)+2*a} et la r\'eponse est {\tt c+2*a}\\
{\tt normal(abs(ans())-ans(-2))} et la r\'eponse est {\tt c+a}\\
puis {\tt enter}, {\tt enter}...:\\
la r\'eponse est {\tt -a}\\
la r\'eponse est {\tt -c}\\
la r\'eponse est {\tt c+a}\\
la r\'eponse est {\tt 2*c+a}\\
la r\'eponse est {\tt c}\\
la r\'eponse est {\tt -c-a}\\
la r\'eponse est {\tt a}\\
la r\'eponse est {\tt c+2*a}\\
On peut aussi utiliser le tableur :\\
on tape (cf {\bf cas9}):\\
{\tt assume(a>0)}; {\tt assume(c>0)}\\
Puis on ouvre le tableur, et on remplit :\\
{\tt A0} avec {\tt a}, {\tt A1} avec {\tt c+2*a}, {\tt A2} avec {\tt =normal(abs(A1)-A0)}\\ 
puis on appuie sur le bouton {\tt remplir} (ou {\tt fill})
et on peut voir les diff\'erentes valeurs de la suite.\\
On peut aussi avec le tableur mettre les 9 cas dans les colonnes {\tt A}...{\tt I}.

Il faut taper {\tt purge(a)} si on a fait aupparavant {\tt assume(a>0)}\\
Puis on tape : {\tt assume(c>0)}; {\tt assume(d>0)}\\
et on pose :\\
{\bf cas1} ($b \geq 2a \geq 0$)\\
${\tt A0=d, A1=c+2*d}$ (ie $a=d, c=b-2a$)\\
{\bf cas2} ($2a \geq b \geq a$)\\
${\tt B0=d+c, B1=c+2*d}$ (ie $d=b-a,c=-b+2a$)\\
{\bf cas3} ($a/2 >b \geq 0$)\\
${\tt C0=d+2c, C1=c}$ (ie $d=a-2b,c=b$)\\
{\bf cas4} ($a>  b \geq a/2$)\\
${\tt D0=2*d+2*c, D1=2*c+d}$ (ie $d=a-b,2*c=2*b-a$)\\
{\bf cas5} ($b \geq -a \geq 0$)\\
${\tt E0=-d, E1=c+d}$ (ie $d=-a,c=b+a$)\\
{\bf cas6} ($-a \geq b \geq 0$)\\
${\tt F0=-c-d, F1=d}$ (ie $c=-a-b, b=d$)\\
{\bf cas7} ($-b \geq a >0$)\\
${\tt G0=d, G1=-c-d}$ (ie $c=-a-b,d=a$)\\
{\bf cas8} ($a >-b >0$ )\\
${\tt H0=c+d, H1=-d}$ (ie $d=-b,c=a+b$)\\
{\bf cas9} ($-b >0 \geq a $)\\
${\tt I0=-d, I1=-c}$ (ie $d=-a,b=-c$)\\
On met dans {\tt A2} la formùule  {\tt =normal(abs(A1)-A0)}\\
Puis on recopie cette formule vers le bas (bouton {\tt remplir}) et sur le 
cot\'e (menu {\tt Edit} sous-menu {\tt mtrw(Editeur de matrices)} et 
{\tt copier->}).\\
On obtient :\\
\ \\
\begin{tabular}{|c|c|c|c|c|c|c|c|c|c|}
\hline
  & A & B & C & D & E & F & G & H & I\\
\hline
0 & d & d+c & d+2*c & 2*d+2*c & -d & -c-d & d & c+d & -d\\
\hline
1 & c+2*d & c+2*d & c & 2*c+d & c+d & d & -c-d & -d & -c\\
\hline
2 & c+d & d & -d-c & -d & c+2*d & c+2*d & c & -c & c+d\\
\hline
3 & -d & -c-d & d & -(2*c) & d & c+d & 2*c+d & c+d & 2*c+d\\
\hline
4 & -c & c & 2*d+c & 2*c+d & -c-d & -d & c+d & 2*c+d & c\\
\hline
5 & c+d & 2*c+d & d+c & 4*c+d & c & -c & -c & c & -c-d\\
\hline
6 & 2*c+d & c+d & -d & 2*c & 2*c+d & c+d & -d & -c-d & d\\
\hline
7 & c & -c & -c & -2*c-d & c+d & 2*c+d & d+c & d & c+2*d\\
\hline
8 & -c-d & -d & c+d & d & -c & c & 2*d+c & c+2*d & c+d\\
\hline
9 & d & d+c & 2*c+d & 2*c+2*d & -d & -c-d & d & c+d & -d\\
\hline
10 & c+2*d & 2*d+c & c & 2*c+d & d+c & d & -d-c & -d & -c\\
\hline
11 & c+d & d & -c-d & -d & 2*d+c & c+2*d & c & -c & c+d\\
\hline
\end{tabular}

On remarque que les colonnes se d\'eduisent les unes des autres :\\
si on consid\`ere la colonne {\tt I} on a \\
{\tt I1, I2} est \'egal \`a {\tt F0, F1} (puisque {\tt c} er {\tt d} jouent 
le m\^eme r\^ole) de m\^eme,\\
{\tt I2, I3} est \'egal \`a {\tt B0, B1},\\
{\tt I3, I4} est \'egal \`a {\tt C0, C1},\\
{\tt I4, I5} est \'egal \`a {\tt G0, G1},\\
{\tt I5, I6} est \'egal \`a {\tt F0, F1},\\
{\tt I6, I7} est \'egal \`a {\tt A0, A1},\\
{\tt I7, I8} est \'egal \`a {\tt D0, D1},\\
{\tt I8, I9} est \'egal \`a {\tt H0, H1}.\\
On peut donc consid\'erer la fonction $f$ de $\mathbb R^2$ dans  $\mathbb R^2$
d\'efinie par :\\
$f(x,y)=(y,|y|-x)$\\
On peut montrer que $f^9=id$ en effet :\\
si $A0=\{(x,y)\in \mathbb R^2, x<0, y \leq 0\}$, on pose :\\
$A1=f(A0)$, $A2=f(A1)=f^2(A0)$...
$A8=f^8(A0)$\\
alors $A0,A1,A2..,A8$ forment une partition de $\mathbb R^2$,\\
de plus si $(a,b)\in A0$ alors $f^9(a,b)=(a,b)$.\\
Avec {\tt xcas} on tape :\\
{\tt f(L):=\{
return([L[1],normal(abs(L[1])-L[0])]);\\
\};}\\
{\tt assume(a<0);assume(b<=0)}\\
{\tt f(f(f(f(f(f(f(f(f(([a,b])))))))))}\\
On obtient : {\tt [a,b]}\\
Cela prouve que la suite r\'ecurrente $U$ d\'efinie par :\\
$(U_0,U_1)=(x,y)$\\
%$U_1=y$\\
$(U_n,U_{n+1})=f(U_{n-1}, U_n)=(U_n,|U_n|-U_{n-1})$ pour $n>0$\\
est p\'eriodique de p\'eriode 9 ($U_n=U_{n+9}$ pour tout $n\geq 0$)).\\ 
%lorsque $(x,y)\in A$ alors \\
%$U$ est p\'eriodique de p\'eriode 9 lorsque $(x,y)\in \mathbb R^2$.\\
On peut visualiser en trois temps que {\tt A0,A1...A8} forment une partition.\\
 On tape :
\begin{verbatim}
for (j:=0;j<300;j:=j+1) {
  c:=rand(0..2);
  d:=rand(0..3);
  point(-c+i*(c+d));
  point(c+d+i*(2*c+d));
  point(2*c+d+i*c);
  point(c-i*(c+d));
}
\end{verbatim} 
et on voit les r\'egions {\tt A1,A2,A3,A4} sur l'\'ecran de g\'eom\'etrie.\\
 On tape :
\begin{verbatim} 
for (j:=0;j<300;j:=j+1) {
  c:=rand(0..2);
  d:=rand(0..3);
  point(-c-d+i*d);
  point(d+i*(2*d+c));
  point(2*d+c+i*(c+d));
  point(c+d-i*d);
}
\end{verbatim} 
et on voit les r\'egions {\tt A5,A6,A7,A8} sur l'\'ecran de g\'eom\'etrie.\\


\chapter{Pour s'amuser avec le graphique}
\section{Les polygones et les milieux de leurs c\^ot\'es}
\subsection{Le triangle et le quadrilat\`ere}
\subsubsection{Le triangle}
\'Etant donn\'e 3 points {\tt A,B,C}, construire un triangle 
 {\tt E,F,G} tel que {\tt A} soit le milieu de {\tt EF},
{\tt B} soit le milieu de {\tt FG} et {\tt C} soit le milieu de 
{\tt GE}.\\
Avec {\tt xcas}, faisons des essais :
On clique sur 4 points {\tt A,B,C,E} puis on tape :
\begin{verbatim}
F:=symetrie(A,E);
G:=symetrie(B,F);
H:=symetrie(C,G);
polygone(A,B,C);
polygone_ouvert(E,F,G,H);
\end{verbatim} 
On fait bouger ensuite le point {\tt E} pour que {\tt E} et {\tt H} coincident.
On analyse alors la figure :
Lorsque {\tt E} et {\tt H} coincident {\tt EG} est parall\`ele \`a {\tt AB} et
le vecteur {\tt CE} est \'egal au vecteur {\tt BA} (propri\'et\'e des milieux 
d'un triangle).\\
On en d\'eduit la construction avec {\tt xcas} :
On clique sur 3 points {\tt A,B,C} puis on tape :
\begin{verbatim}
E:=translation(A-B,C);
F:=symetrie(A,E);
G:=symetrie(B,F);
\end{verbatim} 
\subsubsection{Le quadrilat\`ere}
\'Etant donn\'e 4 points {\tt A,B,C,D}, construire un  quadrilat\`ere
 {\tt E,F,G,H} tel que {\tt A} soit le milieu de {\tt EF},
{\tt B} soit le milieu de {\tt FG}, {\tt C} soit le milieu de {\tt GH},
{\tt D} soit le milieu de {\tt HE}.\\
Avec {\tt xcas}, faisons des essais :\\
On clique sur 5 points {\tt A,B,C,D,E} (il faut renommer les points car {\tt D}
n'est pas attribu\'e automatiquement car en Maple {\tt D} d\'esigne la 
d\'erivation). 
\begin{verbatim}
F:=symetrie(A,E);
G:=symetrie(B,F);
H:=symetrie(C,G);
I:=symetrie(D,H);
polygone(A,B,C,D);
polygone_ouvert(E,F,G,H,I);
\end{verbatim} 
On fait bouger ensuite le point {\tt E} pour que {\tt E} et {\tt I} coincident.
Mais, cette fois on n'y arrive pas ....On modifie le point
{\tt A} pour que {\tt E} et {\tt I} coincident. On analyse alors la figure :
Lorsque {\tt E} et {\tt I} coincident {\tt ABCD} est un parall\`elogramme 
(on a $2\overrightarrow{AB}=\overrightarrow{EG}$ et $2\overrightarrow{DC}=\overrightarrow{IG}$ donc si {\tt E} et {\tt I} coincident on a $\overrightarrow{AB}=\overrightarrow{DC}$).\\
Lorsque {\tt ABCD} est un parall\`elogramme, on remarque alors que si on 
fait bouger le point {\tt E}, on a toujours {\tt E} et {\tt I} en coincidence.
 En effet on a :\\
$2\overrightarrow{AB}=\overrightarrow{EG}$ et $2\overrightarrow{DC}=\overrightarrow{IG}$ donc si  $\overrightarrow{AB}=\overrightarrow{DC}$, on a
$\overrightarrow{EG}=\overrightarrow{IG}$ donc {\tt E} et {\tt I} coincident.
\subsubsection{Analyse}
Dans le cas du triangle, lorsqu'on fait subir au point {\tt E}, 3 sym\'etries 
centrales successives $S_1,S_2,S_3$ on veut retrouver {\tt E} : cela signifie 
que {\tt E} doit \^etre un point fixe de $S_3 \circ S_2 \circ S_1$.

Dans le cas du quadrilat\`ere, lorsqu'on fait subir au point {\tt E}, 4 
sym\'etries centrales successives $S_1,S_2,S_3,S_4$ on veut retrouver {\tt E} :
 cela signifie que {\tt E} doit \^etre un point fixe de $S_4 \circ S_3 \circ S_2 \circ S_1$.
On est donc amen\'e \`a comprendre comment on compse des sym\'etries centrales.
\subsection{Translation et composition de sym\'etries centrales}
On d\'esigne par $\mathcal S_O$ la sym\'etrie de centre $O$ et par 
$\mathcal T_{AB}$ la translation de vecteur $\overrightarrow {AB}$.\\
{\bf Th\'eor\`eme}
Soient deux points $O_1$ et $O_2$ et un vecteur $V$, on a :
\begin{enumerate}
\item $\mathcal S_{O_2} \circ \mathcal S_{O_1}$=$\mathcal T_{2O_1O_2}$,
\item $\mathcal T_V\circ \mathcal S_{O_1}$=$\mathcal S_{K}$ avec 
$\overrightarrow {O_1K}=V/2$,
\item $\mathcal S_{O_1}\circ \mathcal T_V$=$\mathcal S_{H}$ avec 
$\overrightarrow {O_1H}=-V/2$.
\end{enumerate}
En effet,
\begin{enumerate}
\item Soit $A$ un point. Posons $B=\mathcal S_{O_1}(A)$ et 
$C=\mathcal S_{O_2}(B)$.\\
On a :
$\overrightarrow {AO_1}=\overrightarrow {O_1B}$ et,
$\overrightarrow {O_2C}=\overrightarrow {BO_2}$ donc,
$\overrightarrow {AC}=\overrightarrow {AO_1}+\overrightarrow {O_1O_2}+
\overrightarrow {O_2C}=$\\
$\overrightarrow {O_1B}+\overrightarrow {O_1O_2}+\overrightarrow {BO_2}=$\\
$2\overrightarrow {O_1O_2}$\\
Comme $A$ est quelconque on en d\'eduit que :\\
$\mathcal S_{O_2} \circ \mathcal S_{O_1}$=$\mathcal T_{2O_1O_2}$

\item Soit $A$ un point, $V$ un vecteur et $K$ tel que 
$\overrightarrow {O_1K}=V/2$. \\
Posons  $B=\mathcal S_{O_1}(A)$ et 
$C=\mathcal T_V(B)$.\\
On a :
$\overrightarrow {AO_1}=\overrightarrow {O_1B}$,\\
$\overrightarrow {BC}=V$ et,\\
$\overrightarrow {O_1K}=V/2=\overrightarrow {BC}/2$.\\
Donc \\
$\overrightarrow {AK}=\overrightarrow {AO_1}+\overrightarrow {O_1K}=$\\
$\overrightarrow {AO_1}+\overrightarrow {BC}/2$ et
$\overrightarrow {AC}=\overrightarrow {AB}+\overrightarrow {BC}=$\\
$2\overrightarrow {AO_1}+\overrightarrow {BC}=2\overrightarrow {AK}$ soit\\
$\overrightarrow {AC}=\overrightarrow {AK}+\overrightarrow {KC}=2\overrightarrow {AK}$ c'est \`a dire\\
$\overrightarrow {KC}=\overrightarrow {AK}$\\
donc $C=\mathcal S_K(A)$ 
Comme $A$ est quelconque on en d\'eduit que :\\
$\mathcal T_{V} \circ \mathcal S_{O_1}$=$\mathcal S_{K}$ avec 
$\overrightarrow {O_1K}=V/2$
\item Soit $A$ un point, $V$ un vecteur et $H$ tel que 
$\overrightarrow {O_1H}=-V/2$. \\
Posons  $B=\mathcal T_V(A)$ et $C=\mathcal S_{O_1}(B)$.\\
On a :
$\overrightarrow {O_1H}=-V/2$,
$\overrightarrow {AB}=V$ et $\overrightarrow {BO_1}=\overrightarrow {O_1C}$\\
Donc \\
$\overrightarrow {AH}=\overrightarrow {AB}+\overrightarrow {BO_1}+\overrightarrow {O_1H}=$\\
$V+\overrightarrow {O_1C}-V/2=\overrightarrow {O_1C}+V/2$ et\\
$\overrightarrow {AC}=\overrightarrow {AB}+\overrightarrow {BC}=$\\
$V+\overrightarrow {BC}=V+2\overrightarrow {O_1C}$ soit\\
$\overrightarrow {AC}=\overrightarrow {AH}+\overrightarrow {HC}=2\overrightarrow {AH}$ c'est \`a dire\\
$\overrightarrow {HC}=\overrightarrow {AH}$\\
donc $C=\mathcal S_H(A)$ 
Comme $A$ est quelconque on en d\'eduit que :\\
$\mathcal S_{O_1} \circ \mathcal T_{V}$=$\mathcal S_{H}$ avec
$\overrightarrow {O_1H}=-V/2$
\end{enumerate}
\subsection{Le pentagone}
\'Etant donn\'e 5 points {\tt A,B,C,D,E}, construire un pentagone 
 {\tt A1,A2,A3,A4,A5} tel que {\tt A} soit le milieu de {\tt A1A2},
{\tt B} soit le milieu de {\tt A2A3},....,{\tt E} soit le milieu de 
{\tt A5A1}.\\
La construction du pentagone revient \`a d\'eterminer $A1$ tel que :\\
$\mathcal S_{A_1}=\mathcal S_{E}\circ \mathcal S_{D}\circ \mathcal S_{C}\circ \mathcal S_{B}\circ \mathcal S_{A}$, puis \`a construire les points \\ 
$A_2=\mathcal S_{A}(A_1)$, $A_3=\mathcal S_{B}(A_2)...$.\\
On a d'apr\`es le th\'eor\`eme pr\'ec\'edent :\\
$\mathcal S_{B}\circ \mathcal S_{A}=\mathcal T_{2AB}$
$\mathcal S_{D}\circ \mathcal S_{C}=\mathcal T_{2CD}$
donc\\
$\mathcal S_{D}\circ \mathcal S_{C}\circ \mathcal S_{B}\circ \mathcal S_{A}=\mathcal T_{2(AB+CD)}$ et\\
$\mathcal S_{E}\circ \mathcal S_{D}\circ \mathcal S_{C}\circ \mathcal S_{B}\circ \mathcal S_{A}=\mathcal S_{E}\circ\mathcal T_{2(AB+CD)}=$
$\mathcal S_{A_1}$ avec $\overrightarrow {EA_1}=\overrightarrow {BA}+\overrightarrow {DC}$\\
La construction avec {\tt xcas} .\\
On clique sur 5 points {\tt A,B,C,D,E} (il faut renommer les points car {\tt D}
n'est pas attribu\'e automatiquement car en Maple {\tt D} d\'esigne la 
d\'erivation). 
\begin{verbatim}
polygone(A,B,C,D,E);
A1:=translation(A-B+C-D,E);
A2:=symetrie(A,A1);
A3:=symetrie(B,A2);
A4:=symetrie(C,A3);
A5:=symetrie(D,A4);
F:=symetrie(E,A5):;
polygone_ouvert(A1,A2,A3,A4,A5,F);
A1==F;
\end{verbatim} 
La r\'eponse de {\tt A1==F} est {\tt 1} ce qui signifie que la construction est
correcte.
\subsection{Le polyg\^one ayant un nombre impair de c\^ot\'es}
La construction d'un polyg\^one ayant un nombre impair de c\^ot\'es \`a partir 
des milieux de ses c\^ot\'es est possible puisque le produit d'un nombre impair
de sym\'etries centrales est une sym\'etrie centrale.


\section{Une suite de projections}
On consid\`ere un triangle \'equilat\`eral $ABC$ et un point $M_1$ sur $AB$.\\
$M_1$ se projette orthogonalement en $H_1$ sur $BC$,\\
$H_1$ se projette orthogonalement en $K_1$ sur $AC$ et\\
$K_1$ se projette orthogonalement en $M_2$ sur $AB$ etc....\\
On obtient ainsi sur $AB$ une suite de points $M_n$.\\
On pose $AM_n=x_nAB$.\\
Calculer $x_n$ et \'etudier la suite $x$.\\
On commence par faire la figure.\\
 On \'ecrit pour cela la suite d'instructions dans un niveau de g\'eom\'etrie :
\begin{verbatim}
A:=point(0);
B:=point(1);
C:=point(1/2+sqrt(3)*i/2);
triangle(A,B,C);
assume(a=[0.1,0,1]);
M:=element(segment(A,B),a);
L:=[normal(affixe(M))];
for (k:=1;k<=30;k:=k+3) {
L:=append(L,normal(affixe(projection(segment(B,C),L[k-1]))));
L:=append(L,normal(affixe(projection(segment(A,C),L[k]))));
L:=append(L,normal(affixe(projection(segment(B,A),L[k+1]))));
};
polygone_ouvert(L);
\end{verbatim} 
On obtient la figure dans l'\'ecran de g\'eom\'etrie.\\
 On rappelle que :\\
{\tt M:=element(segment(A,B),a)} signifie que :\\
$\overline{AM}=a\overline{AB}$ et $0 \leq b \leq 1$.
On rappelle aussi que :\\
{\tt assume(a=[0.1,0,1])} signifie que :\\
la figure se fera avec {\tt a=0.1} mais que les calculs se feront avec le 
param\`etre formel {\tt a} compris entre 0 et 1.
On r\'egle la fen\^etre graphique :\\
{\tt xyztrange(-0.1,2.0,-0.1,1.0,-10.0,10.0,-1.0,6.0,-0.1,2.0,\\
-0.146865136298,1.0,1,0.0,1.0) }\\
On tape L dans une entr\'ee de commande et on pbtient :\\
{\tt [a,((-i)*sqrt(3)+1)/4*a+((i)*sqrt(3)+3)/4,\\
((-i)*sqrt(3)-1)/8*a+((3*i)*sqrt(3)+3)/8,-a/8+3/8,....]}\\
ce qui signifie que :\\
${\tt x_1=a}$ et ${\tt x_2=-a/8+3/8}$\\
Pour avoir la suite $x_n$ on tape :\\
{\tt Xn:=seq(L[k],k,0,30,3)}
On trouve : $x_{11}=a/1073741824+357913941/1073741824$\\
On tape :\\
{\tt evalf(357913941/1073741824)}\\
On obtient:\\
{\tt 0.333333333023}\\
Il semble donc que cette suite converge vers $N$ tel que $AN=AB/3$.
\subsection{La d\'emonstration}
On calcule $x_2$ en fonction de $x_1$ :
on a $AM_1=x_1AB$\\
$BH_1=(1-x_1)/2BC$ et $CK_1=(1-(1-x_1)/2)/2CA=(1+x_1)/4CA$\\
$AM_2=(1-(1+x_1)/4)/2AB=(3-x_1)/8AB$\\
La relation de r\'ecurrence est :\\
$x_{n+1}=(3-x_n)/8$
On cherche la limite $l$ possible :\\
$l=(3-l)/8$ donc $8l=3-l$ soit $l=3/9=1/3$\\
La suite $u_n=x_n-1/3$ est une suite g\'eom\'etrique de raison $-1/8$
puisque $u_{n+1}=x_{n+1}-1/3=(3-x_n)/8-(3-l)/8=-u_n/8$.\\
La suite $u_n=x_n-1/3$ converge vers 0 donc la suite $x_n$ converge vers $1/3$
\section{La suite de Syracuse }
Soit $a$ un entier positif. On veut \'etudier avec des graphiques la suite de 
Syracuse d\'efinie par :\\
$u_0=a$\\
$u_n=u_{n-1}/2$ si $u_{n-1}$ est pair et\\
$u_n=3*u_{n-1}+1$ si $u_{n-1}$ est impair.\\
Cette suite se termine toujours (?) par 1,4,2,1,4,2,1... mais on ne sait pas 
le montrer.\\
Pour \'etudier cette suite on peut :\\
- utiliser le tableur en mettant dans {\tt A0} la valeur $a$ de d\'epart et 
dans {\tt A1} la formule :\\
{\tt =ifte(irem(A0,2)==0,iquo(A0,2),3*A0+1)} ou encore \\
{\tt =if ((irem(A0,2))==0) iquo(A0,2); else 1+3*A0;;}\\
- utiliser un programme {\tt syracuse} qui renvoie le maximum de cette suite et
 le nombre d'\'el\'ements de cette suite et  {\tt syracuse0} qui \'ecrit en 
plus les termes de la suite ou encore {\tt syracuse100}
qui renvoie le maximum, le nombre de termes et la valeur de d\'epart de la 
plus longue suite d\'emarrant par un nombre entre 2 et 100.
\begin{verbatim}
  syracuse(a):={
    local k,m;
    k:=0;
    m:=a;
    while (a!=1) {
      if (irem(a,2)==0) a:=iquo(a,2); 
      else {
	a:=a*3+1;
	if (a>m){m:=a};
      }
      k:=k+1;
    }
  };
  
  syracuse0(a):={
    local m,k;
    m:=a;
    k:=0;
    print(a);
    while (irem(a,2)==0){
      a:=iquo(a,2);
      k:=k+1;
      print(a);
    }
    while(a!=1){
      a:=3*a+1;
      k:=k+1;
      print(a);
      if (m<a) {m:=a;}
      while (irem(a,2)==0){
	a:=iquo(a,2);
	k:=k+1;
    print(a);
      }
    }
    return(m,k);
  };
  
  syracuse100():={
    local k,kn,kt,l,lt,m,mt;
    lt:=0;
    for (k:=2;k<101;k:=k+1){
      kn:=k;
      m:=k;
      l:=0;
      while (kn!=1) {
	if (irem(kn,2)==0) kn:=iquo(kn,2); 
	else {
	  kn:=kn*3+1;
	  if (m<kn) {
	    m:=kn;
	  }
	}
	l:=l+1;
      }
      if (l>lt) {
	mt:=m;lt:=l;kt:=k;
      }
    }
    return(mt,lt,kt);
  };
\end{verbatim}
On ouvre un \'editeur de programme, on recopie la proc\'edure, puis gr\^ace au 
bouton {\tt OK} le programme est valid\'e.\\
On tape {\tt syracuse100()}, on trouve :\\
{\tt 9232,118,97} ce qui veut dire que c'est en d\'emarrant avec 97 que la 
suite a le plus de termes (ici 118 termes) et le maximum de cette suite est 
9232. \\
On peut bien s\^ur modifier les param\`etres de la boucle {\tt for} en mettant 
par exemple :\\
{\tt for (k:=101;k<200;k:=k+1)}\\
On tape {\tt syracuse100()}, on trouve alors :\\
{\tt 250504,124,177}\\
ou encore :\\
{\tt for (k:=901;k<1000;k:=k+1)}\\
On tape {\tt syracuse100()}, on trouve alors :\\
{\tt 250504,173,937}\\
On peut encore modifier facilement pour savoir si un plus grand nombre de 
terme donne la plus grande valeur atteinte (cela semble vrai!!!) (modifier pour
cela :\\
{\tt if (l>lt) \{mt:=m;lt:=l;kt:=k;\}} en \\
{\tt if (m>mt) \{mt:=m;lt:=l;kt:=k;\}} et rajouter au d\'ebut  {\tt kt:=2;}.\\
- utiliser un programme qui dessine les points $(n,u_n)$ lorsqu'on donne en 
entr\'ee $u_0=a$\\
- lorsqu'on donne en entr\'ee $u_0=a$ et en notant $n$ la premi\`ere valeur de 
$k$ pour laquelle $u_k=1$ et $m$ le maximum des $u_k$ pour $k\leq n$, dessiner 
les points $a,m$ ou encore dessiner les points  $a,u_k$ pour $k=0..n$.\\
On \'ecrit la proc\'edure {\tt syracuse1} (resp {\tt syracuse2} qui dessine 
 les points $(k,u_k)$ (resp les segments reliant les points $(k,u_k)$) dans 
l'\'ecran de g\'eom\'etrie et la proc\'edure {\tt syracuse3} qui
 dessine les points $a,u_k$ pour $k$ allant de 0  \`a $n$ et cela pour $a$ allant de 2 \`a 100 :
\begin{verbatim}
  syracuse1(a):={
    local m,k;
    m:=a;
    k:=0;
    point(0,a);
    while (irem(a,2)==0){
      a:=iquo(a,2);
      k:=k+1;
      point(k,a);
    }
    while(a!=1){
      a:=3*a+1;
      k:=k+1;
      point(k,a);
      if (m<a) {m:=a;}
      while (irem(a,2)==0){
	a:=iquo(a,2);
	k:=k+1;
	point(k,a);
      }
    }
    return(m,k);
  };
  
  
  syracuse2(a):={
    local m,k,k0,a0;
    m:=a;
    k:=0;
    point(k,a);
    while (irem(a,2)==0){
      k0:=k;
      a0:=a;
      a:=iquo(a,2); 
      k:=k+1;
      segment(k0+i*a0,k+i*a);
    }
    while(a!=1){
      k0:=k;
      a0:=a;
      a:=3*a+1;
      k:=k+1;
      segment(k0+i*a0,k+i*a);
      if (m<a) {m:=a;}
      while (irem(a,2)==0){
	k0:=k;
	a0:=a;
	a:=iquo(a,2);
	k:=k+1;
	segment(k0+i*a0,k+i*a);
      }
    }
    return(m,k);
  };
  
  syracuse3():={
    local k,kn;
    for(k:=2;k<101;k:=k+1){
      point(k,k);
      kn:=k;
      while (kn!=1) {
	if (irem(kn,2)==0) kn:=iquo(kn,2); else kn:=kn*3+1;
	point(k,kn);
      }
    }
  };
\end{verbatim}
Ne pas oubler de r\'egler la fen\^etre graphique en mettant par exemple :
{\tt X-=Y-=WX-=WY-=0}, {\tt X+=WX+=100} et {\tt Y+=WY+=1000}.\\
puis on tape par exemple {\tt syracuse1(123)}.

\section{La suite des tas}
On dispose $k$ jetons en $p$ tas.\\
On construit la suite des tas de la fa\c{c}on suivante :\\
on prend un jeton dans chaque tas et tous ces jetons forment un nouveau tas qui
sera le dernier tas, et on recommence.\\
Ce qui est s\^ur c'est que cette suite de tas est p\'erodique puisque il n'y a
qu'un nombre fini de fa\c{c}ons de disposer $k$ jetons en tas.\\
Il s'agit de voir comment se comporte cette suite.\\
On peut montre que lorsque $k=n*(n+1)/2$ cette suite stationne en :\\
$1,2,3,...,n$.\\
\subsection{Une remarque}
{\bf Lemme} La suite d\'ebutant par $1,2,3,...,n$ non ordonn\`e stationne 
vers $1,2,3,...,n$.\\
En effet, si on r\'epartit les jetons en $n$ tas $1,2,3,...,n$ de fa\c{c}on
non  ordonn\'ee, on 
aura la suite ordonn\'ee $1,2,3,...,n$ au bout d'au plus $n-1$ manipulations.\\
En effet \`a la premi\`ere \'etape $n$ se trouvera en dernier, \`a la 
deuxi\`eme \'etape $n-1,n$ se trouveront \`a la fin, et  \`a la $(n-1)$-i\`eme
 \'etape $2, ...n-1,n$ se trouvera en dernier et on aura donc obtenu $1,2...n$
puisque le nombre $k$ de jetons vaut $n(n-1)/2$.\\
\subsection{Le programme de simulation}
\begin{verbatim}
//programme de simulation tas.cxx
tas(l):={
local s,j,k,lr;
lr:=[l];
while (1) {
s:=size(l);
for (j:=0;j<s;j++) {
l[j]:=l[j]-1;
}
l:=concat(l,s);
//on supprime les zeros de l
k:=0;
for (j:=0;j<s+1;j++){
if (l[j]!=0){
l[k]:=l[j];
k:=k+1;
}
}
l:=mid(l,0,k);
if (member(l,lr)) return lr;
lr:=append(lr,l);
}
}

\end{verbatim}
On tape :\\
{\tt tas([10])}\\
On obtient :\\
{\tt [[10],[9,1],[8,2],[7,1,2],[6,1,3],[5,2,3],} \\
{\tt [4,1,2,3],[3,1,2,4],[2,1,3,4],[1,2,3,4]]}
\chapter{Pour s'amuser avec les probabilit\'es}
\section{Les anniversaires de 3 personnes}
Trois amis sont n\`es une m\^eme ann\`ee de 365 jours.\\
On suppose que les dates de naissance sont \'equiprobables.\\
Quelles sont les probabilit\'es pour que :

1/ Ils soient n\'es le m\^eme jour,

2/ Deux d'entre eux seulement soient n\'es le m\^eme jour,

3/ Ils soient n\'es a des dates diff\'erentes,

4/ Quelle relation v\'erifie ces trois r\'eponses ?\\

{\bf Solution}\\
On donne un num\'ero aux amis, i.e. on les ordonne.\\
Soit $\Omega$ l'univers ensemble de triplets de nombres allant de 1 \`a 365.
Il y a $365^3$ triplets possibles, donc   $card(\Omega)=365^3$.

1/ Soit $A$ l'\'ev\'enement "Ils sont tous les trois n\'es le m\^eme jour". cela signifie que 
$A$ est compos\'e de tripl\'es form\'es par 3 nombres \'egaux donc, 
$card(A)=365$. \\
Donc, $p(A)=\frac{365}{365^3}=\frac{1}{365^2}\simeq 7.5e-06$.

2/ Soit $B$ l'\'ev\'enement "Deux seulement sont n\'es le m\^eme jour".
$B$ est compos\'e de tripl\'es form\'es par 2 nombres \'egaux et diff\'erents 
du 3-i\`eme. Il  y a trois possibilit\'es (les deux premiers  ou les deux 
derniers ou le premier et le troisi\`eme  ont le m\^eme anniversaire donc,
comme il y a $365*364$ couples de nombres diff\'erents, $card(B)=3*365*364$.\\
Donc, $p(B)=\frac{3*365*364}{365^3}=\frac{3*364}{365^2}\simeq 0.0082$.

3/ Soit $C$ l'\'ev\'enement "Ils sont n\'es a des dates diff\'erentes".
$C$ est compos\'e de tripl\'es form\'es par 3 nombres diff\'erents donc,
comme il y a $365*364*363$ triplets form\'es de 3 nombres diff\'erents, on a
$card(C)=365*364*363$.\\
Donc, $p(C)=\frac{365*364*363}{365^3}=\frac{364*363}{365^2}\simeq 0.99$.

4/ On doit avoir $p(A)+p(B)+p(C)=1$ puisque $A,B,C$ forment une partition de 
 $\Omega$. on a :\\
$1+3*364+364*363=1+364*366=1+(365-1)(365+1)=365^2$\\
donc on a bien : $p(A)+p(B)+p(C)=1$.\\
\section{Les anniversaires de {\tt n} personnes}
Dans une assembl\'ee de {\tt n} personnes, toutes sont n\`ees une ann\`ee de 
365 jours.\\
On suppose que les dates de naissance sont \'equiprobables.\\
On note {\tt p(n)} la probabilit\'e pour que 2 personnes au moins aient leur 
anniversaire le m\^eme jour.

1/ Calculer {\tt p(3)},

2/ Donner la formule permettant de calculer {\tt p(n)},

3/ D\'eterminer une valeur approch\'ee de 
{\tt p(20)}, {\tt p(30)} et {\tt p(367)},

4/ D\'eterminer le nombre {\tt n} pour que l'on ait 
${\tt p(n)\geq \frac{1}{2}}$.\\

{\bf Solution}\\
On donne un num\'ero aux personnes de l'assembl\'ee, i.e. on les ordonne.\\
Soit $\Omega$ l'univers ensemble des {\tt n}-uplets de nombres entiers de 1 
\`a 365.\\ 
Il y a ${\tt 365^n}$ triplets possibles, donc ${\tt card(\Omega)=365^n}$.

1/ D'apr\`es l'exercice pr\'ec\'edent, {\tt p(3)}=$p(A)+p(B)=\frac{1+3*364}{365^2}\simeq 0.0082$.

2/ On va tout d'abord chercher la probabilit\'e de l'\'ev\'enement contraire :
soit $D_n$ l'\'ev\'enement "Les {\tt n} personnes ont leurs anniversaires 
a des dates toutes diff\'erentes".

Il y a ${\tt 365*364*...*365-n+1}$ triplets form\'es de nombres diff\'erents 
deux \`a deux, donc $card(D_n)=365*364*...365-n+1=\frac{365!}{(365-n)!}$.\\ 
Donc $\displaystyle p(D_n)=\frac{365!}{(365-n)!*365^n}=\frac{364!}{(365-n)!*365^{n-1}}$,\\
et donc $\displaystyle p(n)=1-p(D_n)=\frac{(365-n)!*365^n-365!}{(365-n)!*365^n}=\frac{(365-n)!*365^{n-1}-364!}{(365-n)!*365^{n-1}}$.\\
Avec {\tt xcas} on peut d\'efinir {\tt p(n)} on tape :\\
{\tt p(n):=1-factorial(364)/(factorial(365-n)*365\verb|^|(n-1))}

3/ Calculons avec {\tt xcas}, on tape :\\
{\tt evalf(perm(365,19)/365\verb|^|19)}\\
 On obtient :\\
{\tt 0.588561616419}\\
donc $p(D_{20})\simeq 0.588561616419$ et \\
{\tt p(20)}$\simeq (1-0.588561616419) \simeq ${\tt 0.411438383581}\\
Ou on tape :\\
{\tt evalf(p(20))}\\
On obtient :\\
{\tt 0.411438383581}\\
On tape :\\
{\tt evalf(perm(364,22)/365\verb|^|22)}\\
On obtient :\\
{\tt 0.492702765676}\\
donc $p(D_{23})\simeq 0.492702765676$ et\\ 
{\tt p(25)}$\simeq (1-0.492702765676) \simeq ${\tt0.507297234324}\\
Ou on tape :\\
{\tt evalf(p(23))}\\
On obtient :\\
{\tt 0.507297234324}\\
On tape :\\
{\tt evalf(perm(365,29)/365\verb|^|29)}\\
On obtient :\\
{\tt 0.293683757281}\\
donc $p(D_{30})\simeq 0.293683757281$ et\\ 
{\tt p(30)}$\simeq (1-0.293683757281) \simeq ${\tt0.706316242719}\\
Ou on tape :\\
{\tt evalf(p(30))}\\
On obtient :\\
{\tt 0.706316242719}\\
Ce qui veut dire que dans une assembl\'ee de 
20 personnes il y a 4 chances sur 10 pour que 2 personnes aient le m\^eme 
anniversaire, que dans une assembl\'ee de 23 personnes il y a 1 chance sur 
2 pour que 2 personnes aient le m\^eme anniversaire et que dans une 
assembl\'ee de 30 personnes il y a 7 chances sur 
10 pour que 2 personnes aient le m\^eme anniversaire !!!!\\
Pour calculer $p(367)$, on n'a pas besoin de {\tt xcas} car :\\
 $p(367)=1$ puisqu'il n'y a que 365 dates possibles (ou 366 ...) parmi
les 367 personnes et donc deux  personnes au moins ont forc\'ement le m\^eme 
anniversaire.

4/ On va utiliser le tableur pour chercher $p(20)..p(30)$, pour cela on tape 
dans {\tt A0}..{\tt A10} les valeurs de $p(D_ {20})..p(D_ {30})$ :\\
 {\tt =evalf(perm(365,20+Row())/365\verb|^|(20+Row()))}\\
et dans {\tt B0} ..{\tt B10} les valeurs de $p(20)..p(30)$ :\\
 {\tt =1-A0}\\
Puis, on remplit les colonnes {\tt A} et {\tt B} avec ces formules \`a l'aide
du bouton {\tt remplir} (option {\tt vers le bas}).\\
On rapelle que pour avoir la valeur d'une cellule dans la ligne de commande,
on doit appuyer sur le bouton {\tt eval}.\\
On obtient :\\
{\tt B2=0.475695307663} et {\tt B3=0.507297234324}\\
donc $n=23$ car on a :\\
$p(23)=0.507297234324>0.5$ et\\
pour $n=22$ $p(22)=0.475695307663<0.5$.\\
On peut aussi taper dans {\tt C0} :\\
{\tt =20+count\_inf(0.5,B0:B10)} \\
car on sait que $20<n<30$  et que {\tt coun\_inf(0.5,B0:B10)} est la fonction 
qui compte le nombre d'\'el\'ements stricrement inf\'erieurs \`a 0.5 dans la 
colonne {\tt B} (de {\tt B0} \`a {\tt B10}).\\
 On a mis 20 car il a {\tt 19+count\_inf(0.5,B0:B10)} valeurs stricrement 
inf\'erieures \`a 0.5 et donc {\tt 20+count\_inf(0.5,B0:B10)} est la 
premi\`ere valeur sup\'erieure ou \'egale  \`a 0.5.\\
On obtient dans {\tt C0} :\\
{\tt 23}\\
On remarqera que :\\
{\tt B21=0.903151611482}\\
Ce qui veut dire que dans une assembl\'ee de 41 personnes il y a 9 chances sur 
10 pour que 2 personnes aient le m\^eme anniversaire !!!!

5/ On peut dessiner l'\'evolution des {\tt p(n)} en fonction de {\tt n} lorsque
{\tt n} varie entre 20 et 50.
Il suffit poir cela de rajouter une colonne entre 
{\tt A} et {\tt B} on met {\tt B0}  en surbrillance et on appuie sur 
{\tt c+}. La colonne {\tt B} devient {\tt C}, et une colonne {\tt B} est 
cr\'e\'ee. \\
On tape alors {\tt 0} dans {\tt B0}, puis dans {\tt B1} on met
{\tt =B0+1} puis on remplit la colonne {\tt B} avec cette formule.\\
Il suffit maintenant de mettre en surbrillance {\tt B0:C30} puis d'ouvrir le 
menu {\tt 2d} et de choisir {\tt Scatterplot} pour voir les diff\'erents 
points dans l'\'ecran de g\'eom\'etrie (changer la configuration du 
graphique pour voir tous les points).
\section{Les 4 d\'es du jeu de Win}
On consid\`ere les 4 d\'es suivants :
\begin{itemize}
\item les faces du d\'e {\tt A} ont comme points : {\tt 0,0,4,4,4,4}, 
\item les faces du d\'e {\tt B} ont comme points : {\tt 1,1,1,5,5,5},
\item les faces du d\'e {\tt C} ont comme points : {\tt 2,2,2,2,6,6},
\item les faces du d\'e {\tt D} ont comme points : {\tt 3,3,3,3,3,3},
\end{itemize}
Chacun des joueurs choisit un d\'e. \`A chaque lancer, celui
qui a le meilleur score marque 1 point. La partie se compose de 12 lancers.\\
On veut simuler ce jeu pour que l'on puisse jouer contre l'ordinateur.
L'ordinateur tire au hasard un d\'e, vous donne son choix, puis vous
choisisez un parmi les 3 d\'es qui restent. Puis vous jouez....\\
Quel d\'e faut-il choisir pour gagner contre l'ordinateur ?
\ \\
On num\'erote les faces de chaque d\'e : par exemple, par ordre croissant des 
points des faces, ainsi pour le  d\'e {\tt A} les faces 0,1 ont comme 
points 0 et les faces 2,3,4,5 ont comme points 4.  
Pour jouer avec un d\'e, on tire au hasard un nombre entier entre 0 et 
5 ({\tt rand(6)}) pour voir sur quelle face tombe le d\'e, puis on regarde le 
nombre de points de cette face. Ce nombre d\'epend du d\'e choisi.\\
On \'ecrit donc une fonction qui renvoie pour chaque d\'e la valeur de
la face {\tt n} du d\'e. 
\begin{verbatim}
rande(des,n):={
if (des=="A"){if (n==0 or n==1) return 0 ;
                             else return 4;};
if (des=="B"){if (n==0 or n==1 or n==2) return 1; 
                             else return 5;};
if (des=="C"){if (n==4 or n==5) return 6;
                             else return 2;};
return 3;
}:;
\end{verbatim}
Puis on \'ecrit le programme qui correspond a une partie (12 lancers pour 
chacun) et qui renvoie la liste des scores ordinateur,joueur.
\begin{verbatim}
jeuwin():={
local deo,dem,po,pm,scoro,j;
deo:=char(rand(4)+65);
print("j'ai choisi le dé "+ deo);
InputStr("votre choix",dem);
scoro:=0;
for (j:=0;j<12;j++){
po:=rande(deo,rand(6));
pm:=rande(dem,rand(6));
print(po,pm);
if (po>pm) scoro:=scoro+1;
}
return [scoro,12-scoro];
}
:;
\end{verbatim}
On peut aussi utiliser les listes A,B,C,D pour representer chaque d\'e, et le programme devient beaucoup plus simple (on n'a pas besoin de la fonction
{\tt rande} !!!!
\begin{verbatim}
jewin():={
local deo,dem,po,pm,scoro,j,A,B,C,D;
deo:=char(rand(4)+65);
print("j'ai choisi le dé "+ deo);
A:=[0,0,4,4,4,4];
B:=[1,1,1,5,5,5];
C:=[2,2,2,2,6,6];
D:=[3,3,3,3,3,3];
input("votre choix",dem);
scoro:=0;
deo:=expr(deo);
for (j:=0;j<12;j++){
po:=deo[rand(6)];
pm:=dem[rand(6)];
print(po,pm);
if (po>pm) scoro:=scoro+1;
}
return [scoro,12-scoro];
}
:;
\end{verbatim}
On peut ensuite faire plusieurs parties. On tape :\\
{\tt score:=[0,0];}\\
puis par exemple\\
{\tt score:=score+jewin()}\\
plusieurs fois et on obtient les scores cumul\'es

Pour savoir quel d\'e il faut choisir, on cherche la probabilit\'e
que l'ordinateur gagne selon les diff\'erents choix :
\begin{enumerate}
\item l'ordinateur a choisi le d\'e {\tt A},
\begin{itemize}
\item si vous choisissez le d\'e {\tt B},\\
L'ordinateur gagne si le d\'e {\tt A} fait quatre et le d\'e {\tt B} fait un,
donc 
$$P(nA>nB)=(4/6)*(3/6)=1/3$$
\item si vous choisissez le d\'e {\tt C},\\
L'ordinateur gagne si le d\'e {\tt A} fait quatre et le d\'e {\tt C} fait deux,
donc 
$$P(nA>nC)=(4/6)*(4/6)=4/9$$ 
\item si vous choisissez le d\'e {\tt D},\\
L'ordinateur gagne si le d\'e {\tt A} fait quatre, donc 
$$P(nA>nD)=(4/6)=2/3$$ 
\end{itemize}
Il faut donc choisir le d\'e {\tt B} pour gagner avec une probabilit\'e de 2/3.
\item l'ordinateur a choisi le d\'e {\tt B},
\begin{itemize}
\item si vous choisissez le d\'e {\tt C},\\
L'ordinateur gagne si le d\'e {\tt B} fait cinq et le d\'e {\tt C} fait deux,
donc 
$$P(nB>nC)=(3/6)*(4/6)=1/3$$ 
\item si vous choisissez le d\'e {\tt D},\\
L'ordinateur gagne si le d\'e {\tt B} fait cinq,
donc 
$$P(nB>nD)=(3/6)=1/2$$ 
\item si vous choisissez le d\'e {\tt A},\\
cas d\'ej\`a vu :
$P(nB>nA)=1-P(nA>nB)=2/3$
\end{itemize}
Il faut donc choisir le d\'e {\tt C} pour gagner avec une probabilit\'e de 2/3.
\item l'ordinateur a choisi le d\'e {\tt C},
\begin{itemize}
\item si vous choisissez le d\'e {\tt D},\\
L'ordinateur gagne si le d\'e {\tt C} fait six,
donc 
$$P(nC>nD)=(2/6)=1/3 $$
\item si vous choisissez le d\'e {\tt B},\\
cas d\'ej\`a vu :
$ P(nC>nB)=1-P(nB>nC)=2/3$
\item si vous choisissez le d\'e {\tt A},\\
cas d\'ej\`a vu :
$ P(nC>nA)=1-P(nA>nC)=5/9$
\end{itemize}
Il faut donc choisir le d\'e {\tt D} pour gagner avec une probabilit\'e de 2/3.
\item l'ordinateur a choisi le d\'e {\tt D},
\begin{itemize}
\item si vous choisissez le d\'e {\tt A},\\
cas d\'ej\`a vu : $P(nD>nA)=1-P(nA>nD)=1/3$ 
\item si vous choisissez le d\'e {\tt B},\\
cas d\'ej\`a vu : $P(nD>nB)=1-P(nB>nD)=1/2$
\item si vous choisissez le d\'e {\tt C},\\
cas d\'ej\`a vu : $P(nD>nC)=1-P(nC>nD)=2/3$
\end{itemize}
Il faut donc choisir le d\'e {\tt A} pour gagner avec une probabilit\'e de 2/3.
\end{enumerate}
{\bf Remarque}\\
La relation "le d\'e $N_1$ gagne le d\'e $N_2$" n'est pas transitive, 
en effet:\\
le d\'e {\tt B} gagne le d\'e {\tt A},\\
le d\'e {\tt C} gagne le d\'e {\tt B},\\
le d\'e {\tt D} gagne le d\'e {\tt C},\\
le d\'e {\tt A} gagne le d\'e {\tt D},\\
De plus, le jeu est trompeur car le choix ne depend pas du score moyen de 
chaque d\'e, en effet :\\ 
le d\'e {\tt A} fait en moyenne un score de 8/3,\\
le d\'e {\tt B} fait en moyenne un score de 3,\\
le d\'e {\tt C} fait en moyenne un score de 10/3,\\
le d\'e {\tt D} fait en moyenne un score de 3 et pourtant le d\'e {\tt D}
l'emporte sur le d\'e {\tt C} de moyenne 10/3 mais il perd contre le d\'e 
{\tt A} qui n'a qu'une moyenne de 8/3 !


\section{Des calculs de moyenne}
\subsection{Nombre d'enfants moyen par famille}
Dans un pays, le roi a d\'ecid\'e que les familles de ses sujets doivent avoir
des enfants jusqu'\`a ce qu'elles aient un gar\c{c}on.\\
Quelle est le nombre d'enfants moyen par famille ?

Si $X$ est la variable al\'eatoire \'egale au nombre d'enfants dans une 
famille, on a :
\begin{itemize}
\item $\displaystyle P(X=1)=\frac{1}{2}$
\item $\displaystyle P(X=2)=\frac{1}{2^2}$
\item $\displaystyle P(X=3)=\frac{1}{2^3}$
\item ....
\item $\displaystyle P(X=k)=\frac{1}{2^k}$
\end{itemize}
Donc $\displaystyle E(X)=\sum_{k=1}^{+\infty} k*\frac{1}{2^k}$\\
On tape :\\
{\tt sum(k/2\verb|^|k,k,1,+infinity)}\\
On obtient :\\
{\tt 2}\\
Donc le nombre moyen d'enfants est 2....On aurait pu s'en douter car dans 
chaque famille il n'y a qu'un seul gar\c{c}on et comme en moyenne il nait 
autant de filles que de gar\c{c}ons, il y aura en moyenne autant de filles que 
de gar\c{c}ons, soit 2 enfants en moyenne dans chaque famille.

\subsection{Nombres triangulaires al\'eatoires}
On tire au hasard des nombres entre 1 et $n$ jusqu'\`a obtenir 1. Le 
r\'esultat est alors la somme des nombres obtenus. Quel est la moyenne des 
r\'esultats obtenus ?

\subsubsection{La solution math\'ematique}
Supposons pour commencer $n=2$\\
Les r\'esultats peuvent \^etre : $R=1,3,5....2p+1....$\\
On a :\\
$\displaystyle P(R_2=1)=\frac{1}{2}$,\\
$\displaystyle P(R_2=3)=\frac{1}{2^2}$\\
....
$\displaystyle P(R_2=2p+1)=\frac{1}{2^{p+1}}$\\
Donc :\\
$\displaystyle E(R_2)=\sum_{p=0}^{+\infty} (2p+1)\frac{1}{2^{p+1}}$\\
On tape :\\
{\tt sum((2k+1)/2\verb|^|(k+1),k,0,+infinity)}\\
On obtient :\\
{\tt 3}\\
La moyenne de $R_2$ vaut donc 1+2=3.\\

Peut-on g\'en\'eraliser ?\\
Dans le cas g\'en\'eral, on tire au hasard des nombres entre 1 et $n$ jusqu'\`a
obtenir 1. La moyenne des sommes des nombres tir\'es vaut-elle 
$1+2+...+n=n(n+1)/2$ ?\\
Soit $X_n$ la variable al\'eatoire \'egale au nombre de tirages parmi 
$1...n$ qu'il faut effectuer pour obtenir 1.\\
On a :\\
$\displaystyle P(X_n=1)=\frac{1}{n}$,\\
$\displaystyle P(X_n=2)=\frac{1}{n^2}$ et les r\'esultats obtenus peuvent 
\^etre : \\
$2+1=3,3+1=4,...,n+1$ qui est une liste $L_2$ de taille $n-1$ et de somme :\\
$2+3+...n+n-1=(n-1)(n+3)/2$
\\
$\displaystyle P(X_n=3)=\frac{1}{n^3}$ et les r\'esultats obtenus peuvent 
\^etre : \\
$2+2+1=5,2+3+1=6,3+2+1=6,...n+n+1$ qui est une liste $L_3$ de taille 
$(n-1)^2$\\
Que vaut la somme de cette liste ?\\
Chaque terme est la somme de 2 termes et de 1 : dans ces sommes chaque nombre 
(2,3,...n) apparaissent autant de fois donc il y a $2(n-1)^2/(n-1)=2n-2$ fois 2,
$2n-2$ fois 3...$2n-2$ fois $n$ et $(n-1)^2$ fois 1. La somme cette liste vaut 
donc :\\
$(n-1)^2+(2n-2)(2+3+...+n)=(n-1)^2+(n-1)^2(n+2)=(n-1)^2(n+3)$.\\
......
$\displaystyle P(X_n=p)=\frac{1}{n^p}$ et les r\'esultats obtenus peuvent 
\^etre : $2+...+2+1=2p-1,2+...+3+1=2p,3+2+...+2+1=2p,...$ (liste $L_p$ de 
taille $(n-1)^{p-1}$)\\
Que vaut la somme de cette liste ?\\
Cette somme est compos\'ee de $p*(n-1)^{p-1}$ termes.\\
Cette somme est la somme :\\
de $(n-1)^{p-1}$ fois 1,\\
de $(p-1)(n-1)^{p-2}$ fois 2\\
....\\
de $(p-1)(n-1)^{p-2}$ fois $n$\\
 donc elle vaut :\\
$(n-1)^{p-1}+(p-1)(n-1)^{p-2}(2+3+...+n)=$\\
$(n-1)^{p-1}+(n-1)^{p-1}(p-1)(n+2)/2=(n-1)^{p-1}(1+(p-1)(n+2)/2)=$\\
$(n-1)^{p-1}((p(n+2)-n)/2)$.\\
Donc :\\
$E(R_n)=\sum_{p=1}^{+\infty}\frac{1}{n^p}(n-1)^{p-1}(p(n+2)-n)/2$\\
On tape :\\
{\tt sum((n-1)\verb|^|(p-1)/n\verb|^|p*(p*(n+2)-n)/2 ,p,1,+infinity)}\\
On obtient :\\
{\tt (n\verb|^|2+n)/2}\\
Donc la moyenne de $R_n$ est \'egale \`a $1+2+...n$
\subsubsection{La mod\'elisation avec {\tt Xcas}}
On tape le programme {\tt trialea(r,q,p)} qui tire au hasard des nombres entre
1 et $r$. On fait $p$ fois des \'echantillons de taille $q$, et on dessine
les r\'esultats interm\'ediaires obtenus :
{\tt l} contient les sommes cumul\'ees des r\'esultats (ici une somme) c'est 
\`a dire la 
somme d'un \'echantillon de taille {\tt n=k+1+j*q} avec  {\tt k=0..q-1} et
{\tt j=0..p-1}. Dans {\tt Ldiv} on met {\tt evalf(l/n)}  lorsque 
{\tt n=q,2*q...p*q} 
\begin{verbatim}
trialea(r,q,p):={
  local j,k,l,n,LdivN,alea;
  LdivN:=NULL;
  l:=0;
  n:=0;
  for (j:=0;j<p;j++){
    for (k:=0;k<q;k++){
      alea:=(rand(r)+1);
      while (alea!=1){
        l:=l+alea;
        alea:=(rand(r)+1);
      }
      l:=l+1;
      n:=n+1;
    }
    LdivN:=LdivN,evalf(l/n);
  }
  return LdivN;
}:;
\end{verbatim}
On tape :\\
{\tt L10:=trialea(10,100,10000);}\\
{\tt plotlist(L10)}\\
On obtient :\\
\ \\
 \includegraphics[width=\textwidth]{trialea}
\subsection{Factorielles al\'eatoires}
On tire au hasard des nombres entre 1 et $n$ jusqu'\`a obtenir 1. Le 
r\'esultat est alors le produits des nombres obtenus. Quel est la moyenne des 
r\'esultats obtenus ?

\subsubsection{La solution math\'ematique}
Cela ressemble \`a l'exercice pr\'ec\'edent.....\\
Supposons pour commencer $n=2$.\\
Les r\'esultats peuvent \^etre : $R=1,2,4....2^p...$\\
On a :\\
$\displaystyle P(R_2=1)=\frac{1}{2}$,\\
$\displaystyle P(R_2=2)=\frac{1}{2^2}$\\
....
$\displaystyle P(R_2=2^p)=\frac{1}{2^{p+1}}$\\
Donc :\\
$\displaystyle E(R_2)=\sum_{p=0}^{+\infty} 2^p\frac{1}{2^{p+1}}$
On tape :\\
{\tt sum(2\verb|^|k/2\verb|^|(k+1),k,0,+infinity)}\\
On obtient :\\
{\tt infinity}\\
La moyenne de $R_2$ est donc infinie.\\

Peut-on g\'en\'eraliser ?
Dans le cas g\'en\'eral, on tire au hasard des nombres entre 1 et $n$ jusqu'\`a
obtenir 1. La moyenne des produits des nombres tir\'es est-elle 
infinie ?
Soit $X_n$ la variable al\'eatoire \'egale au nombre $p$ de tirages parmi 
$1...n$ qu'il faut effectuer pour obtenir 1.\\
On a :\\
$\displaystyle P(X_n=1)=\frac{1}{n}$,\\
$\displaystyle P(X_n=2)=\frac{1}{n^2}$ et les r\'esultats obtenus peuvent 
\^etre : \\
$2*1=2,3*1=3,...,n*1$ (liste $L_2$ de taille $n-1$ de produit 
$2*3+...*n=n!$) \\
$\displaystyle P(X_n=3)=\frac{1}{n^3}$ et les r\'esultats obtenus peuvent 
\^etre : \\
$2*2*1=4,2*3*1=6,3*2*1=6,...n*n*1$ (liste $L_3$ de taille $(n-1)^2$)\\
Que vaut la somme de cette liste ?\\
Chaque terme de cette liste provient du developpement de :\\
$(2+3+...+n)^2$ donc la somme de la liste $L_3$ vaut $(2+3+...+n)^2$ \\
.....\\
$\displaystyle P(X_n=p)=\frac{1}{n^p}$ et les r\'esultats obtenus peuvent 
\^etre : \\
$2*...*2*1=2^{p-1},2+...+3+1=2{p-2}*3,,...$ (liste $L_p$ de 
taille $(n-1)^{p-1}$)\\
Que vaut la somme de cette liste ?\\
Chaque terme de cette liste provient du developpement de :\\
$(2+3+...+n)^{p-1}$ donc la somme de la liste $L_p$ vaut $(2+3+...+n)^{p-1}$ \\
Donc :
$$E(R_n)=\sum_{p=1}^{+\infty}\frac{1}{n^p}(2+3+...+n)^{p-1}=\frac{1}{n}\sum_{p=1}^{+\infty} ((n+2)*(n-1)/(2*n))^{p-1}$$
On obtient une somme g\'eom\'etrique de raison $(n+2)*(n-1)/(2*n)>=1$ pour 
$n>=2$.\\
On tape :\\
{\tt sum(((2+n)*(n-1)/2)\verb|^|{p-1}/(n)\verb|^|p ,p,1,k)}\\
On obtient :\\
{\tt infinity}\\
Donc la moyenne de $R_n$ est infinie.
\subsubsection{La mod\'elisation avec {\tt Xcas}}
On tape le programme {\tt factalea(r,q,p)} qui tire au hasard des nombres entre
1 et $r$. On fait $p$ fois des \'echantillons de taille $q$, et on dessine
les r\'esultats interm\'ediaires obtenus :
{\tt l} contient les sommes cumul\'ees des r\'esultats (ici un produit) c'est 
\`a dire la 
somme d'un \'echantillon de taille {\tt n=k+1+j*q} avec  {\tt k=0..q-1} et
{\tt j=0..p-1}. Dans {\tt Ldiv} on met {\tt evalf(l/n)}  lorsque 
{\tt n=q,2*q...p*q} 
\begin{verbatim}
factalea(r,q,p):={
  local j,k,l,n,LdivN,alea;
  LdivN:=NULL;
  l:=0;
  n:=0;
  for (j:=0;j<p;j++){
    for (k:=0;k<q;k++){
      alea:=(rand(r)+1);
      f:=1
      while (alea!=1){
        f:=f*alea;
        alea:=(rand(r)+1);
      }
      l:=l+f;
      n:=n+1;
    }
    LdivN:=LdivN,evalf(l/n);
  }
  return [LdivN];
}:;
\end{verbatim}
On tape :\\
{\tt F3:=factalea(3,10,100);}\\
{\tt plotlist(F3)}\\
On obtient :\\
\ \\
 \includegraphics[width=\textwidth]{factalea}
\chapter{Pour s'amuser avec les s\'eries}
Soit $n$ un entier positif. \\
Soit $c_n$ le nombre de triplets $(X,Y,Z)$ de 
$\mathbb N$ qui v\'erifient :
$$X+2Y+4Z=n$$
On veut calculer $c_n$.\\
D\'eterminer $c_{100}$ et $c_{1000}$.\\

On propose pour cela la t\'echnique suivante :\\
- Effectuer un d\'eveloppement en s\'erie au voisinage de l'origine de :\\
$\displaystyle f_1(x)=\frac{1}{1-x}$,\\
$\displaystyle f_2(x)=\frac{1}{1-x^2}$,\\
$\displaystyle f_3(x)=\frac{1}{1-x^4}$,\\
$\displaystyle f(x)=\frac{1}{(1-x)(1-x^2)(1-x^4)}$,\\  
- Montrer, en effectuant le produit des 3 d\'eveloppements en s\'erie de 
$f_1,f_2,f_3$, que le coefficient de $x^n$ du d\'eveloppement de $f$ est $c_n$.\\
- D\'eterminer le d\'eveloppement de $f$ par une autre m\'ethode.\\
- En d\'eduire $c_n$.\\

On tape :\\
$\displaystyle {\tt series(\frac{1}{(1-x)(1-x^2)(1-x^4)},0,20)}$\\
On obtient :\\
${\tt 1+x+2*x^2+2*x^3+4*x^4+4*x^5+6*x^6+6*x^7+9*x^8+9*x^9+12*x^{10}+}$\\
${\tt 12*x^{11}+16*x^{12}+16*x^{13}+20*x^{14}+20*x^{15}+25*x^{16}+25*x^{17}+30*x^{18}+}$\\
${\tt 30*x^{19}+36*x^{20}+x^{21}*order\_size(x)}$\\
On remarque que les coefficients sont :\\
$1,1,2,2,4,4,6,6,9,9,12,12,16,16,20,20,25,25,30,30,36...$\\
On obtient les carr\'es des entiers puis, le produit de 2 entiers cons\'ecutifs :\\
$1,4,9,16,25,36$ et $1*2,2*3,3*4,4*5,5*6...$\\
On suppose donc que :\\
$f(x)=\sum_{n=0}^\infty c_nx^n$ avec :\\
$c_{4*k}=c_{4*k+1}=(k+1)^2$ et \\
$c_{4*k+2}=c_{4*k+3}=(k+1)*(k+2)$\\
 ce qui donne bien  $c_0=c_1=1$, $c_2=c_3=2$, $c_4=c_5=4$, $c_6=c_7=6...$\\
On a donc :\\
$c_{100}=c_{4*25}=26^2=676$\\
$c_{1000}=c_{4*250}=251^2=63001$\\
On peut bien s\^ur le v\'erifier en demandant \`a {\tt xcas} :\\ 
$\displaystyle {\tt series(\frac{1}{(1-x)(1-x^2)(1-x^4)},0,100)}$  et\\ 
$\displaystyle {\tt series(\frac{1}{(1-x)(1-x^2)(1-x^4)},0,1000)}$\\

Mais comment montrer que l'on a bien :\\
$f(x)=\sum_{n=0}^\infty c_nx^n$ avec :\\
$c_{4*k}=c_{4*k+1}=(k+1)^2$ et \\
$c_{4*k+2}=c_{4*k+3}=(k+1)*(k+2)$\\
On peut penser \`a d\'ecomposer la fraction rationnelle $f$ :\\
On tape :\\
$\displaystyle {\tt partfrac(\frac{1}{(1-x)(1-x^2)(1-x^4)})}$\\
On obtient :\\
$\displaystyle {\tt \frac{x+1}{8*(x^2+1)}+\frac{5}{32*(x+1)}+\frac{1}{16*(x+1)^2}-\frac{9}{32*(x-1)}+\frac{1}{4*(x-1)^2}-\frac{1}{8*(x-1)^3}}$\\
ce qui n'est pas simple....
 
Pour le montrer on peut commencer par montrer que :\\
$\displaystyle {\tt series(\frac{1}{(1-x^2)(1-x^4)},0,20)}$ vaut :\\
${\tt 1+x^2+2*x^4+2*x^6+3*x^8+3*x^{10}+4*x^{12}+4*x^{14}+5*x^{16}+}$\\
${\tt 5*x^{18}+6*x^{20}+x^{21}*order\_size(x)}$ c'est \`a dire :\\
$\displaystyle {\tt series(\frac{1}{(1-x^2)(1-x^4)},0,20)}=\sum_{n=0}^\infty c_nx^n$ avec :\\
$c_{4*k}=c_{4*k+2}=(k+1)$ et \\
$c_{4*k+1}=c_{4*k+3}=0$\\
puis multiplier par cette s\'erie par $\sum_{n=0}^\infty x^n$ \\
On peut aussi regarder le d\'eveloppement en s\'erie de $f/(1+x)$ car :\\
 $\frac{f}{1+x}=\frac{1}{(1-x^2)^2(1-x^4)}$.\\
On a ;\\
$1/(1-x^2)^2=\sum_{n=0}^\infty (n+1)x^{2n}$ ($1/(1-u)^2=(1/(1-u))'$ puis $u=x^2$)\\
$1/(1-x^4)=\sum_{n=0}^\infty x^{4n}$\\
on multiplie ces deux s\'eries et on obtient :\\
coefficient de $x^{4n}$ : $1+3+5+....+(2n+1)=(n+1)^2$\\
coefficient de $x^{4n+2}$ : $2+4+6+....+(2n+2)=(n+1)(n+2)$\\
donc\\
$f=(1+x)\sum_{n=0}^\infty (n+1)^2x^{4n}+(n+1)(n+2)x^{4n+2}$\\
ce qui donne bien la formule annonc\'ee.\\

Vous pouvez maintenant vous amuser avec  le probl\`eme similaire :\\ 
Soit $n$ un entier positif. Soit $c_n$ le nombre de triplets de $\mathbb N$
 qui v\'erifient :
$$X+2Y+5Z=n$$
D\'eterminer $c_{100}$ et $c_{1000}$ en calculant $c_n$.

\chapter{Pour s'amuser en g\'eom\'etrie}
\section{Des probl\`emes de plus court trajet}
Les probl\`eme de plus court trajet sont souvent difficiles...
En voici quelques uns plutot faciles.  
\subsection{Comment placer un pont}
Deux villages assimil\'es \`a deux points A et B sont situ\'es de part et 
d'autre d'une rivi\`ere assimil\'ee \`a deux droites parall\`eles D1 et D2.
O\`u doit-on placer un pont PQ (perpendiculairement aux berges) sur la 
rivi\`ere pour minimiser le trajet 
allant de A \`a B ?\\
On veut que le trajet AP+PQ+QB soit minimum, on remarque que dans le trajet PQ 
est constant et est \'egal \`a la largeur de la rivi\`ere. On 
dessine le parall\'elogramme APQR et ainsi, AP+PQ=AR+RQ. 
On a donc :\\ 
AP+PQ+QB= AR+RQ+QB o\`u AR=PQ=cste\\
La solution est maintenanant \'evidente : pour rendre minimu RQ+QB il suffit 
de choisir A,Q,B align\'es.\\
Le dessin avec {\tt xcas} :\\
On clique deux points {\tt A} \`a gauche de $x=-1$ et {\tt B} \`a droite 
de $x=1$.
\begin{verbatim}
D1:=droite(-1,-1+i);
D2:=droite(1,1+i);
R:=translation(2,A);
Q:=inter(droite(B,R),D2)[0];
P:=translation(-2,Q);
segment(A,P);
segment(Q,P);
segment(R,B);
segment(R,A);
\end{verbatim}
On peut ensuite faire bouger les points {\tt A} ou {\tt B} et visualiser les 
trajets {\tt APQB} et {\tt ARQB}.  
\subsection{Comment placer deux ponts}
Deux villages assimil\'es \`a deux points A et B sont situ\'es de part et 
d'autre de deux rivi\`eres, l'une est  assimil\'ee \`a deux droites parall\`eles D1 et D2 et l'autre est  assimil\'ee \`a deux droites parall\`eles D3 et D4.
O\`u doit-on placer deux ponts P1P2 et P3P4  sur les rivi\`eres 
(perpendiculairement aux berges) pour minimiser le trajet allant de A \`a B.\\ ?\\
On fait le dessin avec {\tt xcas} :\\
On clique deux points {\tt A} en bas \`a gauche  de l'\'ecran et {\tt B} 
en haut et \`a droite de l'\'ecran et on tape :\\
\begin{verbatim}
assume(a:=1);
D1:=droite(-2,-2+i);
D2:=droite(-1,-1+i);
D3:=droite(-1,a-1-i);
D4:=droite(0,a-i);
R:=translation(1,A);
segment(A,R);
Q:=translation(-(1+a*i)/(1+a^2),B);
segment(B,Q);
P2:=inter(droite(R,Q),D2)[0];
P1:=translation(-1,P2);
P3:=inter(droite(R,Q),D3)[0];
P4:=translation((1+a*i)/(1+a^2),P3);
segment(A,P1);
segment(P1,P2);
segment(P2,P3);
segment(P3,P4);
segment(P4,B);
segment(R,P2);
segment(P3,Q);
\end{verbatim}
Il reste \`a observer le dessin en faisant bouger {\tt a} ou {\tt A}
ou {\tt B} pour voir que :\\
AR=AP1=largeur d'une rivi\`ere\\
BQ=BP4=largeur de l'autre rivi\`ere\\
AP1+P1P2+P2P3+P3P4+P4B=AR+RP2+P2P3+P3Q+QB=AR+RQ+QB\\
 et comprendre comment on fait la construction des deux ponts. 
\subsection{Minimiser AMB  avec M sur une droite}
Soient une droite {\tt d} et deux points {\tt A} et {\tt B}. On veut 
minimiser la distance {\tt AM+MB} lorsque {\tt M}$\in${\tt d}.\\
Si les deux points sont de part et d'autre de {\tt d}, c'est facile on trace la droite {\tt AB},\\
si les deux points sont  situ\'es 
dans le m\^eme demi-plan d\'efini par {\tt d}, on se ram\'ene \` a la 
situation pr\'ec\'edente en prenant le sym\'etrique {\tt C} de {\tt B} par
rapport \`a {\tt d}. 
Ainsi, {\tt AM+MB=AM+MC} et {\tt A} et {\tt C} sont de part et d'autre 
de {\tt d}.
Le dessin avec {\tt xcas} :\\
On clique deux points {\tt A} et {\tt B} \`a droite 
de $x=-1$.
\begin{verbatim}
d:=droite(-1,-1+i);
C:=symetrie(d,B);
M:=inter(droite(A,C),d)[0];
segment(A,M);
segment(M,B);
segment(C,M);
N:=element(d);
segment(A,N);
segment(N,B);
segment(C,N);
\end{verbatim}
On peut ensuite faire bouger les points {\tt N} ou {\tt B} et visualiser les 
trajets {\tt AMB} et {\tt AMC} en les comparant \`a {\tt ANB} et {\tt ANC}.  
\subsection{Minimiser AMNB avec M et N chacun sur une droite}
Soient deux droites {\tt d1, d2} et deux points {\tt A} et {\tt B}. On veut 
minimiser la distance {\tt AM+MN+NB} lorsque {\tt M}$\in${\tt d1} et 
{\tt N}$\in${\tt d2}.\\
Les deux droites d\'efinissent quatre portions de plan (I,II,III,IV) 
(I et III \'etant oppos\'es par le sommet). 
Il y a plusieurs cas \`a distinguer et selon la position de {\tt A} et {\tt B}
par rapport \`a ces portions de plan. Selon les cas pour trouver la solution 
il faut tracer  le sym\'etrique {\tt A1} de {\tt A} par
rapport \`a {\tt d1} et le sym\'etrique {\tt B2} de {\tt B} par
rapport \`a {\tt d2}, puis tracer soit {\tt AB}, soit {\tt AB2},
soit {\tt A1B}, soit {\tt A1B2}. 
%\subsection{Minimiser AMNPQA avec M,N,P,Q sur les cot\`es d'un rectangle}
\subsection{Un trajet difficile : minimiser AMB  avec M sur un cercle}
Soient deux points {\tt A} et {\tt B}.\\
Un point {\tt M} se d\'eplace sur le cercle  {\tt C} de centre {\tt O} et de 
rayon {\tt 1}. On choisit {\tt A} et {\tt B} pour que la droite {\tt AB}
ne coupe pas le cercle {\tt C}.\\
On cherche dans ce cas, \`a minimiser le trajet {\tt AMB}.\\ 
Avec {\tt Xcas} on va faire appara\^{i}tre sur le m\^eme \'ecran, le dessin 
g\'eom\'etrique et le graphe de la fonction {\tt longueur(AM)+longueur(MB)-2}
lorsque {\tt M} varie (on enl\`eve {\tt 2} pour pouvoir voir 
le graphe en entier).\\
On r\'egle la fen\^etre graphique pour voir :\\
${\tt [-3.5,6.5] \times [-1,4.4] }$\\
On clique sur deux points pour d\'efinir {\tt A} et {\tt B}.\\
On tape :\\
\begin{verbatim}
C:=cercle(0,1);
t:=element(0..2*pi);
M:=point(exp(i*t)); // ou M:=element(C,t);
L(A,B,t):=evalf(longueur(A,exp(i*t))+longueur(B,exp(i*t)));
G:=plotfunc(L(A,B,x)-2,x);
N:=element(G,t);
bissectrice(M,A,B);
exbissectrice(M,A,B)
\end{verbatim}
Ensuite lorsque l'on fait bouger {\tt t} les points {\tt M} et {\tt N} bougent,
l'un sur le cercle {\tt C}, l'autre sur le graphe {\tt G} et l'on peut voir que
le minimum est atteint quand la bissectrice de l'angle {\tt M} passe par 
{\tt O}.\\
On peut aussi faire varier {\tt B} pour voir ce qu'il se passe quand la droite 
{\tt AB} coupe {\tt C} c'est \`a dire quand la solution est evidente...\\
{\bf Cas particulier}
On peut d\'emontrer que lorsque le triangle {\tt OAB} est isoc\'ele de sommet 
{\tt O} le point {\tt M} du cercle {\tt C} qui rend le trajet {\tt AM+MB} 
minimum se trouve sur la bissectrice int\'erieure de l'angle 
${\tt \widehat{AMB}}$. En effet soit deux points {\tt N1} et {\tt N2}
du cercle {\tt C} sym\'etriques par rapport \`a cette bissectrice (qui est 
aussi la m\'ediatrice de {\tt AB}). On a donc {\tt AN1=BN2} et {\tt AN2=BN1} 
et donc
{\tt AN1+N1B=AN1+AN2}.\\
Soient {\tt I} le milieu de {\tt N1N2} et {\tt J} le milieu de {\tt AB}.
Les points  {\tt 0, I, M, J} sont tous sur la m\'ediatrice de {\tt AB} et 
puisque  {\tt JI>JM} ({\tt I} milieu de la corde {\tt N1N2} et 
 {\tt J} milieu de l'arc {\tt N1N2}et  on en d\'eduit que {\tt AI>AM}
${\tt \overrightarrow{AN1} +\overrightarrow{AN2}=2\overrightarrow{AI}}$ et donc d'apr\'es l'in\'egalit\'e triangulaire on a {\tt 2AI<AN1+AN2} et donc \\
{\tt AM+MB=2AM<2AI<AN1+AN2} ce qui prouve que {\tt AM+MB} est minimum.
\section{Une transformation}
Quelles sont les transformations du plan qui transforme toute droite en une 
droite parall\`ele ?
Ce qui veut dire que, si on connait un point {\tt A} et son transform\'e 
{\tt A1}, le transform\'e  {\tt B1} de {\tt B}, est sur la parall\`ele \`a la 
{\tt droite(A,B)} passant par {\tt A1}.
Si  {\tt A}  et {\tt A1} sont confondus en {\tt O}, {\tt B1} se trouve sur la 
{\tt droite(O,B)} : {\tt B},{\tt B1} et {\tt O}  sont alignes si {\tt O}
est un point fixe.\\
On va essayer de d\'eterminer ces transformations en les classant selon le
nombre de points fixes.\\
Soit {\tt T} est une transformation du plan qui transforme toute droite en une 
droite parall\`ele et, 
\begin{itemize}
\item {\tt T} a au moins deux points fixes {\tt O1} et {\tt O2}, alors le 
transform\'e d'un point {\tt A} situ\'e en dehors de la {\tt droite(O1,O2)}
est sur la {\tt droite(A,O1)} et sur la {\tt droite(A,O2)}, donc est en 
{\tt A}. On en d\'eduit que {\tt A} est aussi un point fixe et que tous les 
points  sont fixes puisque les points de  la {\tt droite(O2,O1)} sont en 
dehors de la droite la {\tt droite(A,O1)} ou de la droite la 
{\tt droite(A,O2)}.\\
Donc si {\tt T} a au moins deux points fixes, c'est que {\tt T} est 
l'identit\'e. 

\item {\tt T} a un seul point fixe {\tt O}, et soient deux points {\tt A} et 
{\tt B} non align\'es avec {\tt O}, et leur transform\'e {\tt A1} et 
{\tt B1}.\\ 
{\tt A1} n'est pas confondu avec {\tt O} car sinon {\tt A1} et {\tt B1}
seraient confondus avec {\tt O} car :\\
{\tt B1:=inter\_droite(droite(B,O),parallele(A1,droite(A,B)))}\\
et la {\tt droite(A,B)} serait transform\'ee en le {\tt point(O)} !
{\tt A1} est sur la 
{\tt droite(A,O)} et {\tt B1} est sur la {\tt droite(B,O)}. On sait de plus 
que  les {\tt droite(A,B)} et {\tt droite(A1,B1)} sont parall\'eles.
Donc si {\tt T} a au moins un seul point fixe, c'est que {\tt T} est une 
homot\'etie.\\
Avec {\tt xcas}, on clique pour d\'efinir deux points {\tt A} et {\tt B} et
on tape :
\begin{verbatim}
O:=point(0);
t:=element(-2..5);
A1:=element(droite(A,O),t);
B1:=inter_droite(droite(B,O),parallele(A1,droite(A,B)));
\end{verbatim}
puis on fait bouger {\tt t} et {\tt B}.

\item {\tt T} n'a pas de point fixe et soient deux points {\tt A} et 
{\tt B} , et leur transform\'e {\tt A1} et {\tt B1}.\\

La {\tt droite(A,A1)} ne coupe pas la  {\tt droite(B,B1)} car sinon le point 
d'intersection {\tt O} serait un point fixe :
{\tt O1:=inter\_droite(droite(A,O),droite(B,O))}
car {\tt parallele(A1,droite(A,O))=droite(A,O)} et\\
{\tt parallele(B1,droite(B,O))=droite(B,O)}.\\
Donc :\\
{\tt B1:=inter\_droite(parallele(A1,droite(A,B)),parallele(B,droite(A,A1)))}
donc {\tt ABA1B1} est un parall\'elogramme.\\
Donc si {\tt T} n'a pas de point fixe, c'est que {\tt T} est une 
translation.\\
Avec {\tt xcas}, on clique pour d\'efinir deux points {\tt A} et {\tt B} et
on tape :
\begin{verbatim}
O:=point(0);
t:=element(-2..5);
A1:=element(droite(A,O),t);
B1:=inter_droite(parallele(A1,droite(A,B)),parallele(B,droite(A,A1)));
\end{verbatim}
puis on fait bouger {\tt t} et {\tt B}.\end{itemize}

\section{Un pavage}
\subsection{Construction d'un pavage invariant par des translations}
Soient 5 points  {\tt A,B,C,E,F}, On construit 3 points {\tt D,G,H} par 
translation : {\tt D} (resp  {\tt G}) est le transform\'e de {\tt A} (resp  
{\tt E} dans la translation de vecteur {\tt BC} et {\tt H} est le 
transform\'e de {\tt F} dans la translation de vecteur {\tt BA}
Le pav\'e de base est {\tt P0=polygone([A,E,B,F,C,G,D,H]}
Pour vous convaincre on va ex\'ecuter le script suivant qui se trouve dans
le fichier {\tt pavage1.cxx} :
\begin{verbatim}
//un pave le polygone([A,E,B,F,C,G,D,H])
A:=point(-1.84,-1.83);
B:=point(0.22,-1.93);
C:=point(0,0);
E:=point(-1,-2);
F:=point(1.05,-0.857);
D:=translation(C-B,A);
G:=translation(C-B,E);
H:=translation(A-B,F);
nodisp(P0:=polygone(A,E,B,F,C,G,D,H));
nodisp(P1:=translation(B-A,P0));
P1;
translation(B-C,[P0,P1]);
\end{verbatim}
vous pouvez faire bouger les points {\tt A,B,C,E,F}
\subsection{Avec un  quadrilat\`ere quelconque}
Tout quadrilat\`ere pave le plan.\\
Le pav\'e de base est {\tt Q:=quadrilatere(B,C,E,A)}
Pour vous convaincre on va ex\'ecuter le script suivant qui se trouve dans
le fichier {\tt pavageq.cxx} :
\begin{verbatim}
//un quadrilatere quelconque pave le plan
A:=point(-1.84,-1.83);
B:=point(0.22,-1.93);
AB:=segment(A,B);
C:=point(1.05,-0.857);
BC:=segment(B,C);
E:=point(-0.0943,0.0178)+-0.0314-1.62*(i);
CE:=segment(C,E);
EA:=segment(E,A);
O:=milieu(A,B);
nodisp(Q:=quadrilatere(B,C,E,A));
nodisp(Q1:=symetrie(O,Q));
nodisp(Q2:=op(translation(E-B,[Q,Q1])));
Q1
Q1;
Q2;
translation(C-A,[Q,Q1,Q2]);
\end{verbatim}
qui dessine un quadrilat\`ere quelconque {\tt A,B,C,E} et ses repr\'esentants 
 (son sym\'etrique par rapport au milieu {\tt O} de {\tt AB} et ses 
translat\'es) formant un pavage. 
On met ce script dans {\tt prg} puis on partage la fen\^etre en deux pour avoir l'\'ecran {\tt prg} et l'\'ecran {\tt geo}, puis on utilise le bouton {\tt exec} pour ex\'ecuter le script pas \`a pas.
On passe ensuite \`a une seule fen\^etre l'\'ecran {\tt geo}.\\
 Vous pouvez d\'eformer ce quadrilat\`ere en faisant bouger 
l'un des points {\tt A,B,C,E}.
Sur le m\^eme principe, on peut r\'ealiser un pavage en remplacant les c\^ot\'es du quadrilat\`ere par des lignes bris\'ees admettant un centre de sym\'etrie.\\
Pour vous convaincre on va ex\'ecuter le script suivant qui se trouve dans
le fichier {\tt pavage2.cxx} :
\begin{verbatim}
//un "quadrilatere" chaque cote est invariant par symetrie centrale
A:=point(-1.84,-1.83);
B:=point(0.22,-1.93);
C:=point(1.05,-0.857);
D:=point(-0.0943,0.0178)
M:=milieu(A,B);
N:=milieu(C,B);
O:=milieu(C,D);
P:=milieu(A,D);
E:=point(-1.2,-2);
F:=point(0.6,-1.8);
G:=point(0.8,-0.5);
H:=point(-0.5,0);
nodisp(E1:=symetrie(M,E));
nodisp(F1:=symetrie(N,F));
nodisp(G1:=symetrie(O,G));
nodisp(H1:=symetrie(P,H));
nodisp(P0:=polygone(A,E,M,E1,B,F,N,F1,C,G,O,G1,D,H,P,H1,A));
P0;
translation(A-C,P0);
\end{verbatim}  
vous pouvez faire bouger les points {\tt A,B,C,D,E,F,G,H}
\subsection{Construction d'un pavage triangulaire}
Le pav\'e de base est {\tt P0=polygone([A,E,B,F,C,H,J,G]}
Pour vous convaincre on va ex\'ecuter le script suivant qui se trouve dans
le fichier {\tt pavage3.cxx} :
\begin{verbatim}
//un pave P0= polygone([A,E,B,F,C,H,J,G])([A,E,B,F,C,H,J,G])
A:=point(-1.84,-1.83);
B:=point(0.22,-1.93);
nodisp(triangle_equilateral(A,B,C));
E:=point(-1,-2);
F:=point(0,0);
G:=rotation(A,2*pi/3,E);
H:=rotation(C,-2*pi/3,F);
J:=rotation(C,-2*pi/3,B);
nodisp(P:=[A,E,B,F,C,H,J,G]);
nodisp(P0:=polygone(op(P)));
nodisp(P1:=rotation(A,2*pi/3,P0));
nodisp(P2:=rotation(A,4*pi/3,P0));
[P0,P1,P2];
translation(B-J,[P0,P1,P2]);
translation(B-rotation(A,2*pi/3,J),[P0,P1,P2]);
\end{verbatim}
vous pouvez faire bouger les points {\tt A,B,E,F}
\subsection{Construction d'un pavage carre}
Le pav\'e de base est {\tt P0=polygone([A,E,B,F,C,H,J,G]}
Pour vous convaincre on va ex\'ecuter le script suivant qui se trouve dans
le fichier {\tt pavage4.cxx} :
\begin{verbatim}
//un pave P0=polygone([A,E,B,F,C,H,J,G])
A:=point(-1.84,-1.83);
B:=point(0.22,-1.93);
nodisp(C:=similitude(A,sqrt(2)/2,pi/4,B));
E:=point(-1,-2);
F:=point(0,-1.2);
G:=rotation(A,pi/2,E);
H:=rotation(C,-pi,F);
J:=rotation(C,-pi,B);
nodisp(P:=[A,E,B,F,C,H,J,G]);
nodisp(P0:=polygone(op(P)));
nodisp(P1:=rotation(A,pi/2,P0));
nodisp(P2:=rotation(A,pi,P0));
nodisp(P3:=rotation(A,3*pi/2,P0));
[P0,P1,P2,P3];
translation(B-J,[P0,P1,P2,P3]);
translation(2*(B-A),[P0,P1,P2,P3]);
translation(B-rotation(A,pi,J),[P0,P1,P2,P3]);
\end{verbatim}
vous pouvez faire bouger les points {\tt A,B,E,F}

\section{Des \'etoiles \`a 5 branches}
\subsection{Une \'etoile \`a 5 branches}
On cherche tout d'abord la liste des sommets du polygone \'etoile  \`a 5 
branches: les pointes (resp les creux) se d\'eduisent par rotation d'angle 
$2*\pi/5$. On d\'efinit ainsi les sommets d'un polygone puis, on 
affiche  ce polygone en le polygone {\tt etoil}. En ce polygone {\tt etoil}
il devient le polygone {\tt etoile}.\\
On va utiliser 3 param\`etres : \\
{\tt z0} le centre de l'\'etoile,\\
{\tt r} le rayon de l'\'etoile,\\
{\tt a} l'argument d'un "sommet en creux" de l'\'etoile,\\
Ces param\`etres permettent de positionner l'\'etoile dans le plan. 
On calcule la distance {\tt l} d'un "sommet en creux" au  centre de 
l'\'etoile :\\
on sait ou on retrouve ( puisque $1+2*\cos(2*\pi/5)+2*\cos(4*\pi/5)=0$) que :\\
$\cos(2*\pi/5)=(\sqrt 5-1)/4$\\
$\cos(\pi/5)^2=(3+\sqrt 5)/8$\\
 on a :\\
$l=\cos(2*\pi/5)/\cos(\pi/5)$\\
donc on a :\\
$l^2=r^2(3-\sqrt 5)/(3+\sqrt 5)=r^2(3-\sqrt 5)^2/4$, comme $l>0$ on a :\\
$l:=r(3-\sqrt(5))/2$\\

\noindent
\includegraphics[width=\textwidth]{etoile5}

On tape :
\begin{verbatim}
etoil(z0,r,a):={
  local j,l,somet,p,L,pa;
  z0:=evalf(z0);
  r:=evalf(r);
  a:=evalf(a);
  l:=evalf(r*(3-sqrt(5))/2);
  somet:=[z0+l*exp(i*a),z0+r*exp(i*(a+evalf(pi)/5))];
  L:=somet;
  for (j:=1;j<5;j++){
    L:=concat(L,rotation(z0,2*j*evalf(pi)/5,somet));
  }
  p:=polygone(L);
  return p;
}:;

etoile(z0,r,a):={
  return affichage(etoil(z0,r,a),rempli);
}:;
\end{verbatim}
On tape :\\
{\tt etoile(0,1,0)}\\
{\tt etoile(3,2,pi/5)}\\
On obtient :\\

\includegraphics[width=\textwidth]{etoile}

\subsection{Une \'etoile faite d'\'etoiles}
On veut faire le dessin :\\

\includegraphics[width=\textwidth]{etoiles5}

Si le rayon de l'\'etoile centrale est $R$ et celui de l'\'etoile suivante est 
$r$ on a la relation :
$r*\sin(2*\pi/5)=R*\sin(\pi/5)$\\
et on a trouv\'e que les sommets en "creux" sont situ\'es sur un cercle de 
rayon : $l=R*(3-\sqrt 5)/2$\\
On sait que :
$\sin(2*\pi/5)^2=1-\cos(2*\pi/5)^2=(5+\sqrt 5)/8\ $ et \\
$\sin(\pi/5)^2=1-\cos(\pi/5)^2=(5-\sqrt 5)/8$\\
donc $(5+\sqrt 5)*r^2=R^2*(5-\sqrt 5)=20/(5+\sqrt 5)$ soit \\
$r=2*R*\sqrt 5/(5+\sqrt 5)=2*R/(1+\sqrt 5)=R*(\sqrt 5-1)/2$\\
De plus le centre de l'\'etoile suivante est situ\'e \`a :\\
$l+r=R*(3-\sqrt 5)/2+R*(-1+\sqrt 5)/2=R$.\\
On tape : 
\begin{verbatim}
etoiles(z0,r,a):={
  local j,k,R,L,nr,nz0;
  L:=[etoile(z0,r,a)];
  R:=r;
  for (j:=0;j<5;j++){
    nr:=2*R/(1+sqrt(5));
    nz0:=z0+R*exp(2*i*j*pi/5+i*a);
    for (k:=1;k<5;k++){
      L:=append(L,etoile(evalf(nz0),nr,a));
      r:=nr;
      nr:=2*r/(1+sqrt(5));
      nz0:=nz0+r*exp(2*i*j*pi/5+i*a);
    }
  }
  return L;
}:;
\end{verbatim}
On tape :\\
{\tt etoiles(0,1,0);}\\
{\tt affichage(etoil(0,2/(3-sqrt(5)),pi/5),line\_width\_3)}\\
On obtient le dessin voulu.\\
On tape :\\
{\tt etoiles(0,1,pi/4);}\\
{\tt affichage(etoil(0,2/(3-sqrt(5)),pi/5+pi/4),line\_width\_3)}\\
On obtient le m\^eme dessin tourn\'e de $\pi/4$.\\

Si on veut faire la m\^eme chose avec une \`etoile \`a 7 branches on tape:
\begin{verbatim}
etoil7(z0,r,a):={
  local j,l,somet,p,L,pa;
  z0:=evalf(z0);
  r:=evalf(r);
  a:=evalf(a);
  //l:=evalf(r*(3-sqrt(5))/2);
l:=evalf(r*cos(2*pi/7)/cos(pi/7));
  somet:=[z0+l*exp(i*a),z0+r*exp(i*(a+evalf(pi)/7))];
  L:=somet;
  for (j:=1;j<7;j++){
    L:=concat(L,rotation(z0,2*j*evalf(pi)/7,somet));
  }
  p:=polygone(L);
  return p;
}:;

etoile7(z0,r,a):={
  return affichage(etoil7(z0,r,a),rempli);
}:;

etoiles7(z0,r,a):={
  local j,k,R,L,nr,nz0,nl,l;
  L:=[etoile7(z0,r,a)];
  R:=r;
  l:=evalf(R*cos(2*pi/7)/cos(pi/7));
for (j:=0;j<7;j++){
    nr:=evalf(R*sin(pi/7)/sin(2*pi/7));
    nz0:=z0+(l+nr)*exp(2*i*j*pi/7+i*a);
    for (k:=1;k<7;k++){
      L:=append(L,etoile7(evalf(nz0),nr,a));
      r:=nr;
      nr:=r*sin(pi/7)/sin(2*pi/7);
nl:=evalf(r*cos(2*pi/7)/cos(pi/7));
      nz0:=nz0+(nl+nr)*exp(2*i*j*pi/7+i*a);
    }
  }
  return L;
}:;
\end{verbatim}
Le logo de {\tt Xcas} est obtenu en tapant :
\begin{verbatim}
etoilo(z0,r,a):={
  local j,l,somet,p,L,pa;
  z0:=evalf(z0);
  r:=evalf(r);
  a:=evalf(a);
  l:=evalf(r*(3-sqrt(7))/2);
  somet:=[z0+l*exp(i*a),z0+r*exp(i*(a+evalf(pi/7)))];
  L:=somet;
  for (j:=1;j<7;j++){
    L:=concat(L,rotation(z0,2*j*evalf(pi/7),somet));
  }
  p:=polygone(L);
  return p;
}:;

etoilog(z0,r,a):={
  return affichage(etoilo(z0,r,a),rempli);
}:;
logox(z0,r,a,c):={
  local j,k,R,L,nr,nz0;
  L:=[affichage(etoilo(z0,r,a),c+rempli)];
  R:=r;
  for (j:=0;j<7;j++){
    nr:=2*R/(1+sqrt(7));
    nz0:=z0+R*exp(2*i*j*pi/7+i*a);
    for (k:=1;k<7;k++){
      L:=append(L,affichage(etoilo(evalf(nz0),nr,a),
                            c+(j+1)*k+rempli));
      r:=nr;
      nr:=2*r/(1+sqrt(7));
      nz0:=nz0+r*exp(2*i*j*pi/7+i*a);
    }
  }
  return L;
}:;
 lx(z0,r):={ 
  return(segment(z0+r*(-1-i),z0+r*(1+i)),
         segment(z0+r*(1-i),z0+r*(-1+i)));  
}:;
lc(z0,r):={ 
  return (cercle(z0,r,pi/4,7*pi/4));  
}:;
la(z0,r):={ 
  return(segment(z0+r*(-1-i),z0+r*i),
         segment(z0+r*(1-i),z0+r*i),
         segment(z0+r*-0.5,z0+r*0.5));
}:;
ls(z0,r):={ 
  return (segment(z0+r*(-1/2-i),z0-r*i),
          segment(z0+r*(1/2+i),z0+r*i),
          cercle(z0+r*i/2,r/2,pi/2,3*pi/2),
          cercle(z0-r*i/2,r/2,-pi/2,pi/2));  
}:;
logoxcas(z0,r,a,c):={
return logox(z0,r,a,c),
affichage(lx(evalf(z0-2*r*exp(i*a),r*0.2)),
           line_width_3+c+4),
affichage(lc(evalf(z0-2*r*exp(-2*i*pi/7+i*a),0.2*r)),
             line_width_3+c+3),
affichage(la(evalf(z0-2*r*exp(-4*i*pi/7+i*a),0.2*r)),
             line_width_3+c+2),
affichage(ls(evalf(z0-2*r*exp(-6*i*pi/7+i*a),0.2*r)),
             line_width_3+c+1);
};
\end{verbatim}
On tape :\\
{\tt logoxcas(0,1,0,264);}\\
On obtient les 7 branches de {\tt Xcas} :
\begin{itemize}
\item Calcul formel
\item Tableur formel
\item G\'eom\'etrie 2D interactive
\item G\'eom\'etrie 3D interactive
\item G\'eom\'etrie Tortue
\item Langage de programmation
\item Documentation
\end{itemize}
\includegraphics[width=\textwidth]{logoxas}

\section{Les deux h\'elices}
Ce probl\`eme a\`ete donn\'e aux olympiades acad\'emiques de 2005.
\subsection{Le probl\`eme}
Un avion mod\`ele r\'eduit poss\`ede deux h\'elices de m\^eme longueur qui 
tournent dans un m\^eme plan perpendiculaire \`a leurs axes, et \`a la m\^eme 
vitesse. 
Comment choisir la distance entre leurs axes $a$ et l'angle de d\'epart $b$ des
 2 h\'elices pour que les deux h\'elices puissent tourner sans se heurter ?

\subsection{La mod\'elisation avec {\tt Xcas}}
On suppose les h\'elices de centres {\tt O1,O2} et de longueur 2.
On choisit comme param\`etres, la 
distance {\tt a} des centres des 2 h\'elices, et la mesure {\tt b} de l'angle 
des 2 h\'elices. Plus pr\'ecisemment, on note 
l'h\'elice1 {\tt A1,A2} et l'h\'elice2 {\tt B1,B2} pour que l'angle
$\beta=(\overrightarrow{A1,A2},\overrightarrow{B1,B2})$ soit de mesure 
$b\in [0;\pi[$.\\
On pourra tester diff\'erentes valeurs de {\tt a} et {\tt b} gr\^ace aux 
commandes :\\
{\tt a:=element(0..2;}\\
{\tt b:=element(0..pi);}\\
qui font apparaitre des curseurs permettant de modifier {\tt a} ou {\tt b}.\\
On va utiliser la commande {\tt animate} qui permet de faire une animation.
Il faut pour cela cr\'eer, pour chaque h\'elice, une s\'equence (de 40 ou 48 
\'el\'ements) contenant les diff\'erentes positions qui seront dessin\'ees.\\
On d\'efinit pour la premi\`ere h\'elice :\\
{\tt h1:=seq(segment(exp(i*(t+pi)),exp(i*t)),t,0,2*pi,pi/20)}\\
et pour la deuxi\`eme h\'elice :\\
{\tt h2:=}\\
{\tt \hspace{2cm} seq(segment(a+exp(i*(t+pi)),a+exp(i*t)),t,b,2*pi+b,pi/20)}\\
Donc on tape pour avoir 40 positions diff\'erentes et avoir au d\'epart 
{\tt a=sqrt(2)} et {\tt b=pi/4} :
\begin{verbatim}
h1:=seq(segment(exp(i*(t+pi)),exp(i*t)),t,0,2*pi,pi/20):;
animation(h1);
a:=element(0..2,sqrt(2));
b:=element(0..pi,pi/4);
h2:=seq(segment(a+exp(i*(t+pi)),a+exp(i*t)),
        t,b,2*pi+b,pi/20):;
animation(h2);
\end{verbatim}
ou pour avoir 48 positions diff\'erentes et avoir au d\'epart {\tt a=sqrt(3)} 
et {\tt b=pi/3} :
\begin{verbatim}
h1:=seq(segment(exp(i*(t+pi)),exp(i*t)),t,0,2*pi,pi/24):;
animation(h1);
a:=element(0..2,sqrt(3));
b:=element(0..pi,pi/3);
h2:=seq(segment(a+exp(i*(t+pi)),a+exp(i*t)),
        t,b,2*pi+b,pi/24):;
animation(h2);
\end{verbatim}
\subsection{Le raisonnement}
Il y a des cas simples :
\begin{itemize}
\item lorsque $a\leq 1$ on est s\^ur que les 2 h\'elices se touchent 
quelquesoit $b$,
\item lorsque $a>2$ on est s\^ur que les 2 h\'elices ne se touchent pas 
quelquesoit $b$.
\end{itemize}

Il reste donc \`a \'etudier le cas $1<a\leq 2$.
Supposons qu'\`a un moment donn\'e les 2 h\'elices se touchent : par exemple 
le point {\tt A1} touche l'h\'elice2 en {\tt M} avec {\tt O2M=c} : cela forme 
un triangle de c\^ot\'es 
$a,c,1$ ($0<c\leq 1$ et d'angle $b$ ou $\pi-b$ oppos\'e au  c\^ot\'e $a$).\\
On a donc la relation :\\
$a^2=1+c^2-2*c*\cos(b)=(1-c)^2+2*c*(1-\cos(b))$\\
ou la relation :\\
$a^2=1+c^2+2*c*\cos(b)=(1-c)^2+2*c*(1+\cos(b))$\\
Si il y a collision c'est qu'il existe $0<c \leq 1$ v\'erifiant l'une de ces 2
\'equations du second degr\'e en $c$ de discriminant 
$\Delta=\cos(b)^2-1+a^2$.\\
Puisque $a>1$, on a  $a>\sin(b)$ donc $\Delta>0$ : il y a donc 2 solutions de 
signe contraire puisque le produit des racine vaut $1-a^2<0$, donc $0$ se 
trouve \`a l'int\'erieur des racines.\\
Si il y a collision c'est qu'il existe une racine comprise entre 0 et 1, donc 
$1$ se trouve \`a l'ext\'erieur des racines.\\
On a pour $c=0$, $1+c^2-2*c*\cos(b)-a^2$ (resp $1+c^2+2*c*\cos(b)-a^2$)
vaut $1-a^2<0$ puisque $a>1$ et,\\
pour $c=1$, on a $1+c^2-2*c*\cos(b)-a^2$ (resp $1+c^2+2*c*\cos(b)-a^2$)
vaut $2- 2\cos(b)-a^2$ (resp$2+ 2\cos(b)-a^2$).\\
L'une de ces quantit\'es est positive si il y a une solution entre 0 et 1, 
donc \\
$a^2 \leq 2-2\cos(b)-a^2=4*c^2*\sin(b/2)^2$ ou \\
$a^2 \leq 2+2\cos(b)-a^2=4*c^2*\cos(b/2)^2$\\
Donc si il y a collision, c'est que $a\leq 2*\sin(b/2)$ ou 
$a\leq 2*\cos(b/2)$.\\
R\'eciproquement supposons :
\begin{itemize}
\item $a\leq 2*\sin(b/2)$\\
Il existe $c$ entre 0 et 1 et un triangle de c\^ot\'es $a,1,c$, d'angle 
oppos\'e au c\^ot\'e $a$ \'egal \`a $b$. 
En effet, l'\'equation :\\
eq$(x)=x^2-2*x*\cos(b)+1-a^2=0$ a une solution $c$ comprise dans $]0;1]$ car
eq$(0)=1-a^2<0$ puisque $a>1$ et \\
eq$(1)=1-2*\cos(b)+1-a^2=4*\sin(b/2)^2-a^2 \geq 0$
d'apr\`es l'hypoth\`ese. 
\item $a\leq 2*\cos(b/2)$\\
Il existe $c$ entre 0 et 1 et un triangle de c\^ot\'es $a,1,c$, d'angle 
oppos\'e au c\^ot\'e $a$ \'egal \`a $\pi-b$.
En effet l'\'equation :\\
eq$(x)=x^2-2*x*\cos(\pi-b)+1-a^2=0$ a une solution $c$ comprise dans $]0;1]$ 
puisque  eq$(0)=1-a^2<0$ car $a>1$ et\\ 
eq$(1)=1+2*\cos(b)+1-a^2=4*\cos(b/2)^2-a^2 \geq 0$ d'apr\`es l'hypoth\`ese. 
\end{itemize}
Si $a\leq 2*\sin(b/2)$ ou $a\leq 2*\cos(b/2)$, la construction  d'un tel 
triangle est possible ce qui prouve qu'il y a 
collision entre les 2 h\'elices.\\ 
Donc si on a  $a>2*\sin(b/2)$ et $a>2*\cos(b/2)$, on est s\^ur que la 
collision n'est pas possible.\\
Cela veut dire que si l'on choisit $a>2*\mbox{max}(\sin(b/2),\cos(b/2))$, il 
n'y aura pas de collision possible.\\
Par exemple :\\
pour $b=\pi/2$ on doit choisir $a>\sqrt 2$,\\
pour $b=\pi/3$ on doit choisir $a>\sqrt 3$.\\

\chapter{Les fractions continues}
{\tt D\'efinition} Une fraction continue est une expression de la forme :\\
${\tt a_1+\frac{b_1}{a_2+\frac{b_2}{a_3+\frac{b_3}{a_4+...}}}}$\\
avec pour $k>1$ $a_k>0$ et pour $k\geq 1$ $b_k>0$
Une fraction continue simple est une fraction continue o\`u les $b_k=1$, c'est 
donc une expression de la forme :\\
${\tt a_1+\frac{1}{a_2+\frac{1}{a_3+\frac{1}{a_4+...}}}}$\\
Ici on ne s'int\'eressera qu'aux fractions continues simples car sinon 
l'\'ecriture n'est pas unique, par exemple :
${\tt \sqrt{13}=3+\frac{4}{6+\frac{4}{6+\frac{4}{6+...}}}=}$\\
${\tt 2+\frac{9}{4+\frac{9}{4+\frac{9}{4+...}}}=}$\\
${\tt 3+\frac{1}{1+\frac{1}{1+\frac{1}{1++\frac{1}{1++\frac{1}{6+...}}}}}}$\\
 

{\tt Notation}
Si ${\tt n=a_1+\frac{1}{a_2+\frac{1}{a_3+\frac{1}{a_4+...}}}}$\\
on notera :\\
$n=([a_1,a_2,...a_n,..],[])$ si le d\'eveloppement n'est pas p\'eriodique et\\
$n=([a_1,a_2,...a_s],[b_1,b_2,...b_t])$ si le d\'eveloppement est p\'eriodique de p\'eriode $[c_1,c_2,...c_t]$ ie lorsque
$n=[a_1,a_2,...a_s,c_1,c_2,...c_t,c_1,c_2,...c_t,c_1....]$\\
Par exemple :\\
${\tt \sqrt{13}=([3,1,1,1,1,6],[1,1,1,1,6])}$

{\tt Propri\'et\'es}
Un nombre rationnel a un d\'eveloppement en fraction continue fini.\\
Les r\'eels qui ont un d\'eveloppement en fraction continue p\'eriodique sont 
solution d'une \'equation du second degr\'e \`a coefficients dans $\mathbb N$.\\
{\tt Le programme}
\begin{verbatim}
f2dfc(x,n):={
local r,q,lq,lr,p,j;
q:=floor(x);
r:=normal(x-q);
lq:=[];
lr:=[];
for (j:=1;j<=n;j:=j+1) {
lq:=concat(lq,q);
if (x==q){return (lq,[]);}
p:=member(r,lr);
if (p) {return (lq,mid(lq,p))};
lr:=concat(lr,r);
x:=normal(1/r);
q:=floor(x);
r:=normal(x-q);
}
return (concat(lq,x),[]);
};

dfc2f1(d,t):={
local s,st,x,l,xt,k;
s:=size(d);
x:=d[s-1];
for (k:=s-2;k>=0;k:=k-1) {x:=normal(d[k]+1/x);}
if (t==[]) {return normal(x);}
st:=size(t);
purge(y);
xt:=t[st-1]+y;
for (k:=st-2;k>=0;k:=k-1) {xt:=normal(t[k]+1/xt);}
l:=solve(y=1/xt,y);
if (l[0]>0){y:=normal(l[0]);}else{y:=normal(l[1]);};
x:=d[s-1]+y;
for (k:=s-2;k>=0;k:=k-1) {x:=normal(d[k]+1/x);}
return(normal(x));
};
dfc2f2(d,t):={
local s,st,x,xt;
s:=size(d);
x:=d[s-1];
for (k:=s-2;s>=0;s:=s-1) {x:=d[k]+1/x;}
if (t==[]) {return x;}
st:=size(t);
xt:=t[st-1];
for (k:=st-2;st>=0;st:=st-1) {xt:=st[k]+1/xt;}
return(x+1/2*(sqrt(xt^2+4)-xt));
};
\end{verbatim}
\chapter{Pour s'amuser avec des dessins r\'ecursifs}
\section{Les sapins}
\begin{verbatim}
sapin(x,y):={
 DispG();
 if (abs(x-y)<0.5) {segment(x,y); return 0;}
 sapin(x,x+(y-x)*0.5*exp(i));
 sapin(x,x+(y-x)*0.5*exp(-i));
 segment(x,(3*x+y)/4);
 sapin((3*x+y)/4,y);
}
\end{verbatim}
je voulais utiliser similitude mais je n'arrive pas a me debarasser des petites
 croix qui marque le point..meme en faisant nodisp(similitude(....))
\begin{verbatim}
sapinp(x,y):={
 DispG();
 if (abs(x-y)<0.2) {segment(x,y); return 0;}
 sapin(x,affixe(similitude(x,0.5,1.0,y)));
 sapin(x,affixe(similitude(x,0.5,-1.0,y)));
 segment(x,(3*x+y)/4);
 sapin((3*x+y)/4,y);
}
\end{verbatim}
\section{Les fleurs}
\begin{verbatim}
fleur(x,y):={
 DispG();
 if (abs(x-y)<0.5) {segment(x,y);cercle(y,(y-x)*0.3); return 0;}
 segment(x,y);cercle(y,(y-x)*0.3);cercle(y,(y-x)*0.2);
 fleur(x,x+(y-x)*0.5*exp(i*0.5));
 fleur(x,x+(y-x)*0.5*exp(-i*0.5));
}
\end{verbatim}
\section{La foug\`ere}
Ce n'est pas un dessin r\'ecursif, mais c'est une une suite d'it\'er\'ees. 
Pour obtenir cette foug\`ere, on va it\'erer un syst\`eme de fonctions avec 
poids al\'eatoires.
On consid\`ere :
{\tt A:=[[0,0,0.5],[0,0.16,0],[0,0,1]]} de poids 0.01,\\
{\tt B:=[[0.2,-0.26,0.4],[0.23,0.22,0.005],[0,0,1]]} de poids 0.07,\\
{\tt C:=[[-0.15,0.28,0.57],[0.26,0.24,-0.12],[0,0,1]]} de poids 0.07,\\
{\tt D:=[[0.85,0.04,0.08],[-0.04,0.85,0.18],[0,0,1]]} de poids 0.85,\\
On d\'efinit {\tt F:=A,B,C,D} et on it\`ere en partant du vecteur 
{\tt w0:=[0,5,1]}. Pour d\'efinir {\tt w1}, on applique \`a {\tt w0}, soit 
{\tt A}, soit {\tt B}, soit {\tt C} ou {\tt D} de fa\c{c}on al\'eatoire selon 
leur poids et on d\'efinit {\tt w2} etc...On dessine les points d\'efinit par 
les 2 premi\`eres coordonn\'ees des {\tt w}, mais, pour la beaut\'e du dessin, 
on ne dessine pas les {\tt n1} premiers points. Donc dans fougere on a {\tt n1}
points invisibles et {\tt n2} it\'erations .\\
On tape :
\begin{verbatim}
choisirk():={
local r,p,k;
p:=[0.01,0.07,0.07,0.85];
r:=rand(0,1);
k:=0;
tantque r>p[k] faire 
  r:=r-p[k];
  k:=k+1;
ftantque;
return k;
}:;
fougere(n1,n2):={
local A,B,C,D,F,j,k,w,P;
A:=[[0,0,0.5],[0,0.16,0],[0,0,1]];
B:=[[0.2,-0.26,0.4],[0.23,0.22,0.005],[0,0,1]];
C:=[[-0.15,0.28,0.57],[0.26,0.24,-0.12],[0,0,1]];
D:=[[0.85,0.04,0.08],[-0.04,0.85,0.18],[0,0,1]];
F:=A,B,C,D;
w:=[0,5,1];
P:=NULL;
pour j de 1 jusque n1 faire
  w:=F[choisirk()]*w;
fpour;
pour j de n1+1 jusque n2 faire
  w:=F[choisirk()]*w;
  P:=P,point(w[0],w[1]);
fpour;
return P;
}:;
\end{verbatim}  
On tape :
{\tt fougere(10,3000)}\\
On obtient :\\

\includegraphics[width=\textwidth]{fougere}
\section{Le choux-fleur}
\subsection{L'\'enonc\'e}
\noindent Soit la suite de fonctions $f_n$ de [0;1] dans $\R$ d\'efinie par :\\
pour $n=1$ :
$$
f_1(x)=
\left\{
\begin{array}{rl}
x & \mbox{si } x\leq \frac{1}{2}\\
1-x & \mbox{si } x> \frac{1}{2}\\
\end{array}
\right.
$$
et pour $n\geq 2$ :
$$
f_n(x)=
\left\{
\begin{array}{rl}
\frac{1}{2}f_{n-1}(2x) & \mbox{si } x\leq \frac{1}{2}\\
f_{n}(x-\frac{1}{2}) & \mbox{si } x> \frac{1}{2}\\
\end{array}
\right.
$$
La fonction $f_n$ est p\'eriodique de p\'eriode 
$\frac{1}{2^{n-1}}$ et tracer son graphe sur $[0; \frac{1}{2^{n-1}}]$.
\begin{enumerate}
\item D\'efinir dans {\tt Xcas} une fonction calculant $f_n(x)$.
\item D\'efinir dans {\tt Xcas} une fonction calculant la somme :\\
$S_n(x)=f_1(x)+f_2(x)+...f_n(x)$
\item Tracer le graphe de $S_{10}$
\item On d\'efinit le dessin suivant :\\
Soient deux points $A(x_a,y_a)$ et $B(x_b,y_b)$
\`a partir du vecteur $AB$, on construit les vecteurs $AC$ et $CB$ o\`u $C$ a 
comme coordonn\'ees $x_c=(x_a+x_b)/2$ et $y_c=(y_a+y_b)/2+(x_b-x_a)/2$.
On recommence la m\^eme construction \`a partir de chacun des 2 vecteurs 
obtenus etc....\\
\'Ecrire un programme qui dessine les segments obtenus au bout de $n$ fois 
(mais pas les dessins interm\'ediaires). On remarquera que l'on obtient ainsi 
le graphe de $S_n$.
\end{enumerate}
\subsection{La correction}
\begin{enumerate}
\item On d\'efinit la fonction {\tt f(n,x)} :
\begin{verbatim}
f(n,x):={
si x<=1/2 alors
si n==1 alors return x;sinon return f(n-1,2x)/2; fsi;
fsi
si n==1 alors return 1-x;sinon return f(n,x-1/2); fsi;
}:;
\end{verbatim}
\item On tape :
{\tt plotfunc(f(4,x),x=0..1,affichage=1)}\\
On obtient :

\includegraphics[width=\textwidth]{chouchou}

\item On d\'efinit la fonction {\tt S(n,x)} :
\begin{verbatim}
S(n,x):={
local j,s;
pour j de 1 jusque n faire
s:=s+f(j,x);
fpour;
return s;
}:;
\end{verbatim}

\item On d\'efinit la fonction r\'ecursive {\tt chouxfleur(A,B,n)} :
\begin{verbatim}
chouxfleur(A,B,n):={
  local xa,ya,xb,yb,xc,yc,C;
  si n==0 alors return segment(A,B);fsi;
  xa,ya:=coordonnees(A);
  xb,yb:=coordonnees(B);
  xc:=(xa+xb)/2;
  yc:=(ya+yb)/2+(xb-xa)/2;
  C:=point(xc,yc);
  return chouxfleur(A,C,n-1),chouxfleur(C,B,n-1);
}:;
\end{verbatim}
 On tape :
{\tt chouxfleur(point(0),point(1),10)}\\
On obtient :

\includegraphics[width=\textwidth]{chouxfleur}
\end{enumerate}
\section{Les arbres}
\subsection{Un arbre}
\begin{verbatim}
arbre(x,y):={
 DispG();
 if (abs(x-y)<0.2) {segment(x,y); return 0;}
 segment(x,(x+y)/2);
 arbre((x+y)/2,(x+y)/2+(y-x)*0.5*exp(i*0.5));
 arbre((x+y)/2,(x+y)/2+(y-x)*0.5*exp(-i*0.5));
}
\end{verbatim}
\subsection{Un arbre moins d\'eplum\'e}
\begin{verbatim}
arbre2(x,y):={
 DispG();
 if (abs(x-y)<0.2) {segment(x,y); return 0;}
 segment(x,(x+y)/2);
 arbre2((x+y)/2,(x+y)/2+(y-x)*0.5*exp(i*0.5));
 arbre2((x+y)/2,(x+y)/2+(y-x)*0.5*exp(-i*0.5));
 arbre2((x+y)/2,(x+y)/2+(y-x)*0.5*exp(i));
 arbre2((x+y)/2,(x+y)/2+(y-x)*0.5*exp(-i));
}
\end{verbatim}
\subsection{Un arbre epineux}
\begin{verbatim}
arbre3(x,y):={
 DispG();
 if (abs(x-y)<0.2) {segment(x,y); return 0;}
 segment(x,(x+y)*0.5);
 arbre3((3*x+y)/4,(3*x+y)/4+(y-x)*0.25*exp(i*0.5));
 arbre3((3*x+y)/4,(3*x+y)/4+(y-x)*0.25*exp(-i*0.5));
 arbre3((x+y)/2,(x+y)/2+(y-x)*0.5*exp(i));
 arbre3((x+y)/2,(x+y)/2+(y-x)*0.5*exp(-i));
}
\end{verbatim}
\subsection{Le bouquet final}
\begin{verbatim}
bouquet(x,y):={
 DispG();
 if (abs(x-y)<0.2) {segment(x,y); return 0;}
 segment(x,(x+y)*0.5);
 bouquet((3*x+y)/4,(3*x+y)/4+(y-x)*0.25*exp(i*0.5));
 bouquet((3*x+y)/4,(3*x+y)/4+(y-x)*0.25*exp(-i*0.5));
 bouquet((x+y)/2,(x+y)/2+(y-x)*0.5*exp(i));
 bouquet((x+y)/2,(x+y)/2+(y-x)*0.5*exp(-i));
 bouquet((x+y)/2,(x+y)/2+(y-x)*0.5);
\end{verbatim}
\section{Un exercice tir\'e des olympiades}
\subsection{L'\'enonc\'e}
On mod\'elise la croissance d'un arbre de la mani\`ere suivante :
au d\'epart il est compos\'e d'un tronc vertical $AB$ de longueur l, au bout 
d'un an ce tronc donne naissance a 2 branches $BC$ et $BD$ v\'erifiant :
$BC=0.5*AB$, $BD=0.75*AB$, et \\
$(\overrightarrow{BC},\overrightarrow{BA})=(\overrightarrow{BA},\overrightarrow{BD})=5\pi/6$.\\
Chaque ann\'ee, chaque branche donne naissance a 2 branches selon le m\^eme 
processus.
Faire le dessin de l'arbre au bout de 3 ans\\
Si on ne tient pas compte de la dur\'ee de vie de l'arbre, quelle est la 
limite de sa taille ?

Avec {\tt Xcas} on pourra ex\'ecuter {\tt arbre.xws} pour avoir la correction.
\subsection{Le dessin}
Pour faire le dessin on \'ecrit une proc\'edure r\'ecursive {\tt arbre}  
qui renvoie 0 quand elle se termine et qui a comme paramètres :
{\tt A} le point de plantation, {\tt l} la longueur du tronc {\tt AB}, {\tt t}
 l'angle que fait {\tt AB} avec le sol, {\tt n} le nombre d'années.
Ainsi le point {\tt B} a comme affixe {\tt A+l*exp(i*t)}.\\
On verra le dessin dans l'écran {\tt DispG} ({\tt session->montrer->DispG}).
\begin{verbatim}
  arbre(A,l,t,n):={
    local B;
    B:=A+l*exp(i*t);
    segment(A,B);
    if (n>0){
      arbre(B,l*0.5,t+pi/6,n-1);
      arbre(B,l*0.75,t-pi/6,n-1);
    } 
    return 0;
  }:;
\end{verbatim}
\subsection{La taille}
Pour connaitre la taille de l'arbre au bout de {\tt n} ann\'ees, on \'ecrit une
proc\'edure r\'ecursive {\tt harbre} qui a les m\^emes param\`etres que la 
proc\'edure r\'ecursive {\tt arbre} et qui renvoie l'ordonn\'ee exacte du point
le plus haut de l'arbre. 
\begin{verbatim}
  harbre(A,l,t,n):={
    local B,res;
    B:=A+l*exp(i*t);
    res:=max(ordonnee(A),ordonnee(B));
    if (n>0){
      res:=normal(max(res,harbre(B,l/2,t+pi/6,n-1),
      harbre(B,l*3/4,t-pi/6,n-1)));
    } 
    return res;
  }:;
\end{verbatim}
ou plut\^ot pour \'eviter des calculs trop longs on \'ecrit {\tt harbra} qui 
renvoie la valeur approch\'ee de l'ordonn\'ee du 
point de l'arbre le plus haut. On peut aussi utiliser {\tt harbre} en mettant 
comme valeur de {\tt l} une valeur d\'ecimale : par exemple {\tt 1.0}.
\begin{verbatim}
harbra(A,l,t,n):={
local B,res;
B:=evalf(A+l*exp(i*t));
res:=max(ordonnee(A),ordonnee(B));
if (n>0){
res:=max(res,harbre(B,l*0.5,evalf(t+pi/6),n-1),
harbre(B,l*0.75,evalf(t-pi/6),n-1));
} 
return res;
}:;
\end{verbatim}
Pour avoir la hauteur de l'arbre, il faut soit planter l'arbre en un point 
{\tt A} d'ordon\'ee {\tt 0}, soit utiliser la proc\'edure {\tt hauteur\_arbre}
ci-dessous qui suppose que le tronc de l'arbre est vertical :\\
{\tt hauteur\_arbre(A,l,n):=harbre(A,l,pi/2,n)-ordonnee(A):;}
On tape :
{\tt harbre(0,1,pi/2,10)}
On obtient au bout de 30s :\\
{\tt (19515*sqrt(3)+52283)/32768}\\
On tape :
{\tt harbre(0,1.0,pi/2,1)}
On obtient au bout de 5s:\\
{\tt 2.62707432586}\\
On tape :
{\tt hauteur\_arbre(i,1.0,pi/2,1)}
On obtient au bout de 5s:\\
{\tt 2.62707432586}\\
\subsection{La limite de la taille}
Seulement, cela ne nous donne qu'une valeur approch\'ee  de la limite de cette 
hauteur.\\
Pour connaitre la taille maximum $h$ de l'arbre, il faut remarquer que :
- si l'arbre poussait verticalement sa hauteur serait une série géométrique de 
raison 3/4 de somme 4 
- la hauteur d'un arbre est proportionnelle à la longueur du tronc initial,
- qu'au bout de 2 ans la 
branche gauche de la branche droite est verticale et est de longueur 
$l*3/4*/2=3l/8$ c'est \`a dire que  cette branche est de hauteur les $3h/8$.
On calcule \`a la main la hauteur de l'arbre au bout d'1 an :
$l+(\ sqrt 3*l/2)*(3/4)=l(1+3\sqrt3/8)$
ou on tape :\\
{\tt harbre(0,1,pi/2,1);harbre(0,1.0,pi/2,1);}\\
On obtient :\\
{\tt (3*sqrt(3)+8)/8,1.64951905284}\\
On a donc l'\'equation :\\
$h=1+(\sqrt3/2)*(3/4)+3*h/8$ \\
On tape :\\
{\tt solve(h=3/8*h+(1+3*sqrt(3)/8) ,h)}\\
On obtient :\\
{\tt [1/5*(3*sqrt(3)+8)]}\\
On tape :\\
{\tt evalf(1/5*(3*sqrt(3)+8))}\\
On obtient :\\
{\tt 2.63923048454}\\
La taille maximum de l'arbre de tronc $l$ est :\\
$l*(3*sqrt(3)+8)/5 \simeq 2.63923048454*l$
\newpage
\printindex
\newpage
\tableofcontents
\end{document}

