\documentclass[12pt,a4paper]{article}
\usepackage{multicol}
\usepackage[french]{babel}
\newfont{\mini}{cmssi10 scaled 480}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\euro{\mbox{\textsf{C}\kern -2.33em{\raise0.24ex\vbox{\small\it =}}}}
%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\fin{\nolinebreak \raise-0.1em\hbox{$\Box$}}
\def\stackunder#1#2{\mathrel{\mathop{#2}\limits_{#1}}}
\def\dual{ ^{\rm v}}
\def\bidual{ ^{\rm vv}}
\def\primedual{ ^{\prime \rm v}}
\def\ideal{{\cal J}}
\def\LL{{\cal L}}
\def\max{{\cal M}}
\def\quot#1#2{\mbox{\raise 0.1cm\hbox{$#1$}{\big /}\raise -0.1cm\hbox{$#2$}}}
\def\danger{{\Large \bf
    $\bigtriangleup$}\kern-0.32cm\raise0.05cm\hbox{\small
    !}\kern0.32cm\lower0.05cm\hbox{}}
%%%%%%%
\newlength{\largeurtmp}
\def\rela{\settoheight{\largeurtmp}{Z}{\rm Z} \kern -0.6\largeurtmp
  \raise 0.05cm\hbox{\tiny{\it /}}\kern 0.6\largeurtmp}
\def\petitrela{\settoheight{\largeurtmp}{Z}{\rm Z} \kern -0.4\largeurtmp
  \raise 0.05cm\hbox{\tiny{\it /}}\kern 0.4\largeurtmp}
\def\petitcomplex{{
    \settoheight{\largeurtmp}{$_C$}{\rm C}\kern -\largeurtmp
    \rule{0.25pt}{1.3\largeurtmp}\kern \largeurtmp}}
\def\complex{{
    \settoheight{\largeurtmp}{Q}{\rm C}\kern -0.66\largeurtmp
    \rule{0.25pt}{0.9\largeurtmp}\kern 0.66\largeurtmp}}
\def\ratio{{
    \settoheight{\largeurtmp}{C}{\rm Q}\kern -0.75\largeurtmp
    \rule{0.25pt}{0.9\largeurtmp}\kern 0.75\largeurtmp}}
\def\petitratio{{
    \settoheight{\largeurtmp}{C}{\rm Q}\kern -0.6\largeurtmp
    \rule{0.25pt}{0.6\largeurtmp}\kern 0.6\largeurtmp}}
\newcommand{\proj}{{\rm I} \! {\rm P}}
\newcommand{\reel}{{\rm I} \! {\rm R}}
\newcommand{\Fp}{{\rm I} \! {\rm F}_p}
\newcommand{\nat}{{\rm I} \! {\rm N}}
%%%%%%%%%%%%%%%Debut de macros de fiches d'exos
%%les macros sont \exo, \qu, \quskip \squ \qusqu \qusquskip
\newcounter{exo}
\newcounter{question}
\newlength{\lng}
\newcounter{sousquestion}
\setcounter{exo}{1}
\def\exo{

  \bigskip
  \noindent{\bf Exercice
    \Roman{exo}:}\addtocounter{exo}{1}\setcounter{question}{0}\nopagebreak 

  }
\def\exotitre#1{

  \bigskip
  \noindent{\bf Exercice
    \Roman{exo}: #1}\addtocounter{exo}{1}\setcounter{question}{0}\nopagebreak 

  }
\def\qu{

  \addtocounter{question}{1}\arabic{question})
  \setcounter{sousquestion}{1} }
\def\quskip{

  \bigskip
  \qu}
\def\squ{

  \settowidth{\lng}{\arabic{question})
  }\hspace{\the\lng}\alph{sousquestion}) \addtocounter{sousquestion}{1}} 
\def\qusqu{\qu\nopagebreak \vskip -1\baselineskip \squ}
\def\qusquskip{\quskip\nopagebreak \vskip -1\baselineskip \squ}

%%reference pour exos,squ \`a placer avant la question, qu est a placer apres
\def\labelexo#1{\expandafter\edef\csname refexo#1\endcsname {\Roman{exo}}}
\def\refexo#1{\csname refexo#1\endcsname}
\def\labelqu#1{\expandafter\edef\csname refqu#1\endcsname {\arabic{question})}}
\def\refqu#1{\csname refqu#1\endcsname}
\def\labelsqu#1{\expandafter\edef\csname refsqu#1\endcsname
  {\arabic{question}\alph{sousquestion})}} 
\def\refsqu#1{\csname refsqu#1\endcsname}  

%%%%%%%%%%fin de macros fiche d'exos
\usepackage{listings}
\usepackage{algorithm2e}

\SetKwInput{Donnes}{Donn\'ees}
\SetKwInput{Res}{R\'esultat}
\SetKwInput{Entree}{Entr\'ee}
\SetKwInput{Sortie}{Sortie}
\SetKw{KwA}{ \`a }
\SetKw{Retour}{retourner}
\SetKwBlock{Deb}{d\'ebut}{fin}
\SetKwIF{Si}{SinonSi}{Sinon}{si}{alors}{sinon si}{sinon}{fsi}
%%\SetKwSwitch{Suivant}{Cas}{Autre}{suivant}{faire}{cas o\`u}{autres cas}{fin d'alternative}
\SetKwFor{Pour}{pour}{faire}{fpour}
\SetKwFor{Tq}{tantque}{faire}{ftantque}
%%\SetKwFor{PourCh}{pour chaque}{faire}{finprch}
%%\SetKwFor{PourTous}{pour tous}{faire}{finprts}
\SetKwRepeat{Repeter}{repeter}{jusqu\_a}
%% \eSi{condition}{bloc du alors}{bloc du sinon}

%%macros taille page
\newlength{\elargir}
\setlength{\elargir}{2.5cm}
\addtolength{\leftmargin}{-\elargir}
%%\addtolength{\hoffset}{-\elargir}
\addtolength{\oddsidemargin}{-\elargir}
\addtolength{\evensidemargin}{-\elargir}
\addtolength{\elargir}{\elargir}
\addtolength{\textwidth}{\elargir}
\addtolength{\textheight}{13\baselineskip}
\topmargin=-5\baselineskip
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%        
\everymath={\displaystyle}
\begin{document}
\noindent{\bf Universit\'e de Paris 7 \hfill \framebox{\Large \bf
    \hspace{ 1cm} TP00 D\'ecouverte xcas\hspace{1cm}}\hfill   agreg 2011 (F.Han\footnote{http://www.math.jussieu.fr/$\sim$han/agreg})}\\
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\code#1{{\tt #1}}
%% 
\columnsep 0.7cm
\begin{multicols}{2}
% restart;maple_mode(0);cas_setup(0,0,0,1,0,1e-10,25,[1,50,0,25],0,0,0);//radians,pas de cmplx, pas de  Sqrt
  
Minimum \`a retenir/r\'eviser avant l'\'epreuve, et donc \`a archiver cette
  annn\'ee:  
  1) Etre habitu\'e  \`a utiliser l'aide.
  
  2) op\'erations classiques en mode exact, approch\'e, alg\`ebre lin\'eaire, calcul
modulaire et polynomial. Notamment, pgcd, couples de Bezout, produit
de matrices, noyau (y compris pour un \'el\'ement de $M_n(\rela/p\rela)$, 

3) Quelques instructions de programmation:
boucles \code{for}, \code{while} , suite: \code{seq}. Cr\'eer une fonction
une proc\'edure, cr\'eer une fonction \`a partir d'un symbole, passer en
mode debug et afficher une variable pas \`a pas.

4) Quelques instructions graphique de base, et surtout savoir obtenir ces
fonctions et leurs options via les menus d\'eroulant. Ex  fonctions (param\'etriques,
implicites, statistiques; ex histogrammes) et g\'eom\'etrie (points, droites...) et
options d'affichage via le menu d\'eroulant.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
\exotitre{D\'ecouverte xcas}
\def\code{{\sc }}
\noindent{\bf I Choisir sa configuration}

\danger Lors du premier lancement, les valeurs par d\'efaut ne co\"\i ncident
pas forc\'ement avec vos pr\'ef\'erences. Au premier lancement on r\'epond \`a
quelques questions, on peut ensuite modifier/affiner ses choix dans le
menu \code{Cfg}. Ensuite, sauvez vos pr\'ef\'erences gr\^ace au  menu. Il faut donc
choisir le mode xcas ou maple, et \'etudier la configuration du "cas" pour ne
pas mal interpr\'eter les r\'eponses. (On peut l'obtenir rapidement en cliquant sur
la barre grise entre les boutons SAUVER et STOP)

Les diff\'erences entre les modes xcas et maple:
$i$ et $I$, les tableaux commencent \`a $0$ contre $1$ le symbole \%
est r\'eserv\'e au calcul modulaire pour xcas, au dernier r\'esultat pour
maple. Les commentaires sont \verb|//| resp \verb|#|. L'instruction
\code{subs} prend ses arguments dans des ordres invers\'es. (On utilisera donc
plutot \verb/subst/) 

Pour la configuration du "cas", je conseille de:

\noindent{\sc cocher} \code{radians}, et de {\sc d\'ecocher:} \code{approx},
\code{complex}, 
  \verb/Cmpx_var/, \code{Sqrt}. On travaillera ainsi en mode exact
  dans le corps engendr\'e par les coefficients de l'expression, alors
  que si l'on coche complex ou Sqrt, on rajoute $I$ et des racines
  carr\'ees ce qui ne permet pas par exemple une factorisation de
  polyn\^ome sur un corps prescrit.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
\qusqu Comment obtenir de l'aide sur un mot donn\'e que l'on connait \`a peu pr\`es
(par exemple sqrt) on fait: \code{?sqrt}. Par exemple, comment
fait on $\sqrt[3]{23}$?
% !s!<c>
% Attention pour les utilisateurs de maple, root[3](23) ne marche pas, il fait juste racine carree.
%!s!
% root(3,23);
% surd(23,3);//c'est plutot celui ci que l'on trove dans la doc
\squ Donner une valeur approch\'ee des r\'esultats pr\'ec\'edents. (Soit en
for\c cant xcas a \^etre en flottants (Ex \code{23.} ou \code{approx(23)}), soit
avec \code{evalf} ou \code{approx}).
%root(3,23.);evalf(root(3,23.));root(3,approx(23));
\squ Trouver la syntaxe des constantes r\'eelles ou complexes $\pi$, $e$,
$i$ (o\`u $i^2=-1$). Faire afficher (sans que la pr\'ecision par d\'efaut soit
modifi\'ee pour  la suite.) les $1000$ premi\`eres d\'ecimales de $\pi$.  
%evalf(Pi,1000);approx(Pi,1000);
%maple_mode(0);evalf(E);evalf(e);
%maple_mode(1);evalf(E);evalf(e);evalf(exp(1));
%maple_mode(0);
\squ Faire \code{?digits}. Que faut il faire pour travailler par
d\'efaut avec $1000$ chiffres?
% !s!<c>
% Attention mettre plusieurs Digits:= sur une meme ligne a l'air de poser probleme?
%!s!
% Digits:=1000;
% sqrt(2.0);
% Digits:=10;
% sqrt(3.0);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%!s!<c>
%-------------------------------------EXERCICE---------------------------------
%!s!
\exotitre{aide html, bulles, menus}
\qu {\sc Aide bulle sur un mot connu:~}Tapez \verb/seq(/ et \'etudiez les
param\`etres de cette fonction avec l'aide bulle\footnote{Laisser la souris sur la
ligne avec la parenth\`ese ouverte, et attendre que la bulle apparaisse.}. Cette
m\'ethode est utile lorsque l'on connait le mot mais pas tr\`es  bien les arguments
ou les options. 
\qu {\sc Etudier le menu aide. R\'ef\'erence\footnote{C'est le plus utile. \`a retenir} calcul formel}.
Cette m\'ethode est la plus adapt\'ee (avec les menus d\'eroulants, ou bien lorque ces
derniers sont trop succincts) pour trouver une
instruction dont on ne connait pas le mot clef.

Par exemple trouver la fonction pgcd de deux entiers en utilisant ce menu.
\squ Comment ajouter un \'el\'ement \`a une liste? Ex ajoutez l'\'el\'ement $55$ \`a la
liste \verb/l:=[1,33,4]/.
% l:=[1,33,4];
% augment(l,55);
\squ \verb/a:=1111;/. Comment lib\'erer la variable \verb/a/?
% a:=11111;
% purge(a);
% a;
\squ {\sc Les menus d\'eroulants} sont aussi rapides pour obtenir les instructions
selon leur th\`emes. (Notez le menu Scolaire o\`u l'on trouve les instruction par
niveau scolaire). Ex: On pose: \verb/l1:=[1,33,4]/ et
\verb/l2:=[11,133,14]/. Quelle instruction permet de cr\'eer une liste en
juxtaposant $l1$ et $l2$?
% l2:=[11,133,14];
%concat(l1,l2);
\squ Affectez \`a \verb/a/ la valeur $e^{2i\pi/5}$. Calculez $a^5$. On peut
d\'essiner un point par son affixe complexe. Essayer \verb/p:=point(1)/. On aimerait
avoir ce point en bleu et grosse croix. Il existe une fa\c con int\'eractive. On tape
\verb/point(1,/ et l'on va chercher l'option d'attributs (on remarquera le
racourci clavier pour cette option) dans le menu d\'eroulant pour les
graphiques.
\squ  Tout objet g\'eom\'etrique peut \^etre transform\'e par une
similitude via les op\'erations usuelles sur les complexes (pour une liste
d'objets on peut faire aussi la multiplication par un complexe, en revanche,
pour l'addition c'est un peu plus compliqu\'e, il vaut mieux ajouter un vecteur de
m\^eme taille pour translater les \'el\'ements terme \`a terme). Par exemple, en
utilisant \verb/seq/ et le point $p$ et $a$, cr\'eez un pentagone r\'egulier.
% a:=exp(2*i*pi/5);
% p:=point(1,display=bleu+epaisseur_point_3+point_etoile);
% seq(p*a^j,j=0..4);
% [seq(p*a^j,j=0..4)];[seq(p*a^j,j=0..4)]*2;
% [seq(p*a^j,j=0..4)]+[1$5];//[seq(p*a^j,j=0..4)]+1; ne translate qu'un element.
\qu Cherchez dans les menus d\'eroulants comment utiliser les unit\'es
physiques. Ajoutez $1m$ et $10cm$ via xcas.
%1_m+10_cm;//On ajoute 2 distances.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\qu {\sc L'index (ou compl\'etion par tabulation)}. Utile pour obtenir un mot
clef et ses synonymes, mais aussi des intructions connexes non \'equivalentes.

On peut aussi obtenir l'index par le menu aide. Par exemple on d\'efinit le
symbole \verb!P:=x/(x^2+1)! et la fonction \verb!Q(x):=sin(1/x)! (syntaxe
\'equivalente: \verb!Q:=x->sin(1/x)!) 
\squ Etudiez les types de \verb/P/ \verb/Q/  \verb/Q(x)/ \verb/Q(5)/
\verb!Q(6/pi)! (on pourra simplifier)
% purge(x);// pour etre sur que x est libre.
% x=='x';//vaut 1 si x est libre. Car dans ce cas, x il coincide avec le symbole 'x'
% P:=x/(x^2+1);
% Q:=x->sin(1/x);
% type(P);//un symbole
% type(Q);//une fonction
% type(Q(x));//un symbole
% type(Q(5));//un symbole car sin(1/5) est laisse tel quel
% type(normal(Q(6/pi)));// un rationel car c'est une valeur remarquable (si l'on a simplifie)
\squ Calculer les d\'eriv\'ees de $P$ et $Q$.
% diff(P,x);
% function_diff(Q);
% Q';
\squ Calculer la d\'eriv\'ee seconde de $Q\circ Q$. (On factorisera)
% A1:=factor(diff(Q(Q(x)),x,x));//C'est tout de meme plus leger
% A2:=factor((function_diff@function_diff)(Q@Q));
% A3:=factor((function_diff@@2)(Q@Q));
% simplify(A1-A2(x));//0
% simplify(A1-A3(x));//0
\squ Quel est le symbole de composition des fonctions? Comment obtenir
facilement la compos\'ee septi\`eme de $Q$ calcul\'ee en $y$?
%(Q@@7)(y);
\qu (A retenir!) Comment obtenir \`a partir du symbole $P$ d\'efini ci dessus, la fonction $x
\mapsto \frac{x}{x^2+1}$? En d\'eduire la d\'eriv\'ee de $\frac{\sin(1/x)}{(\sin(1/x))^2+1}$
% unapply(P,x);// cr\'ee la fonction P
% simplify(function_diff(unapply(P,x)(Q)));// cr\'ee la fonction P et la compose avec Q
% simplify(diff(sin(1/x)/(sin(1/x)^2+1),x));//verif
\qu {\sc la recherche syst\'ematique dans le html par F12} Cette m\'ethode est la
plus longue (beaucoup d'acc\`es disques), mais elle permet de chercher une chaine
de caract\`ere dans tout le contenu de l'aide html.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{center}
{\it Vous pouvez maintenant demander le memento  }
\end{center}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
\exotitre{\bf D\'enombrement et s\'eries g\'en\'eratrices.}
% !s!<c>
% -------------------------------------EXERCICE---------------------------------------------
%!s!
\qu Afficher le coefficient de $t^3$ dans la s\'erie formelle associ\'ee \`a
$\prod_{i=1}^4\frac{1}{1-a_i.t}$?
%purge(a,b,c,d,e,t);
% P:=((1-a*t)*(1-b*t)*(1-c*t)*(1-d*t))^(-1);
% s:=series(P,t=0,3);
% !s!<c>
%On constate que le coefficient de t^n est la somme de tous les monomes de degre
%n en les 4 variables a,b,c,d. Ces monomes sont en bijections avec les suites
%croissantes (au sens large) de n \'el\'ements de {1,2,3,4}.
%!s!
% coeff(s,t^3);
\qu G\'en\'eraliser l'exemple pr\'ec\'edent pour en d\'eduire de mani\`ere th\'eorique le
nombre d'\'el\'ements croissants dans $\{1,2,3,4\}^n$, puis dans $\{1,\dots,k\}^n$
\qu Quel est le cardinal de:

$\{(x_1,\dots,x_5)\in\nat^5 |  x_1+3x_2+2x_3+x_4+4x_5=208\}$
% !s!<c>
%Pour r\'esoudre ce Pb on met des poids aux variables. Ex: a,d de degre 1, b: 3, c:
%2, et f: 4. et l'on cherche les monomes de degres 208.
%!s! 
% P:=1/((1-a*t)*(1-b*t^3)*(1-c*t^2)*(1-d*t)*(1-f*t^4));
% s:=series(P,t=0,4):;
% coeff(s,t^4); //Ex on verifie bien que f a un poids de 4
% P:=1/((1-t)*(1-t^3)*(1-t^2)*(1-t)*(1-t^4));
% s:=series(P,t=0,208):;
% coeff(s,t^208);
\qu En adaptant la formule $\sum_{n>0}p_n.t^n=\Pi_{i=1}^\infty \frac{1}{1-t^i}$
o\`u $p_n$ est le nombre de partitions\footnote{Une partition de $n$ est une suite
d\'ecroissante d'\'el\'ements de $\nat^*$ de somme $n$.} de $n$, calculer $p_{50}$. 
% !s!<c>
%Pour calculer le coefficient de t^n, seuls les termes en 1/(1-t^i) pour i<n+1
%du produit vont contribuer, on n'a donc pas besoin du produit infini pour n fixe
% !s!
% P:=n->mul(1/(1-t^j),j=1..n);
% !s!<c>
% On cherche donc le coefficient de t^50 dans:
%!s!
% series(P(50),t,0,50);
% coeff(series(P(50),t,0,50),t^50);
%%%%%%%%%%%%%%%%%%%%%%%%%% 
\qu Trouver le coefficient de $a^3b^2cd^2$ dans $(a+b+c+d)^8$. V\'erifier votre
r\'eponse th\'eorique avec la forme d\'evelopp\'ee (utiliser \verb/normal/ pour
d\'evelopper un calcul lourd ). (On pourra \'etudier l'aide de
\code{coeff} pour recup\'erer le coefficient d'un mon\^ome).
% l:=normal((a+b+c+d)^8);
% coeff(l,[a,b,c,d],[3,2,1,2]);
% binomial(8,3)*binomial(5,2)*binomial(3,1);
\exotitre{Initiation \`a la g\'eom\'etrie} 
% !s!<c>
% -------------------------------------EXERCICE---------------------------------------------
%!s!
\qu D\'ecouverte de quelques possibilit\'es.
\squ Ouvrir un \'ecran de g\'eom\'etrie, dessiner  quelque objets
int\'eractivement. Comment supprimer un objet? 
% !s!<c>
% Pour supprimer/modifier, il suffit de supprimer/editer la ligne correspondante
%!s!
% !s!<g>
% n:=5;
% zs:=exp(2*i*Pi/n);
% [seq(point(zs^j,affichage=point_width_2),j=0..4)];
% segment(point(1),point(zs));//un cote du pentagone
\squ Dessiner une droite $d$ de vecteur directeur d'affixe $e^{2i\pi/3}$
passant par $(3,0)$. D\'essiner la droite d'\'equation cart\'esienne
$2x+3y+1=0$. Modifier la couleur, \`a la souris ou dans la commande. Dessiner le
point  $A$ d'intersection de ces 2 droites.
% d1:=droite(point(3),point(3+exp(2*i*Pi/3)),'affichage'=red);
% d2:=droite(2*x+3*y+1=0);
% A:=inter(d1,d2);
\squ Cr\'eer un param\`etre $t$ de $[-5,3]$ gr\^ace \`a la fonction
\code{element}, et tracer la droite perpendiculaire \`a $d$ passant par $(t,0)$ 
% t:=element(-5..3);
% perpendiculaire(point(t),d1);
% !s!
%%%%%%%%%%%%%%%%%%%%%% 

\exotitre{Editeur de programme}
% !s!<c>
% -------------------------------------EXERCICE---------------------------------------------
%!s!
On peut cr\'eer des proc\'edures courtes en ligne, et m\^eme sur plusieurs lignes en
utilisant \code{shift entr\'ee}. En revanche il est
souvent plus clair d'utiliser l'\'editeur de programmes. Programmez l'algorithme
suivant (cr\'eez une fonction \verb/quodicho/) et testez le en v\'erifiant avec
l'intruction xcas correspondante. On pourra aussi tester le debugger avec
\verb/debug(quodicho(1111333,55))/.\\
\begin{algorithm}[H]
  \Entree{$a\geq 0$ et $b>0$;}
  \Sortie{Le quotient et le reste de la division de $a$ par $b$}
$n\leftarrow 0$;\\
\Tq{$2^nb\leq a$}{
$n\leftarrow n+1$\;
}
$\alpha\leftarrow 2^{n-1}$;$\beta\leftarrow 2^n$;\\
\Pour{$k$ de $1$ jusque $n-1$}{
$\gamma=\frac{\alpha+\beta}{2}$\;
\uSi{$\gamma b\leq a$}
{$\alpha\leftarrow\gamma$;}
\Sinon{$\beta \leftarrow\gamma$;}
}
\Retour $q=\alpha$ et $r=a-bq$;
%%\caption{Division euclidienne, recherche dichotomique}
\end{algorithm}
%!s!<p>
%quodicho(a,b):={
%  local n,aa,bb,g;
%  n:=0;aa:=1;bb:=1;
%  while((b*2^n) <= a){
%    n:=n+1;
%  }
%  aa:=2^(n-1);bb:=2^n;
%  for(k:=1;k<n;k++){
%    g:=iquo(aa+bb,2);
%    if(g*b<=a){ aa:=g;}
%    else{bb:=g;}
%  }
%  return(aa);
%}:;
%!s!
%quodicho(127,33)==iquo(127,33);// doit etre vrai
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
\exo
% !s!<c>
% -------------------------------------EXERCICE---------------------------------------------
%!s!
\qu Exprimer $\cos 5a$ en fonction de $\cos a$ (o\`u $a$ est une variable formelle).
%purge(a);
% trigexpand(cos(5*a));
\qu Calculer $\int_0^{\frac{\pi}{2}} \frac{\cos 5x}{2+\sin x}dx$,
ainsi qu'une primitive $P$ de $\frac{\cos 5x}{2+\sin x}$. D\'eriver $P$
et v\'erifiez que c'est correct. (Le jury appr\'ecie  l'esprit critique)
% normal(int(cos(5*x)/(2+sin(x)),x=0..Pi/2));//simplify ne marche pas?
%%                     -209 ln(2) + 209 ln(3) - 254/3
% P:=int(cos(5*x)/(2+sin(x)),x);
% !s!<c>
% La forme developpee avant l'integration est plus simple:
% !s!
% P:=int(trigexpand(cos(5*x)/(2+sin(x))),x);
% simplify(diff(P,x)-cos(5*x)/(2+sin(x))); //NB: normal ne suffit pas.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%!s!<c>
% -------------------------------------EXERCICE---------------------------------------------
%!s!
\exo
\qu Il existe dans xcas 3 fa\c cons de d\'evelopper\footnote{sans compter les
  synonymes}: \verb/expand/, \verb/normal/, \verb/simplify/. Lors de calculs
lourds, il faut vraiment pr\'ef\'erer  "normal" qui optimisera les polyn\^omes. "simplify" sera
plus lent car il tentera des simplifications plus sophistiqu\'ees. On pourra
l'utiliser apr\`es avoir fait un "normal" non satisfaisant. En fait, "expand"
travaillera avec les objets les plus g\'en\'eraux et pourra \^etre tr\`es
lourd. Essayez, \verb!P1:=(x^2-1)/(x-1)! et
\verb!P2:=-cos(5*x)+16*cos(x)*sin(x)^4-12*cos(x)*sin(x)^2+cos(x)!
% P1:=(x^2-1)/(x-1);
% expand(P1);//developpe dans Q(x)
% normal(P1),simplify(P1);//les 2 simplifient
% P2:=-cos(5*x)+16*cos(x)*sin(x)^4-12*cos(x)*sin(x)^2+cos(x);
% expand(P2);
% normal(P2);
% simplify(P2);
\qu Factoriser  $x^{12}-1$ dans $\rela[x]$. En factorisant des polyn\^omes
judicieusement choisis, obtenir la valeur du polyn\^ome cyclotomique $\Phi_{12}$?
% factor(X^12-1);
% !s!<c>
% phi12 est le facteur qui n'apparait pas dans: 
%!s!
% factor(X^6-1);factor(X^4-1);
\qu On pose $a=e^{\frac{2i\pi}{12}}$. V\'erifiez que $a^{12}$ vaut bien
$1$ pour xcas. Etudier $e^{\frac{2i\pi}{9}}$.
\qu Factorisez $P=(2x+1)^2(x^5-1)/(x-1)$ dans $\reel[x]$
et dans $\complex[x]$. Peut t'on esp\'erer un r\'esultat exact?
% P:=(2*x+1)^2*(x^5-1)/(x-1);
% complex_mode:=1;factor(P*1.1);factor(approx(P));
% complex_mode:=0;factor(P*1.0);factor(approx(P,5));factor(P);
\squ Factoriser $X^{12}-1$ sur $\ratio[\sqrt{3}]$ et sur $\ratio[\sqrt{3},i]$ et
sur $\ratio[e^{2i\pi/9}]$. (On peut tenter de rajouter une liste d'\'el\'ements en
option de factor)
% !s!<c>
% On peut factoriser en imposant une extension algebrique avec une syntaxe
% comme dans maple.
% Mais je ne le trouve pas dans la doc (c'est rare). Exemples:
%!s!
% factor(X^12-1,sqrt(3)); 
% factor(X^12-1,[sqrt(3),i]);
% factor(X^12-1,exp(2*i*Pi/9));
% !s!<c>
% selon les versions, cFactor(...,a) est plus sur si l'on veut etre sur que i a ete utilise. (en fait ca veut  plutot dire Q[I,a] factor)
% !s!
% cFactor(X^12-1,sqrt(3));//est probablement plus sur

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
\exo Construire 2 cercles  $C_i(O_i,r_i)$, \'etudier comment
trouver le centre d'une homoth\'etie envoyant $C_1$ sur $(C_2)$, et en
d\'eduire comment construire les tangentes communes aux 2
cercles. Pr\'eparer une illustration en vue d'un petit expos\'e.
% !s!<c>
% -------------------------------------EXERCICE-----------------------------------------
% !s!<c>
%Stategie: On cherche le centre o d'une homothetie transformant C1 en
%C2, en suite on recupere le point de contact en exprimant qu'il est  
%le sommet d'un triange rectable de base [oO2]. Attention, inter rend
%un objet de type groupe de points, meme s'il y a unicite, pour 
%choisir un point dans l'intersection on utilise inter_unique
%!s!<g>
% O1:=point(-2);O2:=point(2);r1:=1;
% r2:=element(1.2..5,2);//Attention a ne pas faire de cercles de rayons infinis
% C1:=cercle(O1,r1);
% C2:=cercle(O2,r2);
% m:=point(O1+i);droite(O1,m,affichage=dot_line);//un point de C1 non sur (O1O2)
% dm:=parallele(O2,droite(O1,m),affichage=dot_line);
% n:=inter_unique(dm,C2);
% droite(m,n);o:=inter_unique(droite(m,n),droite(O1,O2));
% C:=cercle(O2,o,affichage=dot_line);t2:=inter_unique(C,C2)
% T:=droite(o,t2,affichage=(red+line_width_2));
% !s!
%
%!s!<c>
%-------------------------------------EXERCICE---------------------------------
%!s!
\exo
\qusqu Effectuer un changement de variable pour que les in\'egalit\'es $0<a<b<c$ soient
facile \`a lire.
\squ D\'emontrer en demandant un calcul \'el\'ementaire au logiciel que $$3/2\leq
\frac{a}{b+c} + \frac{b}{a+c} + \frac{c}{a+b}$$ 
(Il ne s'agit pas de trouver une instruction du logiciel pour  r\'esoudre
directement ce probl\`eme en tenant compte des hypoth\`eses, mais de poser une
question judicieuse pour que la r\'eponse rende la preuve \'evidente.) 
% purge(a,u,v);
% b:=a+u;c:=b+v;//on ordonne a,b,c
% F:=a/(b+c)+b/(a+c)+c/(a+b)-3/2;
% !s!<c>
% le numerateur et le denominateur n'ont que des coefficients positifs, donc F>0
% pour 0<a, 0<u , 0<v
%!s!
%numer(F);
%denom(F);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\newpage
\end{multicols}
\end{document}



