\documentclass{article}
\usepackage[francais]{babel}
%\usepackage[OT1]{fontenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath,amsfonts,amssymb}
\usepackage{inputenc}
\usepackage{xspace}
\usepackage{times}
\usepackage{ifpdf}
\ifpdf
 \usepackage[pdftex,colorlinks]{hyperref}
\else
 \usepackage[ps2pdf,
            breaklinks=true,
            colorlinks=true,
            linkcolor=red,
            citecolor=green
            ]{hyperref}
\fi
%HEVEA\htmlfoot{Retour \`a la page personnelle de \ahref{http://www-fourier.ujf-grenoble.fr/\~parisse}{Bernard Parisse}.}
%HEVEA\htmlhead{Retour \`a la page personnelle de \ahref{http://www-fourier.ujf-grenoble.fr/\~parisse}{Bernard Parisse}.}
\usepackage{pst-plot}
\usepackage{graphicx}
\newcommand{\R}{{\mathbb{R}}}
\newcommand{\C}{{\mathbb{C}}}
\newcommand{\Z}{{\mathbb{Z}}}
\newcommand{\N}{{\mathbb{N}}}

\begin{document}
\topmargin -1 cm
\textheight 23cm
\textwidth 16.5cm \columnsep 10pt \columnseprule 0pt

\title{Module Calculatrices-L3}
\author{ {\tt Bernard.Parisse@ujf-grenoble.fr} }

\maketitle

\begin{abstract}
Ce cours/TD donn\'e en 2005/6 \`a l'Universit\'e de Grenoble a pour
but de pr\'esenter les possibilit\'es des meilleures calculatrices des
diff\'erents constructeurs (Casio, HP, TI) en parall\`ele, en
insistant sur les possibilit\'es communes. On esp\`ere d'une part
faciliter le travail de futurs enseignants dont les \'el\`eves
auront probablement des mod\`eles de calculatrices diff\'erents
et d'autre part les pr\'eparer \`a s'adapter aux \'evolutions
in\'evitables de la technologie pendant leur carri\`ere en
distinguant mieux les concepts de leur traduction sur tel
ou tel mod\`ele.
Certaines parties
ne sont pour l'instant pr\'esent\'ees que pour TI et HP (aucun
\'etudiant pr\'esent n'avait de Casio Classpad)
\end{abstract}

\tableofcontents

\section{Mod\`eles de calculatrices graphiques}
Un bref survol des capacit\'es des meilleurs mod\`eles graphiques
des constructeurs, par ordre alphab\'etique, avec entre parenth\`eses
la gamme de prix.
\begin{itemize}
\item Casio: \\
Le Classpad 300/330 est \`a mi-chemin entre un PDA et une calculatrice
(environ 230 euros, mod\`ele disponible au capes): 
calcul formel, g\'eom\'etrie (point fort
pour ce mod\`ele, on dispose d'un stylet), 
tableur, 3-d, un peu de programmation (pas de possibilit\'es de 
fonctions complexes), pas d'unit\'es/constantes physiques.\\
La Graph 100 (120 \`a 155 euros) fait aussi du calcul formel mais est
moins performante, n'a pas de module de g\'eom\'etrie, ni tableur,
ni de 3-d, et la programmation est rudimentaire. Les autres mod\`eles
Casio ne font ni calcul formel, ni g\'eom\'etrie.\\
Pour tester la Classpad 300, il existe un \'emulateur en version
limit\'ee \`a 30 jours sur \verb|classpad.net|
pour Windows (fonctionne sous Linux avec Wine, cliquer sur H-Key
pour pouvoir utiliser le bouton droit de la souris).
\item HP:\\
Deux mod\`eles font du calcul formel, 
les 50G (150 euros) et 40GS (120 euros). La 50G
est une version plus rapide de la 49G, mod\`ele qui n'est plus
commercialis\'e mais est disponible au Capes (car r\'etroprojetable). 
La programmation est plus restreinte sur la 40GS. 
La 3-d et les unit\'es et constantes physiques ne sont disponibles
que sur les 49/50G. 
Un module de g\'eom\'etrie et tableur 
est disponible sur la 49/50G en t\'el\'echargeant
une ROM depuis\\
\verb|www-fourier.ujf-grenoble.fr/~parisse/capes.html|\\
Pour les tester, il existe des \'emulateurs et des ROMs
sur \verb|www.hpcalc.org|
\item TI: \\
Le haut de gamme, parfois nomm\'e TI9x, 
regroupe les Voyage 200 (disponible au capes, 250 euros environ), 
TI92 (occasion) et TI89 (180 euros environ) et la TI-NSpire CAS 
(disponible au capes, 210 euros environ): 
calcul formel, g\'eom\'etrie (\`a charger gratuitement pour les TI89), 
3-d (attention pas de 3-d sur la NSpire CAS), 
programmation, unit\'es et constantes physiques.
Il existe une application flash tableur incluse sur les V200 et 
gratuite sur les TI89.\\
Le milieu de gamme regroupe les TI83+ et 84 (85 \`a 125 euros), 
elles disposent
d'un module de g\'eom\'etrie gratuit mais pas 
de calcul formel, ni de 3-d. Le tableur est payant. Les autres mod\`eles 
de TI ne font ni g\'eom\'etrie ni calcul formel.\\
Il existe un \'emulateur pour toutes les TI, pour Linux, chercher tiemu,
pour Windows, chercher sur \verb|www.ticalc.org|, on peut
ensuite t\'el\'echarger les mises \`a jour du syst\`eme de la calculatrice
\`a \'emuler sur le site de TI \verb|www.ti.com|.
\end{itemize}

\pagebreak

\section{Prise en main}
\begin{itemize}
\item Les {\bf touches} sur les TI/HP: 
chaque touche peut avoir 6 fonctions selon
qu'elle est ``shift\'ee'' ou en mode alphab\'etique (rep\'erez les 2 shift
droit et gauche sur HP ou shift et 2nd sur TI et la touche alpha).
On peut bloquer le mode alpha sur les TI9x et 49 en tapant 2 fois
sur la touche alpha et d\'ebloquer en tapant une fois sur alpha.
Exemple: pour \'eteindre taper shift-ON.
Les TI V200 et nspire CAS ont un clavier alphab\'etique s\'epar\'e.
Sur les nspire CAS, il y a seulement un modificateur de touche, la
touche ctrl.
\item Les calculs se font dans l'application {\bf main} ou 
l'{\bf historique} selon
les mod\`eles. Sur les Classpad et V200, il faut s\'electionner Main
depuis le menu principal. Sur la nspire CAS, touche maison puis
1. calculer ou Ctrl-fleche droite/gauche s'il existe deja une
page de calcul.\\
On tape le calcul directement sur le Classpad, ou dans une ligne
s\'epar\'ee appel\'ee ligne de commande sur les TI et HP. Taper ENTER (ou EXE
sur Casio) pour ex\'ecuter la ligne de commande. Les paires
de question/r\'eponse s'affichent dans l'historique. On peut modifier
sur place un calcul sur les Casio, ou recopier un niveau de l'historique
puis le modifier sur les TI/HP avec les fl\`eches haut et bas.
\item
Les {\bf menus} s'actionnent au stylet sur le Classpad, ou avec les touches
F1-F6 sur les TI/HP ou la touche menu, les touches de direction
tab et entree sur le nspire CAS.\\
Le menu apparait en bas sur les HP (bandeau). On peut changer le menu
par des touches du clavier (par exemple TOOL qui est le menu courant
de l'application, ALGB le menu alg\`ebre, etc.). Utiliser NXT et PREV
(49) pour passer \`a la page suivante/pr\'ec\'edente du menu.
\item
{\bf Aide}: on dispose d'un catalogue (touche CAT ou dessin d'un livre
sur le nspire CAS) qui d\'ecrit bri\`evement
le type des arguments de chaque commande. Les HP et la nspire CAS disposent
d'une aide en ligne pour les commandes du CAS (TOOL NXT HELP)
d\'ecrivant bri\`evement la commande, avec un ou des exemples et chez
HP des liens vers les commandes proches.
\item
{\bf Modes}: les calculs sont affect\'es par le mode courant
(r\'eel/complexe, exact/approx, radian/degr\'e, etc.). Ces modes apparaissent
en bas sur les Classpad/TI et en haut sur les HP, dans une ligne
appel\'ee ligne d'\'etat (R/C, =/~, RAD/DEG). 
Pour les changer, utiliser la touche MODE sur les TI/HP
ou le menu Settings du Classpad (choisir basic) ou touche Home
puis 8.Info systemes et r\'eglage du classeur sur la nspire CAS.\\
Attention, le mode dit
d\'ecimal des Classpad ne signifie pas que les calculs
interm\'ediaires sont effectu\'es en mode approximatif, il peut \^etre
n\'ecessaire d'utiliser \verb|approx()| pour forcer l'ex\'ecution d'un 
calcul interm\'ediaire en mode approx.
\item Pour {\bf interrompre un calcul}, appuyer sur ON sur les HP (si
cela ne fonctionne pas, taper ensuite ON-F3, ou enfoncer le bouton
reset \`a l'arri\`ere), sur ON sur les TI, cliquer sur
ESC en bas \`a droite sur les Casio.
\end{itemize}

\vspace{0.2cm}

{\bf Exercice}:
\begin{enumerate}
\item Calculer $\sin(3)$ en mode radian et en mode degr\'es.
\item Calculer 10! en mode exact
\item Passez en mode approch\'e et refaites le m\^eme calcul
\item D\'evelopper puis factoriser le polyn\^ome $(x+3)^7 \times
  (x-5)^6$.
Utiliser les menus pour trouver la fonction expand ou factor,
essayez aussi de les saisir au clavier.
\end{enumerate}

\section{Repr\'esentation exacte et approch\'ee  des nombres.}
On distingue~:
\begin{itemize}
\item Les entiers courts (HP49/50 uniquement):\\ 
Ce sont des entiers de taille fixe (32 ou 64 bits par exemple) compris
entre $]-2^{31},2^{31}]$, utiliser le pr\'efixe \#. 
Utiles pour programmer et faire des calculs modulaires (pour
$n<\sqrt{2^{31}}$ (ou $n<\sqrt{2^{63}}$).
\item 
Les {\bf entiers longs} (en pr\'ecision arbitraire):\\
La limite est beaucoup plus grande, mais les op\'erations arithm\'etiques
sont plus longues.

\item Les {\bf nombres flottants}\\
Ils se composent d'une mantisse et d'un exposant s\'epar\'es
par le signe \verb|E|. Sur les calculatrices, ils sont 
cod\'es en base 10 (on parle alors de BCD, binaire cod\'e d\'ecimal).
La base 10 est utilis\'ee sur beaucoup de calculatrices car
elle permet de repr\'esenter les nombres d\'ecimaux sans erreurs.

{\bf Notation scientifique}: on tape la mantisse, puis e (touche EE), 
puis l'exposant. Le s\'eparateur d\'ecimal est le point par
d\'efaut.

{\bf Erreurs d'arrondi et de repr\'esentation}. La mantisse \'etant
de taille finie, \`a chaque calcul ou d\`es qu' on repr\'esente
un rationnel qui n'est pas de la forme un entier divis\'e par la base
\`a une puissance petite, on fait une erreur relative sur le nombre
repr\'esent\'e. Par exemple, si on est en base 10 avec une
mantisse de 15 digits, l'erreur relative d'arrondi est de $10^{-15}$.
Lorsqu'on effectue une multiplication, les erreurs relatives
s'additionnent (et il faut ajouter une erreur relative d'arrondi).
Pour les additions et soustractions ce sont les erreurs absolues
qui s'additionnent, donc si les mantisses se compensent presque, l'erreur
relative peut augmenter consid\'erablement, par exemple
$(1.0+10^{-15})-1.0$ devient nul.

N.B.: sur les HP49/50, il existe une librairie pour calculer avec
des nombres flottants longs (le nombre de chiffres significatifs
est alors fix\'e par l'utilisateur). Les erreurs d'arrondis sont plus
faibles mais le temps de calcul est plus long.
\end{itemize}

Sp\'ecifications pour les entiers et les flottants selon les mod\`eles~:
\begin{itemize}
\item
Classpad: les entiers ne peuvent pas d\'epasser 611 chiffres.

Les flottants utilisent le BCD avec 15 d\'ecimales.
\item
HP: entier en pr\'ecision arbitraire, 5 quartets (taille) puis nombre
en base 10, la limite sur les nombres utilisables est donc
la m\'emoire (200K environ) et le temps n\'ecessaire aux calculs.
Le temps d'affichage d'un entier long est proportionnel \`a la taille
de l'entier en raison du choix du format BCD de stockage des entiers.

Flottants: 2 formats (interne plus pr\'ecis, externe accessible depuis
l'interface), le mode est aussi le BCD.
\item
TI:
Les entiers en pr\'ecision arbitraire sont cod\'es par un ``tag'' de signe,
un octet pour la longueur, puis la valeur
absolue de l'entier (en base 2). Ils sont donc limit\'es par le
champ longueur \`a 255 octets, le plus grand entier repr\'esentable est
$(256^{255}-1)$ soit 614 chiffres. L'affichage d'un entier n\'ecessite
une conversion de la base 2 \`a la base 16, il est donc proportionnel
en temps au carr\'e du nombre de chiffres, et devient sensible
lorsqu'on approche de la limite des 600 chiffres. Sur les TI nspire CAS,
la taille autoris\'ee est plus longue, en affichage on atteint 992
chiffres, en interne c'est probablement plus.

Les flottants utilisent le format BCD avec 14 d\'ecimales.
\end{itemize}

\vspace{0.2cm}

{\bf Exercices} (Calcul exact et approch\'e sur les entiers et r\'eels)
\begin{enumerate}
\item Y-a-t-il une limite sur la plus grande factorielle
calculable exactement et approximativement sur votre calculatrice?

\item Trouver $n$ le plus petit possible tel que $(1.0+10^{-n})-1.0$
renvoie 0.0

\item Calculer les premi\`eres valeurs de $u_{n}$ 
en mode exact et approch\'e avec~:
\[ u_{n+1}=2(u_n-\frac{1}{3}) = 2u_n -\frac{2}{3}, \quad u_0=\frac{2}{3} \]
Comparer les r\'esultats, en mode approch\'e obtient-on la m\^eme
suite selon la formule de r\'ecurrence entr\'ee?

\item Calculer en mode approch\'e en croissant ou en d\'ecroissant
pour quelques valeurs de $n$
\[ \sum_{j=1}^n \frac{1}{j^{3/2}} \]

\item D\'eterminer la valeur et le signe de la fraction rationnelle 
\[ F(x,y)= \frac{1335}{4} y^6 + x^2 (11x^2 y^2-y^6 -121y^4-2) + 
\frac{11}{2} y^8 + \frac{x}{2y}\]
en $x=77617$ et $y=33096$ en faisant deux calculs, l'un en mode approch\'e et 
l'autre en mode exact. Que pensez-vous de ces r\'esultats?

\end{enumerate}


\section{L'application main/historique}
Il s'agit en fait d'un mini-logiciel de calcul formel.
En g\'en\'eral les noms des commandes du Casio Classpad sont les m\^emes
que sur TI, et certains noms de commande sont identiques sur TI et HP
mais ces derniers sont saisis en majuscules.

\subsection{Objets, \'evaluation}
Les principaux types d'objets manipulables par ce logiciel sont: 
les entiers en pr\'ecision arbitraire (limit\'es \`a 600
chiffres sur les TI/Casio), les flottants (14 ou 15 chiffres significatifs), 
les complexes (de partie r\'eelle et imaginaire des flottants ou des entiers), 
les fractions, 
les symboles (ou noms de variables), les expressions, les vecteurs,
les matrices, les chaines de caract\`eres, les listes (d'objets quelconques).
Il existe d'autres types selon les machines, par exemple les 
objets-unit\'es (pour la physique), les objets graphiques, les programmes
et fonctions etc. 

Pour certains types, on peut parfois s'aider d'un mode d'\'edition convivial,
par exemple l'\'editeur d'\'equation sur les HP ou Casio ou TI Nspire CAS, 
ou les \'editeurs de matrice
chez HP/Classpad/TI (attention sur la Voyage200, 
s\'electionnez au d\'ebut le mode Matrix 
de APPS Data/Matrix). Il existe toujours une syntaxe en mode ligne de commande,
le type de l'objet \'etant souvent d\'efini par des d\'elimiteurs 
en d\'ebut et fin de saisie:
\begin{itemize}
\item entiers et r\'eels n'ont pas de d\'elimiteurs. Un r\'eel entier
se distingue par le s\'eparateur d\'ecimal \verb|.| et
\'eventuellement le s\'eparateur \verb|E| entre mantisse et exposant (touche
\verb|EE| chez TI/HP ou \verb|EXP| chez Casio).
\item les complexes s'\'ecrivent en notation alg\'ebrique $x+i*y$ (avec le
$i$ sp\'ecial du clavier sur TI, du clavier virtuel sur Classpad, 
sur HP, on utilise le $i$ normal), 
ou sous forme d'un couple de r\'eels $(x,y)$ chez TI et HP
(on obtient alors un complexe approch\'e).
\item les noms de variables n'ont pas d\'elimiteurs. Les noms de variables
peuvent avoir plusieurs lettres, de plus ils sont sensibles \`a la diff\'erence
majuscule/minuscule sur HP. Une variable peut
\^etre affect\'ee (touche \verb|STO| chez TI/HP ou $\Rightarrow$ chez Casio), 
dans ce cas sa valeur
d'affectation sera utilis\'ee lors de l'\'evaluation d'une
expression. Une variable non affect\'ee est dite symbolique. On peut
purger une variable avec la commande \verb|PURGE| (HP) ou
\verb|DelVar| (TI/Casio).
Une variable peut \^etre locale
\`a l'int\'erieur d'un programme, dans ce cas sa valeur dans
le programme est ind\'ependante de sa valeur en dehors.
\item les expressions n'ont pas de d\'elimiteurs, la syntaxe est la syntaxe
alg\'ebrique, il faut indiquer toutes les op\'erations (y compris
\verb|*|, sauf sur les TI/Casio apr\`es un entier/r\'eel et avant un
symbole), et les r\`egles de priorit\'e s'appliquent (par exemple
\verb|1/2*3| vaut $3/2$). Attention, sur TI, le signe moins unaire
est diff\'erent du signe moins binaire.
\item les listes utilisent les d\'elimiteurs \verb|{ }|, les
\'el\'ements sont s\'epar\'es par des virgules (ou des espaces en mode RPN
sur HP). Attention, les listes sur TI ne peuvent contenir
de listes que si ces listes sont toutes de m\^eme longueur et sur Classpad
elles ne peuvent contenir de listes.
\item les vecteurs utilisent les d\'elimiteurs \verb|[]|, les
\'el\'ements sont s\'epar\'es par des virgules (ou des espaces en mode RPN
sur HP). TI utilise des matrices \`a 1 ligne (ou 1 colonne) pour
repr\'esenter des vecteurs, on utilise le s\'eparateur \verb|,|
ou \verb|;| selon le type de vecteurs cr\'e\'es.
\item les matrices utilisent les d\'elimiteurs \verb|[]|, puis
on donne les vecteurs lignes de la matrice, sans s\'eparateur
sur les TI, et s\'epar\'ees par des virgules sur les HP en mode
alg\'ebrique.
\item 
L'acc\`es \`a un \'el\'ement d'une variable contenant un vecteur ou une liste
se fait avec la notation indici\'ee, les indices variant de 1 \`a la taille 
du vecteur ou de la liste.
Pour acc\'eder \`a un \'el\'ement d'une matrice \verb|m|,
on utilise la notation \verb|m[i,j]| chez TI/Casio, chez HP
on utilise l'instruction \verb|GET| ou un seul indice
obtenu en multipliant le nombre de colonnes par
le num\'ero de ligne moins un et en ajoutant le num\'ero de colonne.\\
On peut extraire une
sous-matrice avec \verb|subMat| (TI/Casio) ou \verb|SUB| (HP).
\item Les programmes sur HP peuvent \^etre entr\'es en ligne de commande
avec le d\'elimiteur \verb|<< >>|. Sur TI/Casio, il faut utiliser
l'\'editeur de programmes. Nous reviendrons sur les programmes
ult\'erieurement.
\item Les chaines utilisent le d\'elimiteur \verb|"|.
\end{itemize}

En r\'esum\'e~:
\begin{center}
\begin{tabular}{|l|l|l|}
\hline
Types & Exemple & Instructions relatives \\
\hline
Entier & 1 & \\
R\'eel & 1.2 & \\
Complexe exact & 1+2*i & \\
Complexe approch\'e & 1.2+2.3*i & \\
Variable & x & \verb|STO>|, \verb|PURGE| ou \verb|DelVar| \\
Expression & 1+2*sin(x) & \verb|OBJ->| ou \verb|part|  \\
Liste & \{ 1, 2\} & L[1] \\
Vecteur & [1, 2] & v[2] (TI v[1,2]) \\
Matrice & TI/Casio: [ [1,2] [3,4] ] & M[2,1]  \\
        & HP: [[1,2],[3,4]] & M[3] \\
Chaine & \verb|"alpha"| &  \\
\hline
\end{tabular}
\end{center}

Il existe des instructions permettant de convertir des types
en autres types~:
\begin{center}
\begin{tabular}{|l|l|l|l|}
\hline
Objets: conversion, d\'ecomposition & HP & TI & Casio \\
\hline
Matrice vers liste & \verb|AXL|& \verb|mat->list| & \verb|matToList|
\\
Liste vers matrice & \verb|AXL| & \verb|list->mat| & \verb|listToMat|
\\
\hline
Rendre approch\'e & \verb|->XNUM| & \verb|approx| & \verb|approx| \\
Rendre exact & \verb|XQ| & \verb|exact| & \verb|exact| \\
\hline
Vers chaine de caract\`eres & \verb|->STR| & \verb|string| & \\
De chaine de caract\`ere & \verb|STR->| & \verb|expr| &
\verb|expToStr| \\
\hline
\end{tabular}
\end{center}

Lorsqu'on tape une commande dans (main/historique), il s'agit d'une
chaine de caract\`eres, qui est ensuite transform\'ee en un objet par
l'interpr\'eteur (en anglais parser), 
puis \'evalu\'ee en fonction du contexte et des modes
et/ou simplifi\'ee ou non. 
L'\'evaluation consiste \`a remplacer les variables qui ont \'et\'e
affect\'ees par leur valeur, et \`a propager ces remplacement dans les calculs. 
La simplification
consiste \`a appliquer certaines r\`egles (par exemple regrouper des
termes, simplifier les fractions rationnelles, ...).
Chez TI, l'\'evaluation et la simplification sont automatiques,
et ne peuvent \^etre emp\^ech\'es. Chez Casio, on peut emp\^echer la
simplification en mode assistant. Chez HP, on peut
emp\^echer l'\'evaluation en utilisant le symbole \verb|'| (quote)
ou la fonction \verb|QUOTE|, on peut forcer une \'evaluation avec
l'instruction \verb|EVAL|. Notez qu'en mode RPN (voir ci-dessous) sur les HP, 
il n'y a aucune simplification automatique.

Comme dans les logiciels de calcul formel, le langage
des calculatrices formelles est non typ\'e, c'est-\`a-dire
que les instructions s'adaptent dans la mesure du possible aux diff\'erents 
types de donn\'ees pass\'ees en argument, par exemple il existe une m\^eme 
instruction + qui permet d'additionner des r\'eels ou des entiers ou des chaines
de caract\`eres (concat\'enation). Il est toutefois important de
comprendre que les op\'erations peuvent \^etre tr\`es diff\'erentes
selon le type des objets pass\'e (et les modes). On peut utiliser
tous les types d'objets en argument d'une fonction, \`a l'exception des objets
de types programmes ou fonction sur les TI/Casio/HP en mode alg\'ebrique.
Notez aussi qu'une instruction
a toujours le m\^eme nombre d'arguments sur les HP, ou peut avoir un nombre
variable d'arguments chez TI/Casio. Sur les HP, il existe en effet
un mode de saisie, dit RPN (reverse polish notation), dans lequel 
on doit donner les arguments d'une instruction avant l'instruction, 
elle ne peut donc pas avoir un nombre variable d'arguments.

Exercices~:
\begin{enumerate}
\item Testez les environnements de saisie s'ils existent 
pour entrer une \'equation, une matrice.

\item Simplifier les expressions suivantes:
\[ \quad \sqrt{3+2\sqrt{2}}
\quad \frac{1+\sqrt{2}}{1+2\sqrt{2}}, \quad
e^{i\pi/6}, \quad 4\mbox{atan}(\frac{1}{5})-\mbox{atan}(\frac{1}{239}) \]
\item Factoriser~:
\[ x^8-3x^7-25x^6+99x^5+60x^4-756x^3+1328x^2-960x+256 \]
\[ x^6-2x^3+1, \quad (-y+x)z^2-xy^2+x^2y \]
\item Calculez les int\'egrales et simplifiez le r\'esultat:
\[ \int \frac{1}{e^x-1} \ dx, \quad
\int  \frac{1}{x\ln(x)} \ln(\ln(x)) dx, \quad \int (2x^2+1)e^{x^2} \ dx,
\quad \int x\sin(x)e^{x} \ dx \]
V\'erifiez en d\'erivant les expressions obtenues.
\item D\'eterminer la valeur de:
\[\int _1^2\frac{1}{(1+x^2)^3}, \quad  \int _1^2 \frac{1}{x^3+1} \ dx \]

\item Calculer les sommes suivantes
\[\sum_{k=1}^N k,\ \sum_{k=1}^N k^2,\ \sum_{k=1}^\infty \frac{1}{k^2}\]

\item D\'evelopper $\sin(3x)$, lin\'eariser l'expression obtenue
et v\'erifier qu'on retrouve l'expression initiale.

\item Calculer le d\'eveloppement de Taylor en $x=0$ \`a l'ordre 4
de:
\[ \ln(1+x+x^2),\quad
\frac{\exp(\sin(x))-1}{x+x^2} , \quad \sqrt{1+e^{x}}, \quad
\frac{\ln(1+x)}{\exp(x)-\sin(x)} \]

\item Cr\'eez une liste de taille 3, un vecteur de taille 3,
une matrice 3,3 et testez l'acc\`es \`a un \'el\'ement 
d'une liste, d'un vecteur, d'une matrice. Effectuez le produit
de la matrice par le vecteur. Convertissez la liste en vecteur
et inversement.

\item R\'esoudre le syst\`eme lin\'eaire
\[ \left\{ \begin{array}{lllllll}
 x &+& y &+& az&=&1\\
 x & +& a y&+& z&=&2 \\
 ax & +&y &+& z&=&3 
\end{array}\right. \]
en utilisant soit l'instruction \verb|rref| sur la matrice
augment\'ee, soit la formule $A^{-1} b$.
\item Cr\'eez un objet de chaque type en mode ligne de commande, 
stockez-le dans une variable, par exemple 
\verb|1.1, 12, 1+2i, (0.5,2.3), 1/2, x, x*sin(x)-x, [1,2]|,
une matrice al\'eatoire 2 par 2, la liste des objets pr\'ec\'edents.
\item V\'erifiez le type de la variable (avec \verb|TYPE| ou \verb|getType|). 
\item Essayez de d\'ecomposer l'objet si on peut le faire (selon le type d'objet
et le mod\`ele de calculatrice).
\item Testez ce que font les op\'erations +, inverse, *, /, avec chaque 
type de variable. 

\end{enumerate}

\pagebreak

\section{Calcul formel}
\subsection{Fonction et expression}
Une fonction est une correspondance qui \`a un objet associe
un autre objet. Une expression n'est pas une correspondance, c'est
un objet, par exemple le r\'esultat de l'\'evaluation d'une fonction
en un point.
\verb|DEFINE| ou \verb|Define| permet de d\'efinir une
fonction. Comme toutes les instructions de calcul formel travaillent
sur des expressions, sauf l'\'evaluation en un point (et quelques
instructions sur HP en mode RPN), si on a d\'efini une fonction,
il ne faut pas la passer seule en argument, mais il faut passer
le r\'esultat de son \'evaluation en un point.

Par exemple, si on d\'efinit \verb|Define f(x)=x^2-1|, on 
\'ecrira \verb|factor(f(x))| et non \verb|factor(f)|.

\subsection{Variables: mode r\'eel, complexe, hypoth\`eses.}
Le choix du mode r\'eel ou complexe influe sur les op\'erations
comme la factorisation ou ce qui en d\'epend (d\'ecomposition
en \'el\'ements simples, calcul de primitives par exemple). 
On peut passer temporairement en mode
complexe sur les TI 
avec les instructions \verb|cFactor| ou \verb|cSolve|.

Les variables symboliques (non affect\'ees) sont r\'eelles en mode
r\'eel. En mode complexe, cela d\'epend~:
\begin{itemize}
\item du nom de variable sur TI: s'il se termine par \verb|_|,
la variable sera consid\'er\'ee comme complexe, sinon elle
sera r\'eelle. Attention donc, si vous utilisez \verb|cSolve|
une variable nomm\'ee \verb|z|
est consid\'er\'ee comme r\'eelle, et \verb|conj(z)| sera
simplifi\'e en \verb|z|, ainsi
\verb|cSolve(z+conj(z)*i=1,z)| renvoie un
r\'esultat faux, car \verb|conj(z)| est remplac\'e par \verb|z|
{\bf avant} l'ex\'ecution de \verb|cSolve|. Il faut utiliser
\verb|cSolve(z_+conj(z_)*i=1,z_)| pour obtenir la
r\'eponse correcte.
\item elles sont complexes chez Casio
\item du drapeau variable r\'eelle sur les HP (touche MODE
puis FLAGS puis fl\`eche vers le haut pour faire apparaitre
le flag syst\`eme 128), s'il est mis, toutes les variables
sont r\'eelles, sinon, les variables sont complexes sauf
celles contenues dans la liste \verb|REALASSUME| 
du r\'epertoire \verb|CASDIR|. 
\end{itemize}

On peut faire une hypoth\`ese globale sur une variable sur les HP
du type \verb|ASSUME(T>1)|. Cela ajoute alors \verb|T| \`a
la liste des variables r\'eelles et permet de simplifier des
expressions comme \verb|ABS(T^2-1)|. Chez TI/Casio, on peut
faire une hypoth\`ese locale sur une variable, en \'evaluant
une expression sous condition avec l'op\'erateur \verb_|_, par
exemple \verb_abs(t-1)|t>1_ (mais la classe d'expression
simplifiable chez TI est assez restreinte, par ex.
\verb_abs(t^2-1)|t>1_ n'est pas simplifi\'e).

\subsection{Arithm\'etiques des entiers}
On donne ici les instructions du syst\`eme install\'e de base, il existe des
programmes permettant d'\'etendre les fonctionnalit\'es
pour TI et Casio.
\begin{enumerate}
\item Division euclidienne~: {\tt IDIV2/IQUOT/IREMAINDER/MOD} (HP49), 
{\tt intDiv/int/mod} (TI/Classpad)
\item PGCD~: {\tt GCD/LCM} (HP), {\tt gcd/lcm} (TI/Casio)
\item Bezout~: {\tt IEGCD/IABCUV} (HP) 
\item Liste des diviseurs~: {\tt DIVIS} (HP)
\item Factorisation~: {\tt FACTOR} (HP), {\tt factor} (TI/Casio)
\item Restes chinois~: {\tt ICHINREM} (HP)
\item Indicatrice d'Euler~: {\tt EULER} (HP)
\item Primalit\'e~: {\tt ISPRIME?/NEXTPRIME/PREVPRIME} (HP), 
{\tt isPrime} (TI, Classpad version 3)
\item Puissance rapide modulaire~: {\tt POWMOD} (HP)
\end{enumerate}
Attention, le test de primalit\'e est en r\'ealit\'e un test
de pseudo-primalit\'e de Miller-Rabin sur les HP, si le test
\'echoue on peut affirmer que l'entier est composite, mais
si le test r\'eussit, l'entier peut (avec une faible probabilit\'e)
ne pas \^etre premier. Sur les TI, le test renvoie une erreur pour
des nombres de taille sup\'erieure \`a $10^{306}$ n'ayant pas
de diviseurs inf\'erieur \`a 1021.
L'algorithme de factorisation commence
par effectuer des divisions par les nombres premiers inf\'erieurs
\`a une certaine valeur (environ 1000 sur HP) puis
\'eventuellement effectue une recherche par une m\'ethode plus
\'evolu\'ee, par exemple Pollard-rho, en utilisant le test de 
pseudo-primalit\'e et un temps limite de recherche.
Il n'y a pas de test de primalit\'e chez Casio.

\subsection{Op\'erations sur les flottants}
\begin{itemize}
\item conversion en approch\'e \verb|->NUM|, \verb|approx| 
\item conversion en rationnel \verb|XQ|, \verb|exact/toFrac|
\item partie enti\`ere (par d\'efaut ou exc\`es)
\verb|FLOOR|, \verb|CEIL| (HP), \verb|floor|, \verb|ceiling| (TI),
\verb|int| (Casio)
\item arrondi \`a un nombre de digits donn\'e en 2\`eme argument
\verb|ROUND| (HP) \verb|round/fRound| (TI/Casio)
\end{itemize}

\subsection{Op\'erations sur les complexes}
\begin{itemize}
\item partie r\'eelle \verb|RE| (HP), \verb|real/re| (TI/Casio)
\item partie imaginaire \verb|IM| (HP), \verb|imag/im| (TI/Casio)
\item conjugu\'e \verb|CONJ| (HP), \verb|conj/conjg| (TI/Casio)
\item norme \verb|ABS| (HP), \verb|abs| (TI/Casio)
\item argument \verb|ARG| (HP), \verb|arg| (TI/Casio)
\end{itemize}
Sur les TI, on peut faire afficher un complexe en notation
exponentielle ou cart\'esienne. Sur les Casio, on peut convertir un
complexe sous forme cart\'esienne, exponentielle ou trigonom\'etrique
avec \verb|cExpand|, \verb|compToPol| et \verb|comToTrig|

\subsection{Arithm\'etiques des polynomes}
Les TI/Casio proposent en base peu de fonctions pour les polyn\^omes,
mais on peut les obtenir en ajoutant des programmes.
\begin{itemize}
\item division euclidienne et \'ecriture de fractions
en isolant la partie enti\`ere \verb|DIV2|, \verb|PROPFRAC| (HP), 
\verb|propFrac| (TI/Casio) et \verb|PolyQuo|/\verb|PolyRem|
(TI Nspire v1.3)
\item num\'erateur et d\'enominateur d'une fraction
\verb|FXND| (HP), \verb|getNum/numerator|, 
\verb|getDenom/denominator| (TI/Casio)
\item PGCD et PPCM : \verb|GCD|, \verb|LCM| (HP), 
\verb|gcd|, \verb|lcm| (Casio). Sur les TI, on peut
utiliser \verb|p/getNum(p/q)| pour obtenir le pgcd de \verb|p| et
\verb|q|. Sur la TI NSpire v. 1.3, on peut utiliser \verb|PolyGcd|.
\item identit\'e de B\'ezout \verb|EGCD|, \verb|ABCUV| (HP).
On peut le programmer assez facilement sur la TI NSpire avec
\verb|PolyQuo|/\verb|PolyRem|.
\item restes chinois \verb|CHINREM| (HP)
\item r\'esultant \verb|RESULTANT| (HP)
\item factorisation \verb|FACTOR| (HP), \verb|factor| (TI/Casio) \\
La factorisation se fait sur $\Z$ si les coefficients
sont exacts, elle ne donne pas forc\'ement un produit de
polyn\^omes irr\'eductibles sur les TI. \\
Sur les HP, cocher le flag
\verb|Num factorize| (MODE FLAGS, fl\'eche haut, remonter jusqu'au
flag 109) pour forcer une factorisation num\'erique.
Sur les TI, ajouter le nom de la variable en 2\`eme argument.
Sur les Casio, utiliser \verb|rfactor|\\
Passer en mode complexe pour factoriser sur $\C$.
\item \verb|PARTFRAC| (HP) ou \verb|expand| (TI/Casio): 
d\'ecomposition en \'el\'ements simples. Sur HP, passer en mode
complexe pour obtenir la d\'ecomposition en \'el\'ements simples 
sur $\C$.
\item \'evaluation d'un polyn\^ome par la m\'ethode de Horner,
\verb|HORNER| (HP), \verb|polyeval|  (TI/Casio)
\item interpolation de Lagrange, \verb|LAGRANGE| 
\item localisation des racines
r\'eelles d'un polyn\^ome par les suites de Sturm.
\verb|STURM| et \verb|STURMAB| 
\end{itemize}

\subsection{R\'e\'ecriture d'expressions}
\begin{itemize}
\item factoriser et d\'evelopper
\verb|FACTOR, COLLECT, REORDER, EXPAND| (HP),
\verb|factor, expand| (TI/Casio), 
\verb|rfactor/collect/combine| (Casio) 
\item d\'evelopper ou lin\'eariser une expression
trigonom\'etrique.
\verb|TEXPAND, TCOLLECT| (HP), \verb|tExpand, tCollect| 
(TI/Casio)
\item d\'evelopper une exponentielle ou un logarithme~:
\verb|TEXPAND| (HP) \verb|expand| (TI/Casio). Sur TI/Casio,
une v\'erification de la validit\'e des arguments est effectu\'ee.
par exemple $\ln(xy)$ n'est pas d\'evelopp\'e si on n'ajoute
pas une hypoth\`ese $x>0$ ou $y>0$.
\item lin\'eariser des exponentielles ou rassembler des logarithmes
\verb|LIN| et \verb|LNCOLLECT| (HP), \verb|factor| (TI/Casio).
Sur TI/Casio, les exponentielles sont automatiquements regroup\'ees.
\item \verb|EXPLN| (HP) \verb|trigtoexp| (Casio) permettent
de convertir les fonctions trigonom\'etriques en exponentielles
complexes, inversement utiliser \verb|SINCOS| (HP) et \verb|exptotrig|
(Casio).
\item
De nombreuses r\`egles de r\'e\'ecriture sont disponibles sur HP, par
exemple pour convertir en $\tan(t/2)$ (\verb|HALFTAN|), cf. les menus
\verb|EXP&LN|, \verb|TRIG|.
\end{itemize}

\subsection{Calcul diff\'erentiel et int\'egral}
\begin{itemize}
\item Limite~: \verb|LIMIT| (HP), 
\verb|limit| (TI/Casio), on passe en argument
une expression, puis \verb|X=a| sur HP ou \verb|X,a| sur TI/Casio.\\
Pour obtenir une limite \`a droite indiquer \verb|X=a-0| sur HP
ou ajouter un 4i\`eme argument -1 sur TI/Casio. \`A gauche,
\verb|X=a+0| ou 1 en 4i\`eme argument.
\item Taylor~: \verb|SERIES| (HP), \verb|series| (TI Nspire)
\verb|taylor| (TI/Casio), 
on passe en argument
une expression, puis  \verb|X=a,n| sur HP ou \verb|X,n,a| sur TI/Casio
o\`u $n$ est l'ordre. \\
Sur HP et TI Nspire, on peut faire un d\'eveloppement
asymptotique en $\pm \infty$ en donnant cette valeur \`a $a$, sur
les TI89/92 il faut faire soi-m\^eme le changement de variable. \\
Sur HP, on peut faire un d\'eveloppement \`a droite ou \`a gauche en passant
pour l'ordre un r\'eel n\'egatif ou positif au lieu d'un entier, sur
TI Nspire indiquer 1 ou -1 \`a \verb|series| pour le cot\'e.
Le r\'esultat renvoy\'e par \verb|SERIES|
sur les HP se compose de la limite, de
l'\'equivalent, du d\'eveloppement et du reste.\\
L'ordre est l'ordre qui sera renvoy\'e sur TI, par contre sur HP
il peut \^etre diminu\'e s'il y a eu des simplifications
num\'erateur/d\'enominateur.\\
Attention sur TI89/92, le temps de calcul devient vite prohibitif si le
d\'enominateur s'annule, l'algorithme utilis\'e calcule en effet
les d\'eriv\'ees successives et leur limite au point $a$. On peut
passer outre en calculant s\'epar\'ement les d\'eveloppements
du num\'erateur et du d\'enominateur, puis on calcule le
d\'eveloppement de la fraction simplifi\'ee $n/d$. On peut se
ramener au cas o\`u $d\rightarrow 1$, on pose alors $c=1-d$ et on
utilise:
\[ \frac{n}{d}=\frac{n}{1-c} = n (1+c+c^2+...)\]
\item D\'erivation~: \verb|DERVX|, \verb|DERIV| (HP), 
{\tt $d$}/\verb|diff| (TI/Casio). Sur TI/Casio, 
on peut indiquer un ordre de d\'erivation. Sur HP, \verb|DERIV|
permet de calculer le gradient, \verb|HESSIAN| le hessien,
\verb|CURL| le rotationnel, \verb|DIV| la divergence, \verb|LAPLACIAN|
le laplacien.
\item Recherche d'extremums~: \verb|fMin| et \verb|fmax| sur TI/Casio,
\verb|TABVAR| (tableau de variations) sur HP.
\item Primitive~: \verb|INTVX|, \verb|RISCH| (HP), {\tt $\int$} (TI/Casio). 
Sur HP, \verb|POTENTIAL| et \verb|VPOTENTIAL| permettent
de calculer le potentiel ou le potentiel vecteur d'un champ.
\item Int\'egrale d\'efinie~: en mode exact, le
  syst\`eme recherche une primitive. En mode auto sur TI, si la
  recherche \'echoue, une m\'ethode de quadrature est alors
  lanc\'ee.\\
Pour obtenir une valeur approch\'ee, utiliser \verb|->NUM| sur HP
et \verb|nInt| (TI) ou \verb|approx| (TI/Casio).
\end{itemize}

\subsection{Solveurs num\'eriques et exacts}
Les solveurs exacts permettent de
\begin{itemize}
\item r\'esoudre des \'equations se ramenant \`a des \'equations polynomiales
(par changement de variable et factorisation) (HP: \verb|SOLVE|, attention
au choix du mode r\'eel/complexe et factorisation num\'erique, TI/Casio
\verb|solve| et TI \verb|cSolve|).
\item r\'esoudre des syst\`emes d'\'equations lin\'eaires 
(HP: \verb|LINSOLVE|, TI: \verb|simult|), et plus g\'en\'eralement
des syst\`emes simples d'\'equations polynomiales par base de Groebner
(fonctions \verb|SOLVE/solve/csolve| ci-dessus, 
sur les HP on peut aussi afficher la base
de Groebner par \verb|GBASIS|, et r\'eduire un polyn\^ome par rapport \`a une
base de Groebner d'un id\'eal par \verb|GREDUCE|, sur les Casio
\verb|solve| ne sait r\'esoudre que les syst\`emes lin\'eaires).
\item certaines \'equations diff\'erentielles (par exemple lin\'eaires
du 1er ordre ou lin\'eaires \`a coefficients constants par transformation
de Laplace et inverse). Sur HP, utiliser \verb|DESOLVE|, 
sur TI/Casio, \verb|deSolve/dSolve|. Pour
les \'equations lin\'eaires \`a coefficients constants ou les syst\`emes
lin\'eaires \`a coefficients constants, utiliser \verb|LDEC| sur HP (il faut 
installer une application sur TI pour les syst\`emes ou les
\'equations de degr\'e sup\'erieur \`a 2) ou la transform\'ee de
Laplace (\verb|LAP/ILAP| sur HP, \verb|laplace/invlaplace| sur Casio).
\end{itemize}
Notez que la recherche num\'erique des racines d'un polynome peut se faire par
\verb|PROOT| sur HP. La recherche de solutions exactes se ramenant \`a la
factorisation des polynomes de degr\'e 3 ou plus ne renverra pas de
solution exacte, mais des solutions num\'eriques si on choisit Num factorize
sur les HP (MODE FLAGS 109)
ou si on met en argument de \verb|solve| la variable sur les TI
ou si on utilise \verb|rsolve| sur Casio.

Les solveurs num\'eriques permettent de
\begin{itemize}
\item trouver une solution d'\'equation non polynomiale dans un intervalle
donn\'e ou en partant d'une valeur initiale (initial guess). Fonction
\verb|ROOT| sur les HP, \verb|nSolve| sur TI, \verb|solve| avec
un 3i\`ieme argument chez Casio.
Sur les HP, on acc\`ede au menu solveur num\'erique en shiftant
la touche 7. Sur les TI, apps, puis 7. Chez Casio, application Numsolve.
\item trouver une solution de syst\`eme d'\'equations non polynomiales
(fonction \verb|MSLV| sur HP, \verb|solve/csolve| \'eventuellement forc\'e
en mode approx sur TI)
\item r\'esoudre num\'eriquement une \'equation diff\'erentielle (fonction
\verb|RKF, RKFERR, RKFSTEP| sur HP), 
on peut utiliser l'application de repr\'esentation
graphique sur tous les mod\`eles.
\end{itemize}

\pagebreak 

Exercices~:
\begin{enumerate}
\item Trouver les racines complexes des \'equations suivantes
\[ z^2+(1+i)z-3-2i=0, \quad z+(2-3i)\overline{z}=1+2i\]
\item D\'eterminer des nombres premiers de la forme $2^n+1$.
\item D\'eterminer le nombre $n$ d'entiers inf\'erieur \`a 21 qui sont
premiers avec 21, v\'erifier que si $a$ est premier avec
21, alors $a^n \pmod{21}=1$.
\item Donner la valeur de $5^k \pmod k$ avec $k=10007$.
\item Simplifier $\sin(3x)/\sin(x)$
\item V\'erifier que le polyn\^ome $x^5+x+1$ n'a que des racines
simples et d\'eterminer son nombre de racines r\'eelles. Faire
son tableau de variations.
\item Trouver les racines exactes et approch\'ees 
de $x^3+x+1=0$, $\exp(x)+x=3$, $\sin(x)^2-2=0$.
\item Donner une primitive (\`a coefficients approch\'es) de
  $1/(x^4-3x^3+5x+1)$
\item Calculer le d\'eveloppement de Taylor du num\'erateur
et du d\'enominateur de 
\[ \frac{\ln(1+x)}{\exp(x)-\cos(x)} \]
\`a l'ordre 6 en $x=0$, 
en d\'eduire celui de la fraction \`a l'ordre 5.
\item Calculer le terme d'ordre $n$ du d\'eveloppement de Taylor
en $x=0$ de 
\[ \frac{1}{(x^2-4x+3)(x+2)} \] 
(on commencera
par d\'ecomposer la fraction en \'el\'ements simples).
V\'erifiez pour les 5 premiers termes.
\item Calculer une valeur approch\'ee de $\int_0^{\infty} \exp(-x^2)
 \ dx$ en faisant le changement de variable $x=\tan(t)$.
\item Trouver l'intersection du cercle de centre
l'origine, rayon 1 et de l'ellipse d'\'equation $x^2+2xy+3y^2 +3x-3y=3$.\\
R\'esoudre le syst\`eme $sin(x)+y=2, x+cos(y)=2$.
\item
R\'esoudre l'\'equation diff\'erentielle $e^x y'=y+1$, calculer
la valeur en $x=1$ de la solution passant par $(0,1)$.\\
Peut-on r\'esoudre exactement l'\'equation
\[ (E) \quad y'=\sqrt{\sin(y+x)^2+1-\cos(x)} \]
\`a la calculatrice~?
Calculer une valeur approch\'ee en $x=1.0$ de
$y$ v\'erifiant $(E)$ et passant par $(0.0,1.2)$.
\item Chercher les extremas locaux de la fonction
$(x+y+1)(x-2y-3)(x-y-1)$.
\item Soit $A,B,C$ trois points quelconques du plan.
On construit les triangles \'equilat\'eraux directs
de cot\'es $AB, AC, BC$
et le triangle dont les sommets sont les centres de ces 3 triangles.
Montrer en utilisant les nombres complexes que ce triangle
est \'equilat\'eral: on supposera par exemple que $A$ a pour affixe 0,
$B$ a pour affixe 1 et $C$ a pour affixe $z=x+iy$, on calculera les
coordonn\'ees des trois centres en fonction de $z$.
\end{enumerate}


\pagebreak

\section{Repr\'esentations graphiques}
Les principaux types de courbes non statistiques sont~:
\begin{itemize}
\item les graphes de fonction d'une variable (dans le plan) ou de 2
variables (3-d)
\item les courbes param\'etr\'ees
\item les courbes en polaire (sur la Nspire, \`a partir de la version >=1.3)
\item les solutions (num\'eriques) d'\'equation diff\'erentielles du 1er
ordre de la forme $y'=f(x,y)$ (n\'ecessite la version 3 du Classpad,
non natif sur NSpire, cf. le dossier Exemple \`a partir de la version 1.7)
\item les courbes implicites (non natif sur la NSpire,
pour les coniques cf. le dossier Exemple \`a partir de la version 1.7)
\item les suites r\'ecurrentes (Nspire \`a partir de la version 1.7)
\end{itemize}
Pour repr\'esenter une courbe,
la calculatrice va \'echantilloner la (ou les) fonction(s) d\'efinissant
la courbe en fonction de param\`etres de discr\'etisation, puis,
en tenant compte des param\`etres d'affichage,
tracer les points correspondants et \'eventuellement les relier
entre eux par de petits segments de droite (option Connect d'un des
\'ecrans de r\'eglages).
Pour les trac\'es de type fonction, il faut d\'efinir la plage de $x$,
de $y$, pour les trac\'es autres que fonction,
il faut aussi d\'efinir la plage du param\`etre (ou les valeurs
initiales et finales de la variable pour une \'equation diff\'erentielle).
On indique le pas d'\'echantillonage, pour une fonction 
(en unit\'es ou en pixels) ou le pas de r\'esolution num\'erique pour une
\'equation diff\'erentielle. Plus le pas d'\'echantillonage est petit,
plus le trac\'e sera pr\'ecis, mais plus il sera lent. Ce qui donne
selon les mod\'eles~:
\begin{enumerate}
\item Choix du type de graphe\\
sur HP, taper simultan\'ement sur shift-gauche et F4 (2D/3D)
puis choisir le type parmi (Function, Parametric, Polar, Conic, Diffeq,
Slopefield, 3d). Les suites r\'ecurrentes se tracent \`a partir
de l'application de g\'eom\'etrie.
\\
Sur TI, le r\'eglage du type de trac\'e se fait dans MODE (Function,
Parametric, Polar, Sequence, Fast3d, diff equations). 
On doit parfois compl\'eter le type de trac\'e
en utilisant le menu F1-9 de diamond-Y=. Par exemple pour
les courbes de niveau et les courbes implicites, 
choisir le mode 3d puis Graph Formats contour
levels ou implicit plot.
\\
Sur Classpad, on choisit dans Menu soit Graph soit 3-d soit Conic
soit Suites. Pour Graph, on choisit le type dans le menu \verb|Type|.
Il n'y a pas de mode pour tracer les solutions
d'\'equations diff\'erentielles.
\item D\'efinition des fonctions \`a repr\'esenter~:\\
Sur HP, l'expression ou la liste des expressions \`a repr\'esenter est
stock\'ee dans la variable \verb|EQ|. 
Vous pouvez aussi sp\'ecifier ces expressions
en tapant sur shift-gauche F1 (Y=).
Pour les fonctions, l'expression \`a entrer est 
$(y=)f(x)$ ou $(z=)f(x,y)$ (3-d), pour les courbes param\'etriques, l'expression
est donn\'ee par le nombre complexe $x(t)+i*y(t)$, attention \`a changer
le nom de la variable ind\'ependante (en $t$ ici), pour les courbes
en polaires, on donne $\rho(x)$ o\`u $x$ est l'angle, pour les
courbes implicites $f(x,y)=0$, pour les 
\'equations diff\'erentielles, on donne $f(x,y)$ o\`u l'\'equation
diff\'erentielle est $y'=f(x,y)$.
Pour tracer plusieurs courbes d\'ependant d'un param\'etre,
on peut utiliser la commande \verb|SUBST|, par exemple
\verb|SUBST(A*SIN(X),A={1,2}) STO> EQ|
\\
Chez TI, on entre les expressions d\'efinissant les courbes 
en tapant diamond \verb|Y=|. Ces expressions ne sont pas 
toujours \'evalu\'ees (par exemple on ne peut pas mettre un nom
de variable contenant une expression d\'ependant de $x$).
Pour les graphes on d\'efinit ainsi $y1$, ...,
pour les fonctions, $xt1, yt1$, ... pour les courbes param\'etriques, etc. 
Pour tracer plusieurs courbes ayant la m\^eme
\'equation d\'ependant d'un param\`etre, il suffit d'affecter
\`a ce param\`etre la liste des valeurs souhait\'ees, par exemple
\verb|{1,2,3} STO> a| puis \verb|y1=sin(a*x)|\\
Sur Classpad, on entre $y1$, ...,
pour les fonctions, $xt1, yt1$, ... pour les courbes param\'etriques, etc. 
\item R\'eglage des param\`etres\\
Sur HP, les param\`etres H-Tick et V-Tick indiquent
le d\'ecalage entre 2 marques successives sur les axes, en pixels
ou en unit\'es (selon que Pixels est coch\'e ou non). 
Shift-WIN permet de r\'egler les param\`etres d'affichage 
(pour les fonctions, vous pouvez laisser
AUTOscale calculer W-Win s'il n'y a pas de pole de la fonction
dans l'intervalle). Attention, pour les trac\'es de type Equation
diff\'erentielle, il manque le nom de la variable d\'ependante, par
d\'efaut \verb|Y|, on peut le d\'efinir dans le type 
champ des tangentes (Slopefield).\\
Sur TI, diamond WINDOW permet de d\'efinir la fen\^etre d'affichage
par exemple les valeurs de \verb|xmin/xmax|, \verb|xres|, 
\verb|xscl/yscl| pour les fonctions.
Les param\`etres \verb|xscl| et \verb|yscl| d\'efinissent
le tick sur les axes, alors que \verb|xres| d\'efinit en pixels
le pas entre 2 \'evaluations.
Le menu Style de \verb|Y=|
permet de d\'efinir comment le trac\'e est effectu\'e (points
connect\'es, points non connect\'es, point mobile avec ou sans trace,
animation). \\
Sur Classpad, choisir le menu avant Edit, puis R\'eglages,
param\'etrage, format graphique (ou 3-d).
\item Trac\'e~:\\
Sur HP, on efface \'eventuellement le graphe pr\'ec\'edent (F5)
et on trace en appuyant sur F6.\\
Sur TI on les trace avec diamond \verb|GRAPH|. \\
Sur Casio, cliquer sur le bouton de graphe.
\item Op\'erations post-trac\'e (zoom, pente de tangente, 
recherche de racine, etc.)\\
Les menus permettent de changer
les param\`etres d'affichage (zoom), mais attention cette op\'eration
prend du temps, car la machine recalcule le graphe.\\
Pour les fonctions, on peut selon les mod\`eles
utiliser les menus pour trouver une racine num\'erique 
de $f(x)=0$, afficher la tangente au graphe, calculer l'aire sous la
courbe entre deux points,... (menu Analysis sur Classpad, F5-Maths sur 
Voyage 200, ...)
\end{enumerate}

Parall\`element \`a l'\'etude graphique, on peut bien sur utiliser l'historique
(ou application Main) pour faire une \'etude formelle de la fonction
\`a tracer. Il est alors judicieux de donner un nom \`a la fonction
ou \`a l'expression \'etudi\'ee (par l'interm\'ediaire de define ou de STO)
ou d'utiliser le nom de la fonction tel que d\'efini dans \verb|Y=|.

Remarque~: on peut aussi lancer un trac\'e de fonction depuis Main, avec une
commande \verb|Draw...| sur TI/Casio, la commande \verb|PLOTADD| (ou les
commandes de type de trac\'e \verb|FUNCTION|, \verb|PARAMETRIC|, ...
et l'affectation de \verb|EQ|) sur HP ou avec un glisser-d\'eplacer
sur Casio.

Exercices~:
\begin{itemize}
\item Repr\'esenter la fonction $f(x)=(x^3+x+1)/(x^2-x-1)$ pour
$x \in [-2,0]$ puis $x\in [-3,3]$ puis $x\in [-10,10]$.
Trouver num\'eriquement une solution de $f(x)=0$.
En utilisant l'application main, faites une \'etude de la fonction
(tableau de variations, asymptotes, signe) et v\'erifiez sur le
graphe.
\item Tracer sur le m\^eme graphique les fonctions $\sin(x)$
et son d\'eveloppement de Taylor \`a l'ordre 1, 3 et 5. Graphiquement,
pour quelles plages de valeurs de $x$ les d\'eveloppements
sont-ils de bonnes approximations de $\sin(x)$?
\item Tracer en param\'etriques la courbe d'\'equations
\[ x(t)=3 \sin(3t), \quad y(t)=2 \sin(4t) \]
Pour les matheux, faites aussi l'\'etude des auto-croisements de la courbe.
\item Tracer en polaire la courbe $\rho=2 \cos(4\theta)$.
Quelques autres courbes si vous avez le temps~:\\
lemniscate de Bernouilli~:$\rho=\sqrt{\cos(2t)}$\\
limacon de Pascal~:$\rho=a\cos(t)+b$, si $a=b$, cardioide\\
ellipse (demi-grand axe $a$, excentricit\'e $e$): $\rho=a(1-e^2)/(1+e\cos(t))$.
\item On consid\`ere l'\'equation diff\'erentielle logistique
(utilis\'ee pour mod\'eliser la croissance d'une population dans un 
milieu aux ressources naturelles finies)~:
\[ y'= y(1-y), \quad y(t=0)=0.01 \]
Tracer la courbe repr\'esentative de cette solution (sans r\'esoudre
l'\'equation diff\'erentielle!). Comparez ensuite avec le trac\'e de la solution
exacte (obtenue avec desolve).
\item Tracer tout d'abord le champ des tangentes de l'\'equation
diff\'erentielles
\[ y'=\sin(xy) \]
puis superposer quelques solutions de l'\'equation 
(sans effacer le champ des tangentes, sur TI on peut utiliser une
liste comme valeur initiale pour tracer plusieurs solutions).
\item Repr\'esenter $f(x,y)=(x+y-1)(x-2y)(x-y)$.
\end{itemize}


\section{Unit\'es et constantes physiques}
Les TI et HP peuvent manipuler des valeurs num\'eriques ayant des
dimensions physiques (par exemple longueur, poids, pression, \'energie, ...). 
On peut effectuer des op\'erations arithm\'etiques
simples sur ces quantit\'es, multiplication, division et puissance
enti\`ere, ainsi que addition ou soustraction lorsque deux quantit\'es
ont la m\^eme dimension physique. On peut aussi convertir
une quantit\'e exprim\'ee en fonction de certaines unit\'es en la m\^eme
quantit\'e exprim\'ee avec des unit\'es compatibles, par exemple
pour convertir une distance de miles en km, mais aussi un angle
de radian en degr\'e ou une dur\'ee d'heures en secondes.
Les math\'ematiques sous-jacentes sont la r\`egle de trois.

Le syst\`eme MKSA des unit\'es physiques comporte 7 unit\'es de base, toutes
les unit\'es se ram\`enent \`a un produit par une constante num\'erique
de puissances enti\`eres de ces 7 unit\'es de base : 
le m\`etre, le kilogramme, la seconde, l'amp\`ere (intensit\'e \'electrique),
le Kelvin (temp\'erature), la mole (quantit\'e de mati\`ere) et le candela
(luminescence). Les unit\'es du syst\`eme international (S.I.) sont
les unit\'es compos\'ee de ces 7 unit\'es de base avec comme constante num\'erique
1, par exemple le Pascal pour {\tt 1\_kg/m/$s^2$}.
Lorsque la constante num\'erique est une puissance de 10, on utilise
un pr\'efixe (par exemple m pour $10^{-3}$, k pour $10^3$, etc.).
Il existe de nombreuses unit\'es en-dehors de celles du S.I., en particulier
dans les pays anglo-saxons, mais aussi pour des raisons de commodit\'e
(par exemple \verb|kph| pour les vitesses, le litre, 
l'\'electron-Volt unit\'e d'\'energie, etc.).

Sur les TI et HP, les valeurs num\'eriques avec dimension sont compos\'ees
de la valeur num\'erique, du signe \verb|_|, et d'une unit\'e physique
ou d'un produit ou quotient d'unit\'es physiques, par exemple
\verb|12.3_km/s|.
Attention, sur TI, vous devrez \'ecrire \verb|12.3_km/_s|.
Attention, toujours sur TI, la partie \verb|_...| est consid\'er\'ee
comme un nom de variable (sp\'ecial), donc il faut mettre des
parenth\`eses dans \verb|12_km/(2_s)| ou \'ecrire \verb|12_km/2/_s|.

Sur les HP49, on acc\`ede aux unit\'es pr\'ed\'efinies par le menu \verb|UNITS|
(shift- droit-6). Le sous-menu \verb|TOOLS| permet principalement
de convertir (\verb|CONVERT|) entre
deux unit\'es de m\^eme dimension (par exemple entre des km/h et des m/s),
ou d'\'ecrire en terme de produit d'unit\'es de base (\verb|UBASE|) 
ou de ``factoriser'' (\verb|UFACT|) une unit\'e.
Les autres menus r\'epertorient des unit\'es usuelles
par dimension.
L'interface des unit\'es en mode RPN est mieux adapt\'ee aux conversions
d'unit\'es gr\^ace \`a des raccourcis claviers.
Taper \verb|MODE|, puis \verb|+/-| pour changer en mode RPN,
puis \verb|F1 FLAGS|, fl\`eche vers le haut 3 fois, cocher le flag
syst\`eme 117 pour faire apparaitre Soft menu, puis OK 2 fois.
Taper \verb|UNITS| (shift droit-6) puis par exemple Lengths. 
Pour entrer une unit\'e il suffit de taper
la valeur num\'erique puis la touche du bandeau de l'unit\'e
(par exemple \verb|F4| pour un yard, yd). Pour convertir en une autre unit\'e,
taper sur shift-gauche et la touche du bandeau de l'unit\'e, par exemple
shift-gauche \verb|F1| pour convertir en m\`etres.
Pour revenir en mode alg\'ebrique, taper \verb|MODE| puis \verb|+/-|
puis \verb|OK|.

Sur les TI, on peut choisir dans \verb|MODE| le syst\`eme international
d'unit\'es ou un syst\`eme anglo-saxon, ce sont ces
unit\'es qui seront utilis\'ees dans un r\'esultat
(sur HP, l'unit\'e renvoy\'ee utilise l'unit\'e d'un des arguments)
sauf conversion explicite
avec la touche de conversion (touche shift-Y sur V200), .
La liste des unit\'es est accessible depuis le menu diamond-\verb|UNITS|.
On peut aussi d\'efinir une liste d'unit\'es particuli\`ere dans ce
menu si on veut utiliser par d\'efaut des unit\'es diff\'erentes
du syst\`eme international ou anglo-saxon.

Les constantes physiques (par exemple acc\'el\'eration de la gravit\'e
sur Terre, constante gravitationnelle, constante de Rydberg, de Planck, 
masse de l'\'electron, du proton etc.) sont \'egalement m\'emoris\'ees dans
les TI et HP. Sur HP, taper \verb|APPS| puis la commande
\verb|Constants libs| 
pour faire apparaitre la liste des constantes m\'emoris\'ees, sur
TI, diamond-\verb|UNITS| et cherchez la constante dans le premier
menu. Sur HP, vous pouvez
aussi saisir directement la commande \verb|CONST()| avec
en argument le symbole de la constante, par exemple \verb|CONST(c)|
renvoie la vitesse de la lumi\`ere, sur TI, vous pouvez saisir
le nom de la constante pr\'efix\'e par \verb|_|, par exemple
\verb|_c|.

Exercices~:
\begin{itemize}
\item Quelle est la taille en cm d'une disquette de 3 pouces 1/2?
\item Combien de pintes dans un litre?
\item Aux Etats-Unis, on mesure la consommation d'une voiture
en nombres de miles parcourus par gallon d'essence. Par exemple,
certaines voitures de type SUV ont un mileage de 20 mpg. En France,
on compte plutot en litres aux 100 km. Calculer la valeur correspondante.
\item Pour prendre une douche de 40 litres d'eau, on suppose
qu'il faut r\'echauffer en moyenne ces 40 litres de 10 \`a 40 degr\'e Celsius.
Par d\'efinition, la kilocalorie (kcal) est l'\'energie n\'ecessaire
pour r\'echauffer un litre d'eau de 1 degr\'e. Combien de kWh consomme-t-on par an
si on prend une douche tous les jours?
\item Quelle est le temps n\'ecessaire \`a la lumi\`ere pour parcourir
la distance Terre-Soleil (cette distance est 
la d\'efinition de l'unit\'e astronomique \verb|au|)?
\item En supposant que la Terre se comporte comme un corps noir, elle \'emet
un rayonnement dont la puissance $P$ est donn\'ee par la loi de Stefan-Boltzmann 
\[ P=\sigma T^4 \]
o\`u $T$ est la temp\'erature absolue (moyenne), 
retirer la temp\'erature standard pour avoir la temp\'erature en Celsius.
Ce rayonnement doit \^etre en \'equilibre avec la puissance recue
du Soleil soit 1360/4\_$W/m^2$. En d\'eduire $T$. (En r\'ealit\'e la surface
de la Terre n'est pas un corps noir, elle \'emet plus de rayonnement,
mais une partie est renvoy\'ee vers le sol par effet de serre).
\end{itemize}

\pagebreak

\section{Calculs financiers}
L'application Time Value of Money permet principalement 
de calculer des mensualit\'es
de remboursement pour un emprunt \`a taux $t$ et remboursement $r$ fixes.
Les math\'ematiques sous-jacentes sont les suites g\'eom\'etriques.
Si $u_k$ est la valeur emprunt\'ee l'ann\'ee $k$, la valeur de $u_{k+1}$
s'obtient en enlevant le remboursement $r$ et en ajoutant les int\'er\^ets
sur $u_k$
\[ u_{k+1}= u_k(1+t) -r \]
Il s'agit alors de trouver l'une des valeurs $n$, $r$, $t$ ou $u_0$ 
pour que $u_n=0$. Pour cela on calcule $u_k$, en cherchant $C$
pour que $v_k=u_k-C$ soit une suite g\'eom\'etrique de raison $1+t$~:
\begin{eqnarray*} 
v_{k+1} & = & u_{k+1}-C \\
&=& u_k(1+t)-r-C \\
& =& (v_k+C)(1+t)-r-C \\
&=& (1+t)v_k+tC-r
\end{eqnarray*}
Donc $C=r/t$, et $v_n=(1+t)^n v_0$ d'o\`u~:
\[ u_n-C=v_n=(1+t)^n v_0=(1+t)^n (u_0-C) \] 
finalement, si $u_n=0$~:
\[ (1+t)^n=\frac{-C}{u_0-C}=\frac{r}{r-u_0 t} \]

Sur HP, taper shift gauche-FINANCE. Sur TI ou Classpad version 3 au moins, 
choisir l'application FINANCES.

Exercices~:
\begin{itemize}
\item 
Il s'agit d'emprunter 150 000 euros au taux fixe de 4\% par an.
Combien de temps faut-il pour rembourser cette somme \`a raison
de 1000 euros par mois?
\item M\^emes donn\'ees, quelle mensualit\'e faut-il payer pour rembouser en 15 ans?
\item Combien coute un ordinateur pay\'e pendant 3 ans 1 euro par jour
en supposant une inflation annuelle \`a 2.5\%?
\end{itemize}

\section{Statistiques descriptives}
Les calculs statistiques se font sur des tableaux de nombres.
Sur TI, vous pouvez utiliser l'\'editeur de donn\'ees (APPS 6) en mode data.
pour entrer les donn\'ees, ou directement avec \verb|STO>| depuis
l'historique. Attention, il ne semble pas possible de transposer des
donn\'ees de type data, donc si vous devez travailler \`a la fois
en lignes et en colonnes sur vos donn\'ees, utilisez l'\'editeur
de donn\'ees en mode matrice, sauvegardez-la, puis utilisez les
commandes de statistiques de l'historique.

Sur Casio, utiliser l'application de Statistiques.

Sur HP, les calculs statistiques utilisent une variable r\'eserv\'ee 
{\tt $\Sigma$DAT} qui est la matrice statistique\index{matrice statistique}.
On peut utiliser l'\'editeur de matrice pour entrer les donn\'ees,
l'appui sur shift 5 (STATS) stocke la matrice dans la variable
{\tt $\Sigma$DAT} et ouvre le menu de statistiques.
On peut aussi entrer une matrice directement depuis l'historique
avec \verb|STO>|.

Pour transposer une matrice, utiliser \verb|TRAN| sur HP et $^t$
sur TI. Sur Casio, on peut utiliser \verb|trn| (transconjugu\'ee)
(les donn\'ees sont r\'eelles!).

\subsection{Statistiques \`a une variable.}
Il s'agit principalement du calcul de la moyenne, variance,
\'ecart-type et des quartiles (m\'ediane, etc.). Attention \`a
la d\'efinition de la variance et de l'\'ecart-type qui diff\`ere selon qu'on
s'int\'eresse \`a la population enti\`ere ou \`a un \'echantillon,
en effet pour obtenir un estimateur sans biais de la variance
\`a partir d'un \'echantillon,
il faut diviser la somme des carr\'es par $n-1$ (o\`u $n$
d\'esigne l'effectif) et non par $n$ (cas de la population enti\`ere).

{\bf Moyenne, variance, \'ecart-type}\\
Sur TI, depuis l'\'editeur de donn\'ees (APPS 6), choisissez F5 One Var.
Indiquez la colonne (par exemple \verb|c1|), 
et si vous avez des donn\'ees avec des 
fr\'equences pr\'ecisez-le.\\
Sur Casio, menu Calc, puis Une variable, s\'electionner la liste (on peut
optionnellement utiliser des fr\'equences).\\
Sur HP, taper sur STATS (shift droit-5). Cochez ensuite les fonctions
que vous voulez calculer et le type de statistiques (population
enti\`ere ou \'echantillon, ce qui change la formule de la variance).
Pour calculer facilement des statistiques de donn\'ees avec
fr\'equences, il faut installer 
une librairie de statistiques comme Stat49Pro (disponible sur
\verb|www.hpcalc.org|), ensuite dans shift-STATS, s\'electionner Data
Manager, Add new, puis 1w/freq, entrer les 2 colonnes, puis
relancer shift-STATS, Data Manager, Describe Data.

Les calculs statistiques peuvent aussi \^etre effectu\'es en ligne
de commande depuis l'historique, avec les commandes \verb|mean/MEAN|, 
\verb|stddev/SDEV,PSDEV| (sur HP \verb|PSDEV| d\'esigne 
l'\'ecart-type d'une population), \verb|variance/VAR,PVAR|.
Ces commandes agissent sur $\Sigma$\verb|DAT| sur HP,
ou sur leur argument pour les TI.

{\bf Quartiles}\\
Sur TI/Casio, les statistiques affich\'ees par l'application de statistiques
contiennent les quartiles. 
La fonction \verb|median| permet de calculer la m\'ediane. \\
Sur HP, il n'y a pas de fonction pr\'eprogramm\'ee pour calculer
les quantiles\index{quantile}. On pourra utiliser 
\begin{center}
\verb|AXL(TRAN(|$\sum$\verb|DAT)) STO> L|
\end{center}
pour convertir en liste la matrice statistique, puis
\begin{center}
\verb|SORT(L[1]) STO> L1|\index{SORT}
\end{center}
pour trier\index{tri} par ordre croissant la premi\`ere ligne de \verb|L| (donc
la premi\`ere colonne de la matrice statistiques), on obtient alors
la m\'ediane\index{mediane@m\'ediane} en tapant~:
\begin{center}
\verb|L1[SIZE(L1)/2]|
\end{center}

{\bf Repr\'esentation graphique des donn\'ees}:
F1 plot setup de l'appli Data Editor (ou F2 de Stats/List) sur TI 
et shift-2d/3d sur HP ou menu DefnGraph Reglages sur Casio, 
choisir~:
\begin{itemize}
\item boite a moustache (TI et Casio, c'est le type box plot sur TI), 
\item histogramme. Ne pas oublier de r\'egler 
la taille des classes (par d\'efaut 1/13\`eme sur HP). 
Attention sur HP, la plage des valeurs prises
en compte dans l'histogramme d\'epend de la fen\^etre graphique
sauf si la variable ind\'ependante est une liste constitu\'ee
de 3 \'el\'ements (la variable ind\'ependante est 
le 3\`eme \'el\'ement de la liste stock\'ee dans la variable 
\verb|PPAR|): celle-ci peut-\^etre modifi\'ee par inadvertance
dans un autre mode (par exemple en mode \verb|Diffeq|).
\end{itemize}
Sur TI, il peut \^etre n\'ecessaire de d\'esactiver les graphes de
fonction lorsqu'on trace un graphe statistique (d\'ecocher
les fonctions dans l'ecran Y= ou utiliser FnOff).

Exemples~: 
\begin{itemize}
\item
concentration en CO2 relev\'ee \`a Mauna Loa (Hawai) de 1990
\`a 2005 (source www.cmdl.noaa.gov/ccgg/trends/,
cdiac.esd.ornl.gov/ftp/trends/co2/maunaloa.co2)\\
{\tiny
\begin{tabular}{|c|c|c|c|c|c|c|c|c|c|c|c|c|c|} \hline
An & J & F & M & A & M & J & J & A & S & O & N & D \\ \hline
1990 & 353.66 & 354.70 & 355.39 & 356.20 & 357.16 & 356.22 & 354.82 &
352.91 & 350.96 & 351.18 & 352.83 & 354.21  \\ \hline
1995 & 359.96 & 361.00 & 361.64 & 363.45 & 363.79 & 363.26 & 361.90 & 359.46 & 358.06 & 357.75 & 359.56 & 360.70  \\ \hline
2000 & 369.14 & 369.46 & 370.52 & 371.66 & 371.82 & 371.70 & 370.12 & 368.12 & 366.62 & 366.73 & 368.29 & 369.53  \\ \hline
2005 & 378.43 & 379.70 & 380.92 & 382.18 & 382.45 & 382.14 & 380.60 &
378.64 & 376.73 & 376.84 & 378.29 & 380.06 \\ \hline
\end{tabular}
}\\
Calculez les moyennes par mois (qui devraient faire apparaitre la
croissance de la v\'eg\'etation, puis les moyennes et \'ecart-types par
ann\'ees (augmentation de la concentration en CO2). 
\item Temp\'eratures en septembre 2006 \`a Eybens (source
  www.meteoisere.com)\\
\begin{center}
\begin{tabular}{|l|l|l|}
\hline
Date & Mini & Maxi \\ \hline
1 &	9,5& 	29,4\\ 	
2 &	11,9& 	26,0\\ 	
3 &	16,1& 	31,3\\ 	
4 &	16,4& 	32,1\\ 	
5 &	21,5& 	33,0\\ 	
6 &	18,3& 	31,5\\ 	
7 &	19,3& 	29,6\\ 	
8 &	19,1& 	22,9\\ 	
9 &	15,5& 	31,1\\ 	
10& 	16,1& 	31,0\\ 	\hline
11& 	17,8& 	30,1\\ 	
12& 	14,0& 	31,0\\ 	
13& 	14,0& 	30,0\\ 	
14& 	18,5& 	26,9\\ 	
15& 	17,3& 	20,8\\ 	
16& 	16,2& 	25,7\\ 	
17& 	16,6& 	19,0\\ 	
18& 	15,6& 	24,6\\ 	
19& 	14,5& 	25,0\\ 	
20& 	15,0& 	27,3\\ 	\hline
21& 	12,5& 	30,5\\ 	
22& 	12,7& 	24,2\\ 	
23& 	15,5& 	27,5\\ 	
24& 	17,5& 	22,0\\ 	
25& 	13,5& 	16,2\\ 	
26& 	13,8& 	18,5\\ 	
27& 	15,0& 	22,5\\ 	
28& 	10,0& 	24,5\\ 	
29& 	11,5& 	25,6\\ 	
30& 	13,3& 	26,0\\
\hline
\end{tabular} 
\end{center}
Calculer moyennes, \'ecart-types, 
repr\'esenter les maximales par une boite \`a moustache ou/et
un histogramme.
\end{itemize}

\subsection{Statistiques \`a 2 variables}
On \'etudie conjointement deux s\'eries statistiques, par exemple
pour faire apparaitre des corr\'elations entre elles, tracer
une droite de r\'egression, etc.

On utilise cette fois 2 colonnes de la matrice de donn\'ees ou
2 listes. On peut effectuer le calcul de la corr\'elation, de la covariance,
des r\'egressions de divers types (lin\'eaires, polynomiales,
exponentielles, logarithmiques, ...) et des repr\'esentations
graphiques des donn\'ees (scatterplot pour nuages de points, et
xyLine sur TI pour ligne polygonale, trac\'e de la droite
de r\'egression).

Les commandes correspondantes utilisables dans l'historique sont
\verb|OneVar,TwoVar/OneVariable,TwoVariable| 
(calculs statistiques 1 ou 2 variables sur TI et Casio), 
\verb|ShowStat| (affichage des r\'esultats statistiques sur TI), 
\verb|LinReg/LinearReg/LINFIT|, \verb|QuadReg|, \verb|QuartReg|, 
\verb|LnReg/LogReg/LOGFIT|, 
\verb|ExpReg/ExpReg/EXPFIT|, \verb|PowReg/PowerReg/PWRFIT|, 
\verb|BESTFIT| 
(s\'election du meilleur mod\'ele de r\'egression sur HP),
\verb|Logistic/LogisticReg|, ...

Exercice~: \\
Production de p\'etrole brut en milliers de barils par jour pour la Mer 
du Nord et mondiale entre 1999 et 2007
(source \verb|http://www.eia.doe.gov/emeu/ipsr/supply.html|)
\begin{center} {\small
\begin{tabular}{|r|c|c|c|c|c|c|c|c|c|} \hline
& 1999 & 2000 & 2001 & 2002 & 2003 & 2004 & 2005 & 2006 & 2007 \\ \hline
Nord & 5947 & 5799 & 5718 & 5657 & 5329 & 5229 & 4740 & 4343 & 4114 \\ \hline
Monde & 65922 & 68495 & 68101 & 67162 & 69434 & 72493 & 73737 & 73461 & 73018 \\\hline
\end{tabular} }
\end{center}
Calculer la droite de r\'egression lin\'eaire de la production
en fonction de l'ann\'ee et estimer la production en 2010. Comparer
avec d'autres mod\`eles de r\'egression.

\subsection{Autres fonctions de proba/stats/d\'enombrement.}
\begin{itemize}
\item \verb|rand/RAND| nombre al\'eatoire distribu\'e selon la loi
uniforme.
\item
\verb|randNorm| (TI) nombre al\'eatoire distribu\'e selon la loi
normale
\item \verb|nCr/COMB| nombre de combinaisons, 
\item \verb|nPr/PERM| nombre de permutations
\end{itemize}

Exercice~: simuler trente lancers de d\'es, faire la moyenne.
V\'erifier avec d'autres \'etudiants que la moyenne des lancers
suit une loi proche de la loi normale, de moyenne $\mu=3.5$ et
d'\'ecart-type celui de la loi uniforme sur \{1,...,6\} divis\'e
par $\sqrt{30}$, donc de densit\'e
\[ \frac{1}{\sigma \sqrt{2\pi}} e^{-\frac{1}{2}
  \left(\frac{(x-\mu)}{\sigma}\right)^2}, \quad
\mu=7/2, \sigma=\sqrt{14}/12\]
On pourra repr\'esenter simultan\'ement la densit\'e de probabilit\'e
et l'histogramme des moyennes.

\section{Statistiques inf\'erentielles}
L'exploitation de donn\'ees peut prendre plusieurs formes :
\begin{enumerate}
\item
L'inf\'erence statistique ou "th\'eorie de l'estimation" : connaissant un 
\'echantillon, on d\'esire \'emettre une estimation sur la population totale.
Dans ce cas, on n'a pas d'id\'ee a priori sur le param\`etre \`a estimer : 
on construira {\bf un intervalle de confiance  $I_\alpha$ au seuil $\alpha$}.
Cet intervalle $I_\alpha$ d\'epend de l'\'echantillon et contient, en 
g\'en\'eral, la valeur du param\`etre sauf dans $\alpha \%$ des cas c'est \`a
dire, il y a 
seulement $\alpha \%$ des \'echantillons qui ont un $I_\alpha$ qui ne contient
pas le param\`etre (on dit qu'on a un risque d'erreur \'egal \`a $\alpha$).
\item
Le test d'hypoth\`eses permet de savoir si il y a accord entre th\'eorie et
exp\'erience.
Dans ce cas on a une id\'ee a priori sur la valeur que doit avoir le
param\`etre : on construit le test d'hypoth\`eses (deux hypoth\`eses $H_0$ et 
$H_1$ seront en concurrence), puis on pr\'el\`eve un 
\'echantillon et on regarde si cet \'echantillon v\'erifie le test ce qui 
permet d'accepter ou de refuser l'hypoth\`ese privil\'egi\'ee $H_0$.\\
Par exemple : on veut contr\^oler qu'une fabrication correspond 
bien \`a ce qui a \'et\'e d\'ecid\'e, pour cela on fabrique un test
d'hypoth\`eses, puis on teste l'hypoth\`ese $H_0$ sur un \'echantillon de la 
production.
\item
Le test d'homog\'en\'eite permet de comparer une distribution
exp\'erimentale \`a une distribution th\'eorique.
Dans les deux cas pr\'ec\'edents, on a seulement compar\'e ou estim\'e des valeurs 
caract\'eristiques comme fr\'equences ou moyennes, Ici on compare deux 
distributions.
\end{enumerate}
Pour des \'echantillons assez grands, le th\'eor\`eme qui permet de faire
ces estimations est le plus souvent la loi des grands nombres
(th\'eor\`eme de la limite centrale). Ainsi, si on calcule
la moyenne $X$ d'un \'echantillon de $n$ variables al\'eatoires ind\'ependantes
de m\^eme loi (de moyenne $\mu$ et d'\'ecart-type $\sigma$), 
la loi de $\overline{X}$ tend
lorsque $n$ tend vers l'infini vers une loi normale de moyenne $\mu$
et d'\'ecart-type $\sigma/\sqrt{n}$. 
Si $n$ n'est pas assez grand (typiquement $n\leq 30$), 
on peut encore faire des statistiques
inf\'erentielles sur la moyenne si on sait par ailleurs que la loi commune
des variables al\'eatoires de la population est une loi normale.

Sur les HP/Casio, les fonctions sont accessibles depuis l'historique
ou pour certaines avec une interface utilisateur.
Sur les TI Voyage 200, l'application APPS->Flash Apps->Stats/List Editor
permet de faire des statistiques inf\'erentielles. Sur les TI89, il
faut t\'el\'echarger depuis le site de TI
puis installer cette application Flash (qui est gratuite). 

\subsection{Estimation d'une moyenne}
Supposons par exemple qu'on veuille calculer la moyenne de la population
au vu d'un grand \'echantillon et qu'on cherche par exemple
un intervalle de confiance centr\'e \`a 5\% sur la moyenne $\mu$ de la population.
On connait la moyenne $m$ de l'\'echantillon
qui est la valeur d'une variable al\'eatoire $X$ qu'on suppose suivre
une loi normale de moyenne $\mu$ et \'ecart-type $\sigma$ (c'est
asymptotiquement le cas lorsque $n$ tend vers l'infini). 
Si on ne connait pas $\sigma$,
lorsque l'\'echantillon est assez grand, on peut estimer $\sigma$
\`a partir de l'\'ecart-type de l'\'echantillon (qui est l'\'ecart-type de la 
population multipli\'e par $\sqrt{n/(n-1)}$, fonction \verb|SDEV| sur la 49).
On cherche ensuite la distance $C$ telle que
la probabilit\'e que $|m-\mu|>C\sigma$ soit de 5\%. Comme la loi de $X$ est
la loi normale, cela revient \`a calculer pour quelle valeur de $C$
on a l'\'equation
\[ (\int_{-\infty}^{-C} + \int_C^{+\infty})   e^{-\frac{t^2}{2}} = 0.05 
\int_{-\infty}^{+\infty} e^{-\frac{t^2}{2}} \]
calcul li\'e \`a celui de la fonction \verb|UTPN| de la HP
ou \verb|Normal Cdf| de la TI (menu F5) ou \verb|NormCD| sur Casio
\begin{eqnarray*} 
UTPN(m,v,x) &= &\frac{1}{\sqrt{2 \pi v}} \int_x^{\infty} 
\exp(-\frac{(t-m)^2}{2v}) \ dt \\
Normal Cdf(m,v,x,y) &= &\frac{1}{\sqrt{2 \pi v}} \int_{x}^{y} 
\exp(-\frac{(t-m)^2}{2v}) \ dt 
\end{eqnarray*}

Si l'\'echantillon est trop petit (typiquement
$n<30$) et si la loi suivie est normale, 
on utilise une autre statistique car
l'estimation de l'\'ecart-type de la population par $\sigma \sqrt{n/(n-1)}$
n'est plus valide. On montre que
la variable al\'eatoire
\[ T= \frac{\overline{X}-\mu}{\frac{1}{\sqrt{n(n-1)}}
\sqrt{\sum_{j=1}^n (X_j-\overline{X})^2}}\]
suit la loi de Student $S(n-1,x)$ \`a $n-1$ degr\'es de libert\'e~:
\[
S(n,x)=\frac{\Gamma\left(\frac{n+1}{2}\right)}{\Gamma\left(\frac{n}{2}\right)
\sqrt{n\* \pi }} 
(1+\frac{x^{2}}{n})^{-\frac{n+1}{2}}, \quad \mbox{ o\`u } \Gamma(x)=(x-1)!
\]
N.B.: l'abr\'eviation de cette loi est t ou T et non S (par exemple
\verb|UTPT| sur HP, \verb|Normal t Cdf| sur TI, \verb|TCD| sur Casio).

Sur les HP49, il y a une interface pour calculer des intervalles de confiance
et faire des tests d'hypoth\`eses sur la moyenne
d'une population ou de l'\'egalit\'e de moyenne de 2 populations pour
des \'echantillons grands,
on utilise Z si l'\'ecart-type est connu, et T s'il est estim\'e.
Tapez sur shift droit-STATS puis 6 ou 5, puis
choisissez le type de test/distribution. Tapez sur HELP pour plus de 
d\'etails sur le test effectu\'e.

Sur TI, lancez l'application APPS->Flash Apps->Stats/List Editor.
Les distributions statistiques et leurs inverses sont dans F5, 
les tests en F6. La notation Pdf signifie
densit\'e de probabilit\'e (probability density function), la notation
Cdf, densit\'e cumul\'ee (c'est l'int\'egrale de de la densit\'e de la
borne inf\'erieure \`a l'argument). 

\begin{center}
\begin{tabular}{|l|l|l|l|l|}
\hline
Loi & HP & TI & Casio & arguments \\ \hline
Chi 2 & \verb|UTPC| & \verb|Chi-square Cdf| & \verb|ChiCD| & degr\'es de libert\'e\\
Snedecor & \verb|UTPF| & \verb|F Cdf| & \verb|FCD| & 2 degr\'es de libert\'e (num/den)\\
Normale & \verb|UTPN| & \verb|Normal Cdf| & \verb|NormCD| &moyenne et variance \\ 
Student & \verb|UTPT| & \verb|t Cdf| & \verb|TCD| & degr\'es de libert\'e \\ \hline
\end{tabular}
\end{center}
Attention \`a la normalisation entre HP et TI, on a par exemple\\
\verb|UTPC(...,x)+Chisquare Cdf(...,-inf,x)= 1|.

Sur TI, les fonctions inverses sont fournies, sur Casio, l'inverse
est fourni pour la loi normale (\verb|InvNorm|), on peut aussi
utiliser les fonctions de tests (\verb|OneSampleZTest|,
\verb|OneSampleTTest|, \verb|ChiTest|, \verb|TwoSampleFTest|...
suivi de \verb|DispStats|), 
sur HP il faut utiliser
\verb|ROOT| (ne pas oublier de purger \verb|X| apr\`es usage).

Par exemple pour faire des statistiques sur de petits \'echantillons
suivant  la loi normale, on utilisera la fonction
\verb|UTPT| ou \verb|t Cdf|, 
dont le permier argument est le nombre de degr\'e de libert\'e et
le deuxi\`eme $x$, par exemple pour r\'esoudre \verb|UTPT|$(n-1,x)$=0.025 
pour $n=8$ on tape~:
\begin{center}
HP: \verb|ROOT('UTPT(7,X)-0.025',X,0.0)| (ne pas oublier \verb|'|)\\
TI: \verb|F5 2 Inverse t Cdf| puis \verb|0.975| puis \verb|7|
\end{center} 
en faisant de m\^eme en 0.975 (HP) ou 0.025 (TI) on obtient les
oppos\'es qui donnent un intervalle de 
confiance centr\'e \`a 5\%. 

{\bf Exercice~:}\\
On a effectu\'e 10 pes\'ees ind\'ependantes sur une balance d'une m\^eme masse 
$\mu$ et on a obtenu :\\
\verb|10.008,10.012,9.990,9.998,9.995,10.001,9.996,9.989,10.000,10.015|\\
On suppose que la pes\'ee est une variable al\'eatoire suivant la loi normale.
On cherche \`a d\'eterminer la masse $\mu$ au vu de l'\'echantillon.
Tester l'hypoth\`ese $H_0$ : $\mu=10$ et $H_1$ :  $\mu>10$ au  seuil de 5\%.
M\^eme question pour $H_1$ :  $\mu \neq 10$.
Calculer un intervalle de confiance pour $\mu$ \`a 5\%.

\subsection{Estimation d'un \'ecart type}
Lorsque la population suit une loi normale,
on peut aussi estimer l'\'ecart-type \`a partir d'un \'echantillon et
en calculer un intervalle de confiance, en utilisant la distribution
du $\chi^2$. On pose 
\[ Z^2=\frac{1}{n}\sum_{k=1}^n(X_k-\mu)^2 \]
On peut montrer que $n Z^2/\sigma^2$ suit une loi du $\chi^2$ 
ayant $n$ degr\'es de libert\'e.

Sur les HP49, les calculs se font en s'aidant
de la fonction \verb|UTPC|, qui donne la probabilit\'e qu'une variable
al\'eatoire suivant la loi du $\chi^2$ \`a $n$ degr\'es de libert\'e
soit plus grande que le 2\`eme argument de \verb|UTPC|.
Sur les TI, on utilise la fonction \verb|Chi-square Cdf|.
Sur les Casio \verb|CDF|.

{\bf Exercice~:}\\
On reprend les m\^emes donn\'ees que ci-dessus, mais
on suppose que $\mu=10$ est connu et on veut calculer un intervalle
de confiance \`a 5\% pr\`es sur la pr\'ecision de la balance.\\
Calculer la valeur $z^2$ ($n=10$) de $Z^2$ 
pour l'\'echantillon (on trouve environ 0.00007).\\
Pour $\sigma$ donn\'e, on calcule $a=n z^2/\sigma^2$ et on regarde la probabilit\'e
que $nZ^2/\sigma^2$ (qui suit la loi du $\chi^2$ \`a $n$ degr\'es
de libert\'e) soit plus grand que $a$, en calculant \verb|UTPC|$(10,a)$
(\verb|1-Chi-square Cdf| sur TI). On
dira qu'on a un intervalle de confiance \`a 5\% sur $\sigma$ si
\verb|UTPC|$(10,a)$ (ou \verb|Chi-square Cdf|) du $a$ correspondant 
est compris entre 0.975 et 0.025 (les valeurs sont invers\'ees sur TI).
On cherche donc les valeurs de $\sigma$ qui correspondent \`a un \verb|UTPC| de 
0.975 et 0.025.
On calcule $a_1$ et $a_2$ avec \verb|ROOT| sur HP. Sur les TI, on peut
directement utiliser les distributions inverses (F5->2.Inverse).
On en d\'eduit les valeurs $\sigma_1$ et $\sigma_2$
de l'intervalle de confiance \`a 5\% de $\sigma$.

\pagebreak

\section{Tableur}
L'application CellSheet est install\'ee sur les TI Voyage 200 et les TI 89
Titanium, c'est une application flash gratuite sur TI89.
Elle est install\'ee sur les Classpad 300 (version 2 et plus) et sur les HP49 
munies de la ROM \`a t\'el\'echarger \`a l'adresse~:\\
\verb|http://www-fourier.ujf-grenoble.fr/~parisse/#hpgeo|

Pour lancer le tableur, sur TI lancer APPS -> Flash Apps -> Cellsheet.
Sur HP, APPS -> Spreadsheet. Sur Casio, Menu et Spreadsheet.

Notez que sur les TI/HP, l'ex\'ecution d'un tableur non trivial
est tr\`es lente. Sur les TI,
il est recalcul\'e automatiquement par d\'efaut, mais on peut changer ce
mode (\verb|F1| puis Format).
Sur les HP, le tableur n'est pas recalcul\'e automatiquement
au lancement, il faut taper la touche de l'\'editeur de matrice 
(shift \verb|MTRW|) ou sur la touche-menu \verb|EVAL| du bandeau pour
l'\'evaluer.

La syntaxe est proche de celle des tableurs usuels sur micro-ordinateur.
La principale diff\'erence (outre l'interface) est que ces tableurs
sont formels, ils peuvent manipuler des valeurs non num\'eriques
(par exemple des fractions).
\begin{itemize}
\item Nom de cellule.\\
Un tableur est une matrice dont on num\'erote les lignes par des nombre
et les colonnes par une ou plusieurs lettres. 
Le nom d'une cellule est compos\'e d'abord
de la (des) lettre(s) (donc du num\'ero de colonne) puis du nombre.
Par exemple ligne 2, colonne 3 se note C2.
\item Valeur et formule de calcul.\\
La valeur d'une cellule peut \^etre une constante ou \^etre calcul\'ee par une 
formule pouvant faire
intervenir les autres cellules, qui sont alors d\'esign\'ees par une
r\'ef\'erence (cf. ci-dessous). Lorsqu'on modifie une cellule,
on entre soit sa valeur constante, soit une formule de calcul. 
Pour d\'esigner une formule sur les 
tableurs sur PC, on la fait pr\'ec\'eder du
signe \verb|=|, vous pouvez indiquer ce signe sur TI/Casio, 
mais sur HP, il ne faut pas mettre de signe \verb|=| (et on doit parfois
quoter la formule en l'encadrant par deux \verb|'|).
\item R\'ef\'erence relative et absolue.\\
Lorsqu'on d\'esigne une cellule depuis une formule, on peut la d\'esigner
relativement \`a la cellule dont on d\'efinit la formule de calcul, ou
de mani\`ere absolue. Cela affecte les copies de la formule dans d'autres
cellules, les r\'ef\'erences absolues copi\'ees correspondront au m\^eme
num\'ero de ligne/colonne, alors que les r\'ef\'erences relatives correspondent
au m\^eme d\'ecalage de lignes/colonnes. Une r\'ef\'erence absolue se note
en pr\'ec\'edant la (les) lettres ou/et le nombre de la cellule par le
signe \$.
\item Sur HP, pour copier/coller des cellules, il faut les s\'electionner
avec les touches BEGIN/END du clavier (BEGIN lorsque le curseur
est positionn\'e en d\'ebut de zone, END en fin de zone), puis 
taper la touche COPY puis d\'eplacer le curseur vers la destination
et taper la touche PASTE. Attention, le tableur doit avoir \'et\'e
\'evalu\'e pour que la copie adapte les noms de cellules.
\item  Plage de cellules.\\
Cela permet de faire r\'ef\'erence \`a un ensemble rectangulaire de cellules,
par exemple pour en calculer la moyenne... On indique les noms
de cellule du bord du rectangle s\'epar\'es par {\tt :} (TI) ou 
{\tt .} (HP).\\ 
Vous pouvez utiliser les menus pour calculer la somme, 
la moyenne, l'\'ecart-type, etc. d'une plage. Sur les TI, utiliser le menu F6,
sur Casio menu Action,
sur les HP, utiliser le menu du bandeau ou directement
la fonction \verb|SIGMA| dont le premier argument
est une plage de cellules et le deuxi\`eme argument soit un entier
(0 pour la somme, 1 pour la moyenne, 2 pour la variance), soit
un test (par exemple \verb|X==2| pour compter le nombre de 2 d'une
plage). Attention sur HP, il faut saisir la formule en mode exact
et veiller \`a bien encadrer la formule
par des signes \verb|'| lorsqu'on \'edite une formule 
contenant \verb|SIGMA| y compris en mode alg\'ebrique.
\item Sur les TI, vous pouvez d\'efinir un graphe statistiques
dans le tableur (F2 Plot), on indique le type de graphe
et la plage de cellules concern\'ee (syntaxe ci-dessus).
Il peut \^etre n\'ecessaire de d\'esactiver les graphes de
fonctions (d\'ecocher les fonctions dans l'ecran Y= ou utiliser FnOff).\\
Sur les Casio, menu Graph.\\
Sur les HP, vous pouvez exporter l'ensemble de la matrice
des donn\'ees (shift gauche-5) vers l'application de trac\'e
graphique, le type de trac\'e est par d\'efaut Histogram,
on peut le changer avec CHOOSE du bandeau, on peut aussi
changer le num\'ero de colonne \`a tracer.
\end{itemize}


{\bf Exercices:} 
\begin{itemize}
\item Cr\'eez une feuille de calcul pour calculer une moyenne
de semestre LMD avec 4 modules \`a 6 ECTS et 2 modules \`a 3 ECTS.
\item
Cr\'eer une feuille de calcul pour entrer 3 notes de devoir pour 6
personnes, et faites les moyennes par personne et par devoir.
\item
Cr\'eez une feuille de calcul permettant de visualiser
quelques \'etapes de l'algorithme d'Euclide de calcul de PGCD. De
m\^eme pour B\'ezout.
\end{itemize}

%\pagebreak

\section{Suites num\'eriques r\'ecurrentes}
Sur les TI, on utilise le \verb|MODE| \verb|SEQUENCE| puis \verb|Y=|. 
Cela permet de d\'efinir
une suite par sa relation de r\'ecurrence, d'avoir un tableau de valeurs
des premiers \'el\'ements, puis de tracer le graphe de la relation de
r\'ecurrence (pour les suites $u_{n+1}=f(u_n)$) et les premiers
termes de la suite (choisir dans \verb|Y=| puis \verb|F7| (Axes) puis
\verb|WEB| et \verb|AUTO| pour faire un graphe en toile d'araign\'ee). 
On peut aussi d\'efinir la suite dans
le tableur, dans l'historique ou par un programme, 
c'est n\'ecessaire si on veut travailler en mode exact.
Pour les r\'ecurrences faisant intervenir 3 ou plus termes cons\'ecutifs,
il faut introduire une ou des suite(s) auxiliaire(s) obtenue(s) en d\'ecalant
la suite initiale.

Sur les Casio, Main puis Sequence. S\'electionner ensuite l'onglet
Recurrent, puis saisir le type de r\'ecurrence (\`a 1 ou 2 termes),
puis la formule (pour saisir $a_n$ cliquer sur $n,a_n$ de la barre
de menu). Vous pouvez afficher le tableau de valeurs, ou un graphe
de la suite avec le 1er item de la barre de menu en haut \`a gauche.
La fonction {\tt rsolve} vous permet de trouver le terme g\'en\'eral
de certaines r\'ecurrences (1er item du menu, Sequence RUN, puis menu 
Calc rsolve ou directement Main). Il ne semble pas y avoir de graphe
en toile d'araign\'ee.

Sur les HP49, on peut utiliser le tableur pour calculer les premiers
termes de la suite, on peut la d\'efinir dans l'historique
ou par un programme. On doit utiliser l'application de g\'eom\'etrie pour
visualiser une suite r\'ecurrente (graphe en ``toile d'araign\'ee''
avec la fonction \verb|plot|).

Sur les TI/HP, on peut d\'efinir une suite r\'ecurrente
$u_n=f(u_{n-1})$ par la formule~:\\
\verb|Define u(n)=when(n>0,f(u(n-1)),u0)| (TI)\\
\verb|DEFINE(U(N)=IFTE(N>0,F(U(N-1)),U0)| (HP)\\
(ci-dessus, remplacer \verb|u0| par la valeur initiale).
Ceci permet le calcul exact ou approch\'e des termes de la suite
selon la valeur de \verb|u0|. Le calcul
approch\'e est la plupart du temps plus int\'eressant, mais parfois
les deux calculs peuvent servir. On peut bien entendu faire
le calcul exact directement dans le tableur.

Pour les r\'ecurrences \`a plus de 1 terme, ce type de formule est tr\`es
inefficace, car on calculerait plusieurs fois le m\^eme terme. Il faut alors
\'ecrire un petit programme ou utiliser le tableur ou (en mode
approch\'e) l'application Suites des TI/Casio.

Exercices~:
\begin{itemize}
\item Utiliser la m\'ethode de Newton pour r\'esoudre l'\'equation $f(x)=0$
\[ u_{n+1}=u_n-\frac{f(u_n)}{f'(u_n)}\]
pour $f(x)=x^5-2$. Tracer une repr\'esentation graphique de la suite.
Calculer la valeur exacte de $u_5$ pour $u_0=1$.
\item D\'efinir la suite de Fibonacci 
\[ u_{n+2}=u_n+u_{n+1}\]
en utilisant plusieurs m\'ethodes et comparer les temps de calcul.
\end{itemize}

%\pagebreak
\section{Sujets donn\'es au CAPES}
\verb|http://capes-math.org/2005/sujets_dossiers_05.htm|\\
\verb|http://capes-math.org/2005/sujets_dossiers_06.htm|\\
\verb|http://capes-math.org/2005/sujets_dossiers_07.htm|
\begin{enumerate}
\item (30 juin 06)\\
Ce tableau comporte des donn\'ees relatives au site web du capes
\[ 
\left(\begin{array}{cccc}
\mbox{Mois} & \mbox{visiteurs} & \mbox{visites} & \mbox{Mo} \\
1 & 353 & 425 & 62 \\
2 & 577 & 744 & 144 \\
3 & 834 & 1151 & 169 \\
4 & 650 & 803 & 132 \\
5 & 2498 & 3404 & 1021 \\
6 & 2324 & 3254 & 907 \\
7 & 2636 & 3482 & 589 \\
8 & 1410 & 1916 & 274 \\
9 & 2525 & 3553 & 681 \\
10 & 2897 & 4135 & 2600 \\
11 & 3861 & 5232 & 4372 \\
12 & 2452 & 3157 & 2499
\end{array}\right) 
\]
Donner pour ces 3 s\'eries de donn\'ees des tableaux des effectifs 
cumul\'es croissants. \`A quels types de questions ces tableaux
permettent-ils de r\'epondre? Calculer la moyenne du nombre de
visiteurs et du nombre de visites. Quel est le nombre moyen de visites
par visiteurs? Quelle est en moyenne la bande passante utilis\'ee par
un visiteur? Proposer une ou deux repr\'esentations graphiques
permettant de visualiser les donn\'ees du tableau.
Peut-on corr\'eler ces diff\'erentes s\'eries de donn\'ees?
\item (29 juin 06)\\
Soit $m$ un entier relatif et $E_m$ l'\'equation d'inconnues $x$
  et $y$~:
\[ 11x+13y=m\]
Si $m \in \N$, montrer qu'il y a autant de solutions de $E_m$
dans $\N \times \N$ que d'entiers dans $[5m/11,6m/13]$. \'Ecrire
un algorithme renvoyant la ou les solutions \'eventuelles de $E_m$.
Comment pourrait-on montrer que 119 est le plus grand entier
naturel tel que $E_m$ n'admet pas de solution dans $\N \times \N$?
\item (02 juillet 06)\\
Soit $ABCD$ un rectangle direct de cot\'es $a$ et $b$. On
cherche s'il existe un triangle \'equilat\'eral $APQ$ inscrit dans
ce rectangle ($P \in [BC]$ et $Q\in [CD]$).\\ 
Construction~: on construit les triangles \'equilat\'eraux $BCI$
et $CDJ$ puis $P$ l'intersection de $(AJ)$ avec $[BC]$ et $Q$
l'intersection de $(AI)$ avec $[CD]$. Faire la construction \`a
la calculatrice et animer la, en faisant apparaitre les conditions
aux limites d'existence de solution $a/b \in [\sqrt{3}/2,2/\sqrt{3}]$.
Montrer en utilisant les complexes 
que le triangle construit est \'equilat\'eral (cf. le
sujet original pour plus d'indications).
\item (08 juillet 06)\\
Soit $C$ le cercle de centre l'origine $O$ et de rayon 1.
Soit $A(1,0)$, $A'(-1,0)$ et $H\in [AA']$ d'abscisse $x$. On m\`ene la
perpendiculaire \`a $AA'$ en $H$, qui coupe $C$ en $M$ et $M'$.
Calculer en fonction de $x$ l'aire du triangle $AMM'$. Montrer que
le triangle est d'aire maximale lorsqu'il est \'equilat\'eral.
Construire la figure \`a la calculatrice et conjecturer le r\'esultat.
\item (17 juillet 06)\\
Soit $f(x)=\exp(-\cos(x))$ sur $[0,\pi]$, $C_f$ sa courbe
repr\'esentative, il s'agit de d\'eterminer le nombre de tangentes \`a
$C_f$ passant par l'origine $O$.\\
Calculer l'\'equation de la tangente en $a\in[0,\pi]$. Montrer que
$T_a$ passe par $O$ si et seulement si $a \sin(a)=1$. Soit
$\phi(x)=\sin(x)-1/x$, \'etudier les variations de $\phi'$ sur
$[0,\pi]$, puis de $\phi$. Donner le nombre de solutions puis des
valeurs approch\'ees de ces solutions, tracer les tangentes solutions et
la courbe $C_f$ sur un m\^eme graphe.
% \item (16 juillet 07)\\
% Soient $A,B,C$ trois points non align\'es, $M$ un point de $(BC)$, $M_1$
% le projet\'e orthogonal de $M$ sur $(AB)$, $M_2$ celui de $M_1$ sur
% $(AC)$, $M_3$ celui de $M_2$ sur $(BC)$, $I$ l'intersection de $(MM_1)$
% et $(M_2M_3)$. On appelle $E$ l'ensemble des points $M$ de $(BC)$
% tels que $M_3=M$. R\'ealiser la construction sur la calculatrice. Animer
% la construction pour conjecturer la nature de $E$. Soit $M'$ un autre
% point de $(BC)$, montrer que le point $I'$ d\'efini comme $I$ mais
% correspondant \`a $M'$ au lieu de $M$ est l'image de $I$ par une 
% homoth\'etie de centre $A$. En d\'eduire que lorsque $M$ d\'ecrit
% $(BC)$, $I$ d\'ecrit une droite fixe $\Delta$ passant par $A$. Montrer que
% l'intersection $J$ de $\Delta$ et $(BC)$ appartient \`a $E$ et
% construire $E$.
%% \item (3 juillet 08)\\
%% Soient $\Delta$ et $\Delta'$ deux droites du plan s\'ecantes
%% en $O$ de vecteurs directeurs $u$ et $u'$ tels que l'angle orient\'e
%% $(u,u')=\pi/4$. Soient $A \in \Delta, B \in \Delta'$ distincts de $O$
%% et tels que $OA=OB$. A tout point $M$ du plan on associe $s(M)$ la
%% somme des distances de $M$ aux droites $\Delta$ et $\Delta'$.\\
%% Soit $M$ un point du segment $[AB]$. Construire la figure
%% \`a la calculatrice en faisant apparaitre $s(M)$. Que peut-on conjecturer~?
%% Montrer le r\'esultat (on pourra consid\'erer les aires des 
%% triangles $OMA$ et $OMB$). Calculer $OA$ pour avoir
%% $s(M)=2$. Illustrer et montrer que le lieu des points tels que
%% $s(M)=2$ contient un rectangle de cot\'e $[AB]$.
\item (21 juillet 06)\\
On se propose de d\'eterminer les fonctions continument d\'erivables
sur $\R$ v\'erifiant
\[ f'(x)=f(-x)\]
En admettant que cette \'equation admet une unique solution
v\'erifiant $f(0)=1$, donner un algorithme permettant d'obtenir une
repr\'esentation graphique approch\'ee de cette solution sur
l'intervalle $[-3,3]$. Donner l'ensemble des solutions de cette \'equation
en d\'eterminant une \'equation lin\'eaire du second ordre dont $f$ est
solution.
\item (2 juillet 05)
\[ u_{n+1}=f(u_n), \quad f(x)=x-\frac{1}{4}(x^2-7), \quad u_0 \in [2,3] \]
Calculer les premiers termes de la suite, conjecturer le comportement
asymptotique. Montrer que $f$ est contractante de rapport $1/2$ sur
$[2,3]$ et que $\sqrt{7}$ est toujours compris entre deux valeurs successives
de la suite. Donnez une valeur approch\'ee de $\sqrt{7}$ \`a $10^{-4}$
pr\`es.
\item (4 juillet 05)\\
Il s'agit de d\'eterminer la date $J_1$ d'apparition simultan\'ee 
de 2 corps astronomiques ayant des p\'eriodes
de 105 et 81 jours, observ\'es respectivement les jour $J_0$ et
$J_0+6$. Soit $x,y$ le nombre de p\'eriodes effectu\'ees par les
2 corps. Montrer que $35x-27y=2$. Pr\'esentez un algorithme
de calcul du PGCD de 2 entiers, puis de recherche d'une solution
particuli\`ere de $35x-27y=1$.
Calculer $J_1$ puis $J_2$ la
date de l'apparition simultan\'ee suivante.
\item (\'epreuve exp\'erimentale Bac S)\\
On se donne 3 points sur l'hyperbole d'\'equation $y=1/x$. Ces 3
points peuvent-ils \^etre align\'es~? Dans le cas contraire, soit
$H$ l'orthocentre de ces 3 points (point de concours des hauteurs du
triangle). Que peut-on dire de $H$~?\\
Indication~: si $a$, $b$ sont les abscisses de deux de ces points 
($A$ et $B$), on pourra calculer l'\'equation de la 
m\'ediatrice de ces 2 points 
(en utilisant l'\'equation $AM^2=BM^2$), puis les coordonn\'ees du
centre du cercle circonscrit en r\'esolvant un syst\`eme de 2 \'equations
\`a 2 inconnues.
On pourra admettre que l'affixe
de l'orthocentre $H$ de 3 points dans un rep\`ere centr\'e au centre du cercle
circonscrit de ces 3 points est la somme des affixes de ces trois points.
\item (04 juillet 08)\\
Soit 
\[ F(x)=\int_0^x e^{k t^2} \ dt, \quad k \in \R\]
On s'int\'eresse aux points $M_0$ de la courbe repr\'sentative de $F$,
d'abscisse $x_0$, tels que le coefficient directeur de la tangente \`a
$C$ en $M_0$ ait pour coefficient directeur $x_0$. Montrer que cela
revient \`a r\'esoudre $\ln(x)=kx^2$. Conjecturer \`a la calculatrice
le nombre de solutions en fonction de $k$. Trouver une valeur
approch\'ee de $k>0$ telle que la solution soit unique. Montrer que
l'\'equation a une solution unique lorsque $k<0$.
\end{enumerate}

%\pagebreak

\section{G\'eom\'etrie}

\subsection{Principes}
\subsubsection{G\'eom\'etrie dynamique}
Une application de g\'eom\'etrie permet d'effectuer
une construction g\'eom\'etrique, c'est-\`a-dire d\'efinir
des objets g\'eom\'etriques (points, droites, segments, cercles,
perpendiculaire, ...) ind\'ependants ou d\'ependants des objets
pr\'ec\'edents. Par exemple, on cr\'ee trois points, puis le triangle
d\'efini par ces 3 points, les m\'edianes issues des 3 sommets
puis le point d'intersection des 3 m\'edianes. 
Les applications de g\'eom\'etrie peuvent aussi calculer un lieu
g\'eom\'etrique (courbe \`a laquelle appartient un point d\'ependant
d'un point se d\'eplacant sur une courbe) ou une enveloppe de droite
(courbe \`a laquelle est tangente une droite d\'ependant d'un point
se d\'eplacant sur une courbe).
On dit que
l'application est interactive si on peut d\'eplacer certains
objets g\'eom\'etriques soit dans le plan s'ils sont ind\'ependants
des objets pr\'ec\'edents, soit sur une courbe du plan s'ils sont
sur une courbe, le logiciel recalcule alors la nouvelle position de tous
les objets g\'eom\'etriques et affiche la figure mise \`a jour. On
peut ainsi observer si une propri\'et\'e de la figure (par exemple
concourrance de trois droites, tangence, ...) est fortuite ou
semble toujours vraie. Si le logiciel de g\'eom\'etrie interagit
avec un logiciel de calcul formel, on peut aussi prouver une
propri\'et\'e en faisant des calculs de g\'eom\'etrie analytique.

Les calculatrices ont un \'ecran un peu trop petit pour faire des 
constructions complexes, de plus le temps de calcul de la figure
devient vite trop grand pour avoir une interactivit\'e agr\'eable,
n\'eanmoins, elles permettent d'effectuer de petites constructions
et d'exp\'erimenter ce type de logiciels dont le principe de
fonctionnement est identique sur ordinateur.

\subsubsection{Repr\'esentation}
L'\'ecran d'une calculatrice ou d'un ordinateur est compos\'e de
pixels, les objets g\'eom\'etriques doivent \^etre discr\'etis\'es
pour \^etre repr\'esent\'es. Sur un \'ecran d'ordinateur, il y
a suffisamment de pixels pour que l'oeil ait l'impression de voir
de ``vrais'' objets g\'eom\'etriques, sur une calculatrice
on distingue souvent clairement la discr\'etisation. 

Il existe des algorithmes permettant
d'effectuer rapidement cette discr\'etisation pour les objets
g\'eom\'etriques courants (segments, cercles), le plus connu
est l'algorithme de Bresenham. Il faut \'egalement tenir compte
du cadrage visible \`a l'\'ecran des objets \`a repr\'esenter
(par exemple une droite sera toujours repr\'esent\'ee par un segment),
il faut donc effectuer cette troncature (en anglais clipping).
Pour plus de d\'etails, chercher le mot clef Bresenham sur Internet,
cf. par exemple\\
\verb|http://raphaello.univ-fcomte.fr/IG/Algorithme/Algorithmique.htm|

\subsubsection{Calcul}
Sur TI, il n'y a pas d'information pr\'ecise sur les structures
de donn\'ee utilis\'ee par le logiciel de g\'eom\'etrie (adapt\'e de
Cabri sur les TI). Sur Casio, les donn\'ees sont presque certainement
stock\'ees sous forme d'informations de g\'eom\'etrie analytique.
D\`es qu'un calcul est n\'ecessaire, il est
fait en mode approch\'e, on ne peut donc que conjecturer mais on ne peut 
pas prouver un r\'esultat sur TI/Casio.

Le logiciel de g\'eom\'etrie interactive de la HP49/50
utilise une repr\'esentation analytique (approch\'ee ou exacte) des objets
manipul\'es (par exemple deux nombres complexes approch\'es pour
un segment de droite, ou un complexe et un r\'eel approch\'es pour
un cercle) correspondant \`a un rep\`ere orthonorm\'e (qui n'est pas
forc\'ement affich\'e). Les liens entre un objet et les objets pr\'ec\'edents
se font en utilisant des fonctions \`a un ou plusieurs arguments
comme par exemple le centre (d'un cercle), l'intersection (de 2
objets),... qui sont traduits par des \'equations en g\'eom\'etrie
analytique. La r\'esolution de ces \'equations se fait en fonction du
mode exact ou approch\'e, elle est naturellement plus lente dans le
premier cas mais permet de prouver un r\'esultat.

La cr\'eation d'un objet d\'ependant d'objets pr\'ec\'edents
se fait de mani\`ere explicite sur HP
(en utilisant
une fonction pour cr\'eer l'objet) ou implicite sur TI/Casio (l'interface du
logiciel traduit en interne des mouvements de curseur ou appui sur
entree).

Pour calculer un lieu, la HP utilise
une repr\'esentation param\'etrique rationnelle de la courbe sur
laquelle se d\'eplace le point ind\'ependant, puis elle calcule en mode
exact les coordonn\'ees du point d\'ependant en fonction du
param\'etre $t$ et effectue une repr\'esentation de la courbe
param\'etrique obtenue. Il n'est pas possible de calculer un lieu
et de faire bouger un point sur une m\^eme figure.
Pour une enveloppe, on calcule l'\'equation
de la droite d\'ependante en fonction de $t$
\[ a(t)x+b(t)y+c(t)= 0 \]
L'enveloppe est l'ensemble des points $M(t)(x(t),y(t))$ qui sont sur
la droite, mais aussi tels que $M'(t)$ est parall\`ele \`a la droite
\[ a(t)x(t)+b(t)y(t)+c(t)= 0, \quad a(t) x'(t) + b y'(t) = 0\] 
En d\'erivant la premi\`ere \'equation par rapport \`a $t$ 
et en soustrayant la seconde, on obtient
\[ ax+by+c= 0, \quad a'x + b'y+c'= 0 \]
d'o\`u l'on d\'eduit $x$ et $y$ en fonction de $t$ (courbe
param\'etrique).

Enfin pour calculer l'\'equation cart\'esienne d'une courbe param\'etrique
rationnelle $x=n(t)/d(t), y=N(t)/D(t)$,
la HP calcule le r\'esultant par rapport \`a $t$ de $n(t)-xd(t)$ et 
$N(t)-yD(t)$.

\subsection{Utilisation}
\subsubsection{Par calculatrice}
Sur les TI, il existe 2 logiciels de g\'eom\'etrie, le plus utilis\'e
en France est celui adapt\'e de Cabri, 
on le lance depuis les applications Flash
(application gratuite \`a installer au pr\'ealable sur les TI89).
Sur les HP49/50, il faut disposer de la ROM modifi\'ee \`a
t\'el\'echarger sur 
\verb|www-fourier.ujf-grenoble.fr/~parisse/capes.html|,
puis on lance depuis Apps la Geometrie.
\begin{itemize}
\item Sur les TI avec Cabri
\begin{itemize}
\item Pour construire un objet sur TI, on utilise les menus pour
s\'electionner le type d'objet puis avec le curseur et la touche
Entree on cr\'ee un ou plusieurs objets libres ou on indique les objets
dont l'objet \`a construire d\'epend. 
\item Pour faire bouger un point d'une figure,
on s\'electionne le pointeur dans les menus, on s'approche du point,
on appuie simultan\'ement sur alpha ou LOCK et les touches de d\'eplacement.
\item On peut faire afficher diverses informations num\'eriques approch\'ees
sur les objets g\'eom\'etriques (distance, angle, etc.) mais 
il n'y a pas d'interaction avec le calcul formel.
\item On peut enregistrer diverses informations num\'eriques de la figure
lorsqu'on fait bouger un point pour une analyse ult\'erieure.
\item Lorsqu'une op\'eration n\'ecessite une entr\'ee num\'erique
(par exemple donner l'angle d'une rotation), on doit cr\'eer
une repr\'esentation graphique de cet objet auparavant (menu F7,
6. Numerical Edit). 
\item Il n'est pas possible
de repr\'esenter des objets non g\'eom\'etriques comme les graphes de 
fonction. 
\item On peut animer une figure
\item On peut d\'efinir des macros pour les constructions courantes.
\end{itemize}

\item Sur les Casio
\begin{itemize}
\item cliquer sur Main, puis application Geom\'etrie
\item pour construire des objets, s\'electionnez le type d'objet (par
exemple point ou segment de droite) puis cliquez une ou plusieurs
fois sur l'\'ecran tactile (par exemple aux 2 extr\'emit\'es pour
un segment). Pour construire un objet d\'ependant (par exemple
m\'ediatrice), s\'electionner avec le pointeur le segment
puis menu Trac\'e construction. Cliquez loin de tout objet
g\'eom\'etrique pour enlever les s\'elections.
\item pour faire bouger la figure, s\'electionner un point
ind\'ependant et bougez-le avec le stylet. La figure est
recalcul\'ee lorsque vous relevez le stylet.
\item On peut afficher diverses mesures relatives \`a la figure
en cliquant sur le dernier item de la barre d'icones puis en
s\'electionnant un objet g\'eom\'trique. Il ne semble par
contre pas possible de faire afficher cette mesure directement
sur la figure.
\item On peut tracer le graphe d'une fonction sur une figure.
\item On peut animer une figure, et exporter des mesures
pour une \'etude num\'erique. Cf. le menu Edit.
\item On peut sp\'ecifier des contraintes sur la Casio
\item Il n'y a pas de constructeur de lieu g\'eom\'etrique, il faut
utiliser le mode trace d'une animation
\end{itemize}

\item
Sur les HP,
\begin{itemize}
\item les commandes de cr\'eation d'objet sont ``explicites'',
la plupart du temps elles se font par l'interm\'ediaire d'une ligne
de commande qui est pr\'eremplie par l'utilisation des menus. Utiliser
le menu Ajouter (F2) pour cr\'eer un nouvel objet.
\item les objets ont tous un nom de variable, et peuvent
avoir un label affich\'e \`a l'\'ecran (on reprend alors le nom
de variable) ou non. Le format d'un nom d'objet est compos\'e du
label affich\'e \`a l'\'ecran et du nom de variable s\'epar\'e par :,
par exemple \verb|A:A:| pour un objet nomm\'e \verb|A| et
affich\'e \verb|A|, ou \verb|::A| pour un objet nomm\'e \verb|A|
mais sans l\'egende \`a l'\'ecran.
\item l'application peut utiliser des coordonn\'ees exactes, mais
si on veut d\'eplacer un point et faire bouger la figure,
il faut travailler en mode approch\'e. Pour d\'eplacer un point,
on utilise le menu Deplacer et on indique le nom du point. On peut
aussi \'editer globalement la figure (Edit Figure), une figure
se pr\'esente comme une matrice dont la premi\`ere colonne est la
colonne des commandes de cr\'eation des objets, la deuxi\`eme colonne
est le nom de l'objet (comme expliqu\'e ci-dessus).
\item on peut tracer des objets non g\'eom\'etriques, par
exemple une courbe repr\'esentative de fonction, puis ensuite
une tangente en un point, etc.
\item on a acc\`es
depuis l'historique \`a toutes les informations analytiques sur tous 
les objets construits, on passe en argument d'une commande les
noms de variables des objets g\'eom\'etriques,
par exemple \verb|abscisse(A)| (les commandes de g\'eom\'etrie
sont affich\'ees dans le bandeau si on tape la commande
\verb|GEO(0)|). 
\item on peut afficher une information analytique dans la figure
(Legende), on peut enregistrer des valeurs de la figure lorsqu'on
fait bouger un point pour une analyse ult\'erieure
\item on peut d\'efinir des objets g\'eom\'etriques \`a l'aide
de fonctions (d\'efinies dans l'historique comme une fonction
normale).
\item on ne peut pas animer une figure. Par contre on peut calculer
un lieu ou une enveloppe et en d\'eduire l'\'equation.
\end{itemize}
\end{itemize}

\subsubsection{Exemple}
Nous allons construire un triangle d\'efini par
trois points et son cercle circonscrit. 
\begin{itemize}

\item Sur TI~:
\begin{enumerate}
\item Lancer Flash APPS puis Cabri
\item F2, Point, d\'eplacer le curseur en 3 endroits et appuyer sur
  Entree.
\item F3, Triangle, appuyer sur Entree en chacun des 3 points trac\'es
pr\'ec\'edemment
\item F4, Perpendicular Bisector, appuyer sur entree sur chaque
cot\'e lorsque le curseur est pr\`es du milieu d'un cot\'e et
qu'apparait perpendicular bissector of this side of the triangle.
\item F4, Cercle, appuyer sur entree lorsque le curseur
est suffisamment proche de l'intersection et qu'apparait point
at this intersection. D\'eplacer le curseur jusqu'\`a ce qu'il
soit proche d'un des sommets et qu'apparaisse this radius point,
taper \`a nouveau entree.
\item F1, Pointer, mettre le curseur pr\`es du point \`a d\'eplacer
puis appuyer simultan\'ement sur les fl\'eches de d\'eplacement
et sur la touche alpha ou lock.
\item F5, permet d'avoir certaines \'equations, menus, distances,...
\end{enumerate}

\item Sur Casio~:
\begin{enumerate}
\item cliquer Menu puis G\'eom\'etrie, puis menu Fich, Nouveau
\item menu Trace->Forme sp\'eciale->Triangle
\item cliquer loin du triangle, puis s\'electionnez un des cot\'es,
puis Trace, Construire, bissectrice perpendiculaire
\item recommencez pour les 2 autres cot\'es
\item s\'electionnez 2 m\'ediatrices puis Trace, construire, intersection
\item trace, cercle, puis cliquez sur le centre et un des sommets du
triangle
\item pointeur, cliquer sur un des sommets puis d\'eplacez-le
\item cliquer sur la fl\`eche \`a droite de la barre d'icone,
s\'electionnez le cercle puis affichez son rayon, son \'equation, puis
s\'electionnez le centre, etc.
\end{enumerate}

\item Sur HP
\begin{enumerate}
\item Touche APPS, puis G\'eom\'etrie.
\item Si votre calculatrice est en anglais,
tapez \verb|F6| (Config) et s\'electionnez \verb|Francais| 
(si c'est \verb|English| qui apparait, tapez sur la touche \verb|ON|
pour annuler)
\item Vous pouvez supprimer les axes en tapant \verb|F6| (Config)
puis en s\'electionnant \verb|Enlever axes|
\item Tapez \verb|F1| (Fich.) puis choisissez \verb|Nouveau|,
donnez un nom de variable pour votre construction, par exemple
\verb|CIRCON|
\item Tapez \verb|F2| (Ajouter) puis choisissez \verb|Points|
puis \verb|aleatoire|, donnez alors 3 noms de points, par exemple
\verb|A B C| (le clavier est en mode alphab\'etique). 
Vous avez construit 3 points al\'eaoires.
\item Tapez \verb|F2| (Ajouter) puis choisissez \verb|Lignes|
puis \verb|mediatrice|, vous voyez apparaitre\\
\verb|mediatrice()|\\
le curseur se trouve apr\`es la parenth\`ese ouvrante,
donnez alors le nom des 2 points A et B
s\'epar\'es par une virgule, vous devez avoir la ligne\\
\verb|mediatrice(A,B)|\\
tapez sur \verb|ENTER|, donnez ensuite
le label de la m\'ediatrice (c'est le nom qui apparaitra \`a l'\'ecran) et
le nom de variable de la m\'ediatrice, par exemple \verb|:c:c|.
Vous pouvez aussi ne pas afficher de label pour la m\'ediatrice
en tapant \verb|::c|. Par contre vous devez toujours donner un nom
de variable \`a la m\'ediatrice.
\item Recommencez pour cr\'eer la m\'ediatrice \verb|b| des points \verb|A| et 
\verb|C| et la m\'ediatrice \verb|a| des points \verb|B| et \verb|C|. 
\item Tapez \`a nouveau \verb|F2|, s\'electionnez \verb|Points|
puis \verb|inter|, indiquez en argument les noms de variable
des deux m\'ediatrices, par exemple \verb|a| et \verb|b|, donnez
un label et un nom de variable pour le point d'intersection,
par exemple \verb|:O:O|.
\item \`A nouveau \verb|F2|, puis \verb|Courbes|, puis \verb|cercle|,
donnez en argument le centre \verb|O| et l'un des 3 points, par
exemple \verb|A|, donnez un nom de label et de variable au cercle
par exemple \verb|:S:S|. Notez qu'on pouvait construire directement
un cercle circonscrit \`a partir de 3 points (en choisissant
\verb|circonscrit| au lieu de \verb|cercle|).
\item Tapez sur \verb|F1| puis \verb|Sauver| pour sauver
la figure \verb|CIRCON|
\item Pour faire varier un des points et observer comment
la figure se modifie, tapez \verb|F4| (D\'eplacer), s\'electionnez
\verb|A|, \verb|B| ou \verb|C| et faites bouger le point avec 
les fl\`eches (vous pouvez pr\'ec\'eder les fl\`eches par
les touches shift pour d\'eplacer plus rapidement ou alpha moins
rapidement). 
Tapez sur \verb|Ok|
pour accepter la nouvelle position ou sur \verb|Annul| pour
annuler le d\'eplacement.
\item Pour quitter, tapez \verb|F1| puis \verb|Quitter|.
\item Vous pouvez maintenant taper des commandes de g\'eom\'etrie
analytique, comme par exemple \verb|affixe(A)|, \verb|rayon(S)|
directement au clavier (taper deux fois sur alpha puis sur
la touche shift gauche puis sur alpha pour bloquer le clavier
en mode alphab\'etique minuscule, taper \`a nouveau sur
shift gauche alpha pour revenir en mode majuscule),
ou en utilisant le sous-menu \verb|Mesure| du bandeau des commandes
de g\'eom\'etrie (taper \verb|GEO(0)| pour faire apparaitre ce menu).
\item Pour revoir cette figure ult\'erieurement, lancez
\`a nouveau l'application, puis si n\'ecessaire \verb|F1| et charger
\verb|CIRCON|.
% c'est bien ca? oui
\item Vous pouvez aussi modifier la construction dans son ensemble
en l'\'editant soit depuis le menu F4 (D\'eplacer), 
sous-menu \verb|Edit figure|,
soit en dehors de l'application de g\'eom\'etrie
en \'editant la variable \verb|CIRCON|. Dans les deux cas, 
vous \'editez une liste d'objets
g\'eom\'etriques, chaque objet g\'eom\'etrique \'etant constitu\'e 
d'une formule de calcul et d'un label/nom de variable.
\end{enumerate}

\end{itemize}

\subsubsection{Exercices}
\begin{enumerate}
\item Faites la m\^eme construction pour le centre de gravit\'e ou/et 
le cercle inscrit, l'orthocentre d'un triangle.
\item Th\'eor\`eme de Napol\'eon\\
Soit ABC un triangle quelconque, on construit sur ses
cot\'es trois triangles \'equilat\'eraux, il s'agit de caract\'eriser
le triangle form\'e par les 3 centres des triangles \'equilat\'eraux.
\item
On se donne un point $M$ sur un cercle passant par $A$, soit
$MAPN$ le carr\'e direct de cot\'e $MA$. Quel est le lieu de $N$
lorsque $M$ parcourt le cercle?
\item
On se donne un point $F$ et un cercle $C$ de centre $O$ et de rayon $r$.
Soit $M$ un point sur le cercle $C$, $N$ la m\'ediatrice du segment  $FM$. Quelle
est l'enveloppe des m\'ediatrices $N$ lorsque $M$ parcourt le cercle $C$?
\item
On se donne un carr\'e ABCD, un point $E$ parcourant le segment $BC$.
On construit le cercle inscrit au triangle $ABE$ et le cercle
tangent aux cot\'es $EA$, $EC$, $CD$. Il s'agit de savoir pour
quelle position de $E$ les deux cercles ont m\^eme rayon, et pour
quelle position de $E$ les deux cercles sont tangents \`a la droite
$EA$ au m\^eme point.
\ifpdf
\includegraphics[width=\textwidth]{capes}
\else
%file session0.tex
% Generated by xcas
\noindent
\begin{center}
\psset{unit=5.0000cm}
\psset{linewidth=.5pt}
\psset{arrowsize=2pt 4}
\pspicture*(-0.1000,-0.1000)(1.1000,1.1000)
\psset{linecolor=black}
\psline[linestyle=dashed]{->}(-0.1000,0.0000)(1.1000,0.0000)
\psline[linestyle=dashed]{->}(0.0000,-0.1000)(0.0000,1.1000)
\psset{linecolor=black}
\psdots[dotstyle=*](0.0000,0.0000)
\uput{0.0100}[45.0000](0.0000,0.0000){A}
\psset{linecolor=black}
\psdots[dotstyle=*](1.0000,0.0000)
\uput{0.0100}[45.0000](1.0000,0.0000){B}
\psset{linecolor=black}
\psdots[dotstyle=*](1.0000,1.0000)
\uput{0.0100}[45.0000](1.0000,1.0000){C}
\psset{linecolor=black}
\psdots[dotstyle=*](1.0000,0.3000)
\uput{0.0100}[45.0000](1.0000,0.3000){E}
\psset{linecolor=black}
\psdots[dotstyle=*](0.0000,1.0000)
\uput{0.0100}[45.0000](0.0000,1.0000){D}
\psset{linecolor=black}
\psline[fillcolor=black](     0.000000,     0.000000)(     1.000000,     0.000000)(     1.000000,     1.000000)(     0.000000,     1.000000)(     0.000000,     0.000000)
\psset{linecolor=black}
\psline(0.0000,0.0000)(1.0000,0.3000)
\psset{linecolor=black}
\psarc[fillcolor=black](0.8720,0.1280){0.1280}{0.0000}{360.0000}
\uput{0.0100}[45.0000](0.8720,0.1280){C1}
\psset{linecolor=black}
\psdots[dotstyle=*](0.8720,0.1280)
\uput{0.0100}[45.0000](0.8720,0.1280){O1}
\psset{linecolor=black}
\psdots[dotstyle=*](0.5986,0.5986)
\uput{0.0100}[45.0000](0.5986,0.5986){O2}
\psset{linecolor=black}
\psarc[fillcolor=black](0.5986,0.5986){0.4014}{0.0000}{360.0000}
\uput{0.0100}[45.0000](0.5986,0.5986){C2}
\endpspicture 
\end{center}
\fi
\item Th\'eor\`eme de Morley\\
Soit $ABC$ un triangle, on trace les trissectrices des angles en
chaque sommet, puis on appelle $M$, $N$ et $O$ les points
d'intersection de la premi\`ere trissectrice issue d'un sommet
avec la deuxi\`eme trissectrice issue du sommet suivant. Il
s'agit de caract\'eriser le triangle $MNO$.
\end{enumerate}



\pagebreak

\section{Syst\`eme.}
La m\'emoire des calculatrices est compos\'ee de ROM (read only memory,
en principe non modifiable) et de RAM (random access memory, perdue
en cas de perte d'alimentation \'electrique). Sur les
mod\`eles TI89/V200/HP49/49+, la ROM est de la rom flash ce qui permet
de mettre \`a jour le syst\`eme de la calculatrice d'une part et
de conserver des donn\'ees ou applications d'autre part.
Sur certains mod\`eles, on peut ajouter des extensions m\'emoire (cartes
SD pour HP49+). On peut connecter les calculatrices de m\^eme mod\`ele
entre elles (cable) ou avec un ordinateur (cable).
Ceci permet d'ajouter des applications t\'el\'echarg\'ees sur Internet
ou simplement d'\'echanger des donn\'ees ou des programmes.

Sur les 49, la m\'emoire (RAM et ROM flash utilisateur) est divis\'ee en port
0 (RAM), 1 (512K) et 2 (1M, flash rom).
La gestion des variables se fait par l'application
FILES ou directement avec STO/RCL en indiquant le num\'ero de
port ou un nom de variable ``tagg\'e'' par le num\'ero de port. 
Les applications sont appel\'ees librairies, elles ont un num\'ero
de librairie et 
s'installent en stockant le contenu de la variable charg\'ee dans
l'un des 3 ports. Une fois la librairie install\'ee, on la configure
manuellement avec la commande ATTACH(num\'ero) ou en tapant ON-F3
(on perd alors l'historique).
Le port 0 (la RAM) permet d'organiser ses donn\'ees avec une
arborescence compl\`ete (r\'epertoires, sous-r\'epertoires). Les commandes
correspondantes sont CRDIR/PURGE (r\'epertoire vide uniquement).
L'\'echange de donn\'ees se fait par le kit de connexion sur PC ou avec
sx/rx sous Linux (package lsxrx), sur la calculatrice APPS puis I/O 
ou directement avec les commandes XRECV/XSEND
(protocole X-modem) ou RECN/RECV/SEND (protocole
Kermit).

Sur les TI, il y a 2 zones de m\'emoires, la RAM qui contient
un syst\`eme de r\'epertoire restreint \`a un niveau et la zone d'archivage.
Les commandes de cr\'eation de r\'epertoire sont NewFold, GetFold, DelFold.
On peut acc\'eder \`a une variable d'un r\'epertoire par un chemin
en utilisant $\backslash$ comme s\'eparateur. Les commandes
d'archivage/d\'esarchivage sont Archive et Unarchiv. La gestion et les \'echanges
de donn\'ee se font avec le kit de connexion, 
ou avec le programme tilp sous Linux, et l'application VAR-LINK
sur la calculatrice.

Les applications flash TI peuvent atteindre une taille importante,
et on est vite \`a court de place sur les 89 par exemple. 
Sur les HP, les librairies ne
peuvent d\'epasser 128K et occupent souvent beaucoup moins de place.
On peut donc en installer beaucoup, au prix souvent d'une interface
moins conviviale que sur TI.

Adresses web: \verb|www.hpcalc.org| et \verb|www.ticalc.org|.

Exercices~: transmettre une variable entre 2 calculatrices.
R\'ecup\'erer et installer une application flash sur TI (par exemple Cabri) 
ou une librairie sur HP (par exemple stat49pro).
\pagebreak

\section{Programmation}
L'essentiel de cette section est adapt\'e d'un document de Ren\'ee De Graeve\\
\verb|http://www-fourier.ujf-grenoble.fr/~degraeve/grouge.ltx|\\
Le document original traite de nombreuses autres calculatrices.

\subsection{Edition, correction, ex\'ecution}
\subsubsection{Comment \'editer et sauver un programme}
\begin{enumerate}
% \item Traduction HP48 HP49G mode RPN\\
% La {\tt HP49G} peut travailler selon deux modes : le mode RPN qui est la 
% notation polonaise inverse et o\`u  les diff\'erents r\'esultats sont mis sur une 
% pile, ou le mode alg\'ebrique qui est la notation habituelle (voir \ref{sec:49alg}).\\
% Un programme s'\'ecrit dans la ligne de commande entre les d\'elimiteurs ${\tt \ll \; \gg}$\\ 
% Pour le  sauver, il suffit de faire suivre le dernier $\gg$ par :
%  $${\tt \ 'NOMDUPROGRAMME'\ STO\triangleright}$$

\item Traduction HP49G mode Alg\'ebrique \label{sec:49alg} \\
Un programme s'\'ecrit dans la ligne de commande entre les d\'elimiteurs ${\tt \ll \; \gg}$\\ 
Pour le  sauver, il suffit de faire suivre le dernier $\gg$ par :
 $${\tt STO\triangleright \ NOMDUPROGRAMME}$$


\item Traduction TI89, 92\\
Pour avoir acc\`es \`a l'\'editeur, on appuie sur la touche {\tt APPS} puis {\tt 7 (Program Editor)} puis {\tt 3 (New)} et {\tt ENTER}.\\
On vous demande, dans {\tt Type}, si on veut \'ecrire une fonction 
(qui renvoie une valeur 
gr\^ace \`a {\tt Return}) ou un programme (appuyer {\tt ->} puis faites votre
 choix {\tt 1} ou  {\tt 2}) puis {\tt ENTER} pour valider votre choix.
On \'ecrit ensuite le nom du programme dans la case {\tt Variable} puis 
{\tt ENTER} pour valider le nom, puis {\tt ENTER} pour entrer dans 
l'\'editeur.\\
Vous \^etes pr\^et \`a taper votre programme.
Vous pouvez ajouter \'eventuellement les noms des param\`etres dans la 
premi\`ere ligne (en d\'epla\c{c}ant le curseur avec les fl\`eches).\\
Les touches {\tt F1 F2 F3 F4} vous facilitent l'\'edition.\\
En appuyant sur ${\tt \blacklozenge\ Q\ (HOME)}$ vous sauvez votre programme 
et vous revenez \`a l'\'ecran {\tt HOME}.

\end{enumerate}

\subsubsection{Comment corriger un programme} 
\begin{enumerate}
% \item Traduction HP48 HP49G mode RPN\\
% Si la syntaxe est mauvaise, la machine vous met automatiquement le curseur l\`a
% o\`u le compilateur a d\'etect\'e l'erreur. Il suffit donc de corriger!!!\\
% Si l'erreur est d\'etect\'ee au cours de l'ex\'ecution du programme il faut taper :\\
% {\tt 'NOMDUPROGRAMME'  VISIT}\index{VISIT} qui \'edite votre programme.\\
%  On corrige, puis 
% {\tt ENTER}  sauve votre programme corrig\'e. 
% Si vous ne voyez pas quelle peut \^etre la source d'une erreur,
% vous pouvez utiliser le d\'ebuggueur : \\
% - sur la {\tt HP49G} taper {\tt shift-bleu CAT (PRG)} et s\'el\'ectionner le menu
% {\tt 14 RUN \& DEBUG} puis {\tt ENTER}.\\
%  - sur la {\tt HP48G} taper {\tt PRG} puis {\tt NXT} puis ouvrir le 
% r\'ep\'ertoire {\tt RUN} du bandeau.\\ 
% Le bandeau ${\tt DEBUG\ SST\ SST\downarrow\ NEXT\ HALT2\ KILL}$ s'affiche.\\
%  {\tt DEBUG} lance le programme et ex\'ecute la premi\`ere instruction
% puis, {\tt NEXT} affiche l'\'etape suivante sans l'ex\'ecuter et
% {\tt SST} l'ex\'ecute  ({\tt NEXT  SST} ex\'ecute le programme au pas \`a pas).\\ 
% Si l'on veut faire l'ex\'ecution du programme en pas \`a pas \`a partir du milieu du programme
% il faut mettre un point d'arr\^et \`a cet endroit en ins\'erant la commande 
% {\tt HALT} dans le programme. On lance alors le programme qui s'arr\^ete au niveau du {\tt HALT}, on fait l'ex\'ecution pas \`a pas comme pr\'ec\'edemment
% avec  {\tt NEXT} {\tt SST} etc..\\
% On utilise {\tt KILL} pour arr\^eter le debugger quand on a compris o\`u etait l'erreur et {\tt Shift-rouge ON (CONT)} pour continuer l'ex\'ecution du programme. 

\item Traduction HP49G mode Alg\'ebrique\\
Si la syntaxe est mauvaise, la machine vous met automatiquement le curseur l\`a
o\`u le compilateur a d\'etect\'e l'erreur. Il suffit donc de corriger! \\
Si l'erreur est d\'etect\'ee au cours de l'ex\'ecution du programme il
faut taper :
\begin{center}
{\tt VISIT('NOMDUPROGRAMME')}\index{VISIT} 
\end{center}
pour \'editer votre programme.
On corrige, puis  {\tt ENTER}  sauve votre programme corrig\'e. 


\item Traduction TI89 92\\
Si la syntaxe est mauvaise, la machine vous demande  si vous voulez aller l\`a 
o\`u se trouve l'erreur ({\tt ENTER=GOTO}) ou si vous voulez arr\^eter 
({\tt ESC=CANCEL}). Vous r\'epondez : {\tt ENTER}. 
Vous \^etes alors dans l'\'editeur pr\^et \`a corriger votre erreur.
Puis  ${\tt \blacklozenge\ Q\ (HOME)}$ vous fait revenir \`a l'\'ecran 
{\tt HOME} en sauvant votre correction.\\
Si l'erreur est d\'etect\'ee au cours de l'ex\'ecution du programme 
il faut taper :
\begin{center}
 {\tt APPS} puis {\tt 7 (Program Editor)} puis {\tt 1 (Current)} et
 {\tt ENTER}
\end{center}
qui \'edite votre programme.
\end{enumerate}

\subsubsection{Comment ex\'ecuter un programme}

\begin{enumerate}
% \item Traduction HP48 HP49G mode RPN\\
% Si le programme n'a pas de param\`etres, il suffit de taper son nom dans la ligne de commande ou d'utiliser le menu {\tt VAR}.\\
% S'il y a des param\`etres, on met  les valeurs des param\`etres sur la pile puis on
%  tape le nom du programme.\\
% Exemple :\\
% {\tt 45 75 PGCD} 

\item Traduction HP49G mode Alg\'ebrique\\
Si le programme n'a pas de param\`etres, il suffit de taper son nom dans la ligne de commande ou d'utiliser le menu {\tt VAR}.
S'il y a des param\`etres, on fait suivre le nom du programme de parenth\`eses
dans lesquelles on met  les valeurs des param\`etres s\'epar\'ees par 
une virgule.\\
Exemple : {\tt PGCD(45,75)}

\item Traduction TI89 92\\
Si le programme n'a pas de param\`etres, il suffit de taper son nom dans la ligne de commande.
S'il y a des param\`etres, on fait suivre le nom du programme de parenth\`eses
dans lesquelles on met  les valeurs des param\`etres s\'epar\'ees par une virgule.\\
Exemple : {\tt pgcd(45,75)}

\end{enumerate}

\subsubsection{Comment am\'eliorer puis  sauver sous un autre nom un programme}

\begin{enumerate}
% \item Traduction HP48 HP49G mode RPN\\
% On tape :\\
%    {\tt 'NOMDUPROGRAMME' RCL} puis {\tt edit} du bandeau.\\
% On fait les am\'eliorations et on fait suivre le dernier $\gg$ par :
%  $${\tt 'NOUVEAUNOM'\ STO\triangleright}$$

\item Traduction HP49G mode Alg\'ebrique
\begin{center}
   {\tt RCL('NOMDUPROGRAMME')} puis {\tt EDIT} du bandeau.
\end{center}
On fait les am\'eliorations et on fait suivre le dernier $\gg$ par :
 $${\tt STO\triangleright \ NOUVEAUNOM}$$

\item Traduction TI89 92\\
Vous ouvrez l'\'editeur avec le programme que vous voulez 
am\'eliorer puis  sauver sous un autre nom :\\
 {\tt APPS} puis {\tt 7 (Program Editor)} puis 
{\tt 2 (Open)} puis mettre le nom du programme \`a modifier dans  
{\tt Variable} (appuyer sur {\tt ->} pour avoir acc\`es \`a tous les
 noms de vos programmes, s\'electionner celui \`a modifier avec les 
fl\`eches et {\tt ENTER}),  puis {\tt ENTER}.\\
Ensuite, il suffit de taper sur  ${\tt \blacklozenge\ S}$ pour sauver
cet \'editeur sous un autre nom : {\tt SAVE COPY AS} (on met le
nouveau nom dans {\tt Variable}).\\
Vous pouvez faire vos modifications puis   ${\tt \blacklozenge\ Q\ (HOME)}$
 vous sauve votre programme modifi\'e sous le nouveau nom, 
et vous revenez \`a l'\'ecran {\tt HOME}.
\end{enumerate}

\subsection{Les diff\'erentes instructions}
\subsubsection{Les commentaires}
Il faut prendre l'habitude de commenter les programmes. 
En algorithmique un commentaire commence par 
{\tt // } et se termine par un passage \`a la ligne.

\begin{enumerate}
\item Traduction HP49G \\
Le commentaire commence par {\tt @} et se termine par un passage 
\`a la ligne ou est entour\'e de deux {\tt @}.\\
Le caract\`ere {\tt @} est
obtenu en tapant {\tt shift-rouge ENTER}\\ 
Attention!!! le compilateur efface les commentaires... donc pour garder vos 
commentaires, il faut \'ecrire votre programme sous la forme d'un texte qu'il 
faut ensuite compiler avec ${\tt STR\rightarrow}$ ce qui complique un peu...

\item Traduction TI89 92 \\
Le commentaire commence par
{\tt {\copyright}} (F2 9) et se termine par un passage \`a la ligne.
\end{enumerate}

\subsubsection{Les variables}
Ce sont les endroits o\`u l'on peut stocker des valeurs, des nombres, 
des expressions. Le nom d'une variable est limit\'e \`a  8
caract\`eres sur TI, les HP font la diff\'erence entre majuscules et 
minuscules mais pas les TI.

Les variables peuvent \^etre globales (encore d\'efinies apr\`es
l'ex\'ecution du programme) ou locales (elles n'intef\'erent
pas avec les variables globales).
\begin{itemize}
\item
Sur les {\tt HP49G},
les  variables locales sont d\'eclar\'ees et initialis\'ees (initialisation
 obligatoire!) gr\^ace \`a \  ${\tt \ \rightarrow}$ {\tt (shift-rouge 0)}
Pour la  {\tt HP49G mode Alg\'ebrique}  chaque d\'eclaration de
variable doit \^etre suivie par un sous programme 
(d\'elimiteurs ${\tt \ll \gg}$) en \'ecrivant :
$${\tt \ll 1\ \rightarrow\  A \ll 2\ \rightarrow\ B \ll 
\mbox{corps du  programme} \gg \gg \gg}$$
La fl\`eche doit \^etre entour\'ee d'espaces, ces espaces sont mis automatiquement quand on n'est pas en mode {\tt Alpha}.\\
Exemple~: $${\tt \ll   3.14\  \rightarrow\  PI \ll 2*PI*R \gg \gg
  STO\triangleright \  PER}$$ \\
Dans cet exemple, on a \'ecrit le programme {\tt PER},
{\tt PI} est une variable locale qui est d\'eclar\'ee et
initialis\'ee \`a ${\tt 3.14 \ \rightarrow \ PI} $. 
Cette variable est locale pour le 
programme qui suit sa d\'eclaration (ici ${\tt \ll 2*PI*R \gg}$). \\
Par contre, {\tt R} est une variable globale (qui doit exister avant
l'ex\'ecution du programme  {\tt PER}). Si, au cours d'un programme, on veut 
stocker une valeur dans une variable (locale ou globale) il faut bien
s\^ur utiliser ${\tt STO\triangleright}$.
\item 
Pour les {\tt TI89, TI92} il faut d\'efinir les variables locales en
d\'ebut de programme en \'ecrivant par exemple:\\
{\tt :local a,b}
\end{itemize}

\subsubsection{Notion de param\`etres}
Quand on \'ecrit une fonction il est possible de lui passer des param\`etres.
Par exemple si {\tt A} et {\tt B} sont les param\`etres de la fonction 
{\tt pgcd}  on \'ecrira :
\begin{center}
{\tt pgcd(A,B)}
\end{center}
Ces param\`etres se comportent comme des variables locales, 
la seule diff\'erence est qu'ils sont initialis\'es lors de l'appel 
de la fonction. 

\begin{itemize}
\item
Pour la {\tt HP49G mode Alg\'ebrique} si on veut que {\tt R} 
soit le param\`etre  de la fonction {\tt PER}  on \'ecrit~:
 $${\tt \ll\ \rightarrow\ R \ll  3.14\ \rightarrow\ PI \ll 2*PI*R \gg
   \gg \gg STO\triangleright \  PER}$$
\item Pour les {\tt TI 89 92} on met le nom des param\`etres dans le nom de la 
fonction  par exemple :\\
{\tt :addition(a,b)}
\end{itemize}

\subsubsection{Les Entr\'ees clavier}
Pour que l'utilisateur puisse entrer une valeur dans la variable {\tt A} au 
cours de l'ex\'ecution d'un programme, on \'ecrira, 
\begin{enumerate}
% \item Traduction HP48 HP49G mode RPN \\
% \noindent{\tt "A" "" INPUT STR-> EVAL 'A' STO}\\
% ou pour la {\tt HP49G mode RPN}\\
% {\tt 'A' PROMPTSTO}\index{PROMPTSTO} 

\item HP49G~: {\tt ...PROMPTSTO('A')}

\item TI89, 92 \\
\noindent {\tt:Prompt A}\\
{\tt :Prompt A,B}\\
ou encore  :\\
{\tt:Input ``A='',A}
\end{enumerate}
Attention, on ne peut pas faire d'entr\'ees dans une fonction sur TI.
et c'est d\'econseill\'e sur HP.
Une fonction doit uniquement utiliser ses param\`etres comme entr\'ees.

\subsubsection{Les Sorties \'ecran.}
Il ne faut pas confondre les affichages interm\'ediaires d'un
programme avec la valeur de retour d'une fonction, les affichages
ne peuvent pas \^etre utilis\'es par un programme appelant.
Pour afficher un r\'esultat au cours de l'ex\'ecution d'un programme,
on \'ecrit~:
\begin{enumerate}
% \item Traduction HP48 ou HP49G mode RPN \\
% En g\'en\'eral on affiche simplement les r\'esultats sur la pile pour une
%  r\'eutilisation \'eventuelle, on \'ecrira simplement :\\
% {\tt A B}\\
% On peut aussi afficher le r\'esultat tagu\'e, on \'ecrira alors :\\
% {\tt A "A=" ->TAG}\\
% {\tt HALT} arr\^ete le programme et {\tt Shift-rouge ON (CONT)} le continue.

\item HP49G
\begin{itemize}
\item dans une boite de message
$${\tt MSGBOX( "A="+\rightarrow STR(A))}$$\index{MSGBOX}
(ici le {\tt +} effectue la concat\'enation de deux chaines de
caract\`eres)
\item sur une ligne de l\'ecran~:\\
$$ {\tt DISP("A="+A,3)}$$\index{DISP}, \\
3 repr\'esente le num\'ero de la ligne, \\
{\tt CLLCD()} permet d'effacer l'\'ecran\index{CLEAR}\\
{\tt FREEZE(7)}  g\`ele l'affichage et permet de visualiser les 
7 lignes de l'affichage.\index{FREEZE}
\end{itemize}

\item TI 89 92 \\
\noindent{\tt :Disp "A=",A}\\
{\tt :ClrIO} efface l'\'ecran.\\
{\tt :Pause} arr\^ete le programme 
(on appuie sur {\tt ENTER} pour reprendre l'ex\'ecution).

\end{enumerate}
Attention, on ne peut pas faire de sortie dans une fonction sur TI.
On utilise la valeur de retour pour renvoyer un r\'esultat
(c'est la derni\`ere valeur calcul\'ee dans la fonction ou la
valeur qui suit une instruction {\tt Return} sur les TI).

\subsubsection{La s\'equence d'instructions ou action}
Une action est une s\'equence d'une ou plusieurs instructions.
On utilise {\tt :} (sur TI) ou {\tt\ ;\ } (sur HP, le {\tt ;} s'obtient
en tapant en m\^eme temps sur {\tt shift-rouge SPC}) 
comme s\'eparateur d' instructions.

\subsubsection{L'instruction d'affectation}
L'affectation est utilis\'ee pour stocker une valeur ou une 
expression dans une variable. 
On tape la valeur puis la touche  ${\tt STO}$ puis le nom de la
variable \`a affecter.

\subsubsection{Les instructions conditionnelles}

\begin{enumerate}
% \item Traduction HP48 ou HP49G mode RPN\\
% \noindent{\tt IF \emph{condition} THEN 
% \emph{action}  
% END}\\
% {\tt IF \emph{condition} THEN 
% \emph{action1}  ELSE
% \emph{action2}
% END}\\
% Attention on utilise la notation postfix\'ee et == pour traduire la 
% condition d'\'egalit\'e.\\
% On \'ecrit pour traduire l'exemple :\\
% {\tt IF A 10 ==  A B < OR THEN
%  B A - 'B' STO 
% ELSE A B - 'A' STO END}\\
% on peut aussi  \'ecrire :\\
% {\tt IF '(A==10) OR (A < B)' THEN ...}

\item Traduction HP49G mode Alg\'ebrique\\
\noindent{\tt IF \emph{condition} THEN 
\emph{action}  
END}\\
{\tt IF \emph{condition} THEN 
\emph{action1}  ELSE
\emph{action2}
END}\\
Exemple (Attention au == pour traduire la condition d'\'egalit\'e) :\\
{\tt IF A == 10 OR A < B THEN B-A STO$\triangleright$ B  ELSE A-B STO$\triangleright$ A  END}

\item Traduction TI89 92\\
\noindent{\tt:If \emph{condition} Then :
\emph{action} : 
EndIf}\\
{\tt :If \emph{condition} Then :
\emph{action1} : Else :
\emph{action2}:
EndIf}\\
Exemple :\\
{\tt :If A = 10 or A < B Then : B-A->B : Else : A-B->A : EndIf}
\end{enumerate}

\subsubsection{Les instructions "Pour" }
\begin{enumerate}
% \item Traduction HP48 ou HP49G mode RPN\\
% \noindent{\tt A B FOR I  \emph{action} NEXT}\\ 
% {\tt A B FOR I  \emph{action} P STEP}
\item Traduction HP49G mode Alg\'ebrique\\
\noindent{\tt FOR (I, A, B) \emph{action} NEXT}\\
{\tt FOR (I, A, B ) \emph{action} STEP P}\\ 
L'instruction {\tt FOR} d\'eclare {\tt I} comme  variable locale et l'initialise
 automatiquement. 

\item Traduction TI89 92\\
\noindent{\tt :For I,A,B : \emph{action} : EndFor}\\ 
{\tt:For I,A,B,P : \emph{action} : EndFor}
\end{enumerate}

\subsubsection{L'instruction ``Repeter''}

\begin{enumerate}
% \item Traduction HP48 ou HP49G mode RPN\\
% \noindent{\tt DO  
% \emph{action} 
% UNTIL \emph{condition} 
% END}
\item Traduction HP49G mode Alg\'ebrique\\
\noindent{\tt DO 
\emph{action} 
UNTIL \emph{condition} 
END}

\item Traduction TI89 92\\
\noindent{\tt :Loop  
:\emph{action} 
:If \emph{condition}  :Exit 
:EndLoop}
\end{enumerate}

\subsubsection{L'instruction ``Tant que''}

\begin{enumerate}
% \item Traduction HP48 ou HP49G mode RPN\\
% \noindent{\tt WHILE \emph{condition} REPEAT 
% \emph{action} 
% END}

\item Traduction HP49G mode Alg\'ebrique\\
\noindent{\tt WHILE \emph{condition} REPEAT 
\emph{action} 
END}

\item Traduction TI89 92\\
\noindent{\tt :While  \emph{condition}  :
\emph{action} : 
EndWhile} 
\end{enumerate}

\subsubsection{Les conditions ou expressions bool\'eennes }
Une condition est une expression 
qui a comme valeur un bool\'een, \`a savoir elle
est soit {\tt vraie} soit {\tt fausse}.
\begin{enumerate}
\item Les op\'erateurs relationnels\\
Pour exprimer une condition simple on utilise les op\'erateurs :
\begin{center}
{\tt = > > $\leq$  $\geq$  $\neq$}
\end{center}
Attention pour les calculatrices HP l'\'egalit\'e se traduit  comme en langage {\tt C} par {\tt ==}
\item Les op\'erateurs logiques\\
Pour traduire des conditions complexes, on utilise les 
op\'erateurs logiques :
\begin{center}
{\tt or and not} (TI), \quad {\tt OR AND NOT} (HP)
\end{center}
\end{enumerate}

\subsubsection{Les fonctions}
Dans une fonction on ne fait pas de saisie de donn\'ees :
on utilise des param\`etres qui seront initialis\'es lors de l'appel.
Dans une fonction on veut pouvoir r\'eutiliser le r\'esultat,
on peut utiliser un appel de fonction dans une expression.

\begin{enumerate}
% \item Traduction HP48 ou HP49G mode RPN\\
% Pour la  {\tt HP48} ou la {\tt HP49G mode RPN}, on suppose que les arguments de la fonction
%  sont mis sur la pile avant l'appel de la fonction.\\
% Dans l'\'ecriture de la fonction les arguments sont  des variables locales
% qui seront initialis\'ees par les \'elements mis sur la pile. Le r\'esultat de la 
% fonction est alors mis sur la pile.\\
%  L'exemple se traduit par :\\
% ${\tt \ll \rightarrow\ A\ B}$\\
% ${\tt \ \ \ll\ A\ B\ +\ \gg}$\\
% ${\tt  \gg}$\\
% {\tt 'ADDITION' STO}\\ 
% puis on met les valeurs de A et B au niveau 1 et 2 de  la pile, apr\'es 
% l'ex\'ecution d'ADDITION leur somme se trouvera au niveau 1 de la pile.\\
% {\bf N.B.} pour des fonctions simples, on peut \'eviter les variables locales 
% par exemple ${\tt \ll\  +\ \gg}$ {\tt 'ADDITION' STO}   

\item Exemple HP49G mode Alg\'ebrique\\
${\tt \ll \rightarrow\ A\ B} $\\
${\tt \ \ \ll A +B \gg}$\\ 
${\tt  \gg}$\\
${\tt  STO\triangleright\ ADDITION}$\\
Pour l'ex\'ecuter, on tape : $${\tt ADDITION(4,5)}$$

\item Exemple TI89 92\\
\begin{verbatim}
:addition(a,b)
:Func
:Return a+b
:EndFunc
\end{verbatim}
Pour l'ex\'ecuter, on tape : $${\tt addition(4,5)}$$
\end{enumerate}

\subsubsection{Les listes}
On utilise les \{ \} pour d\'elimiter une liste.
Par exemple \{\} d\'esigne la liste vide et \{1, 2, 3\} 
est une liste de 3 \'el\'ements.
Si on affecte une variable \`a une liste, 
on acc\`ede \`a un \'el\'ement de la liste en tapant le nom
de variable suivi de crochets et de l'indice entre crochets,
par exemple {\tt TAB[2]} d\'esigne le deuxi\`eme \'el\'ement de {\tt TAB}.

Attention \`a ne pas confondre une liste avec la notion d'ensemble en
math\'ematiques~: 
dans un ensemble l'ordre des \'el\'ements n'a pas d'importance
mais dans une liste l'ordre est important.


\begin{enumerate}
% \item Traduction HP48 ou HP49G mode RPN\\
% Ici les listes peuvent avoir des longueurs non d\'efinies \`a l'avance.\\
% On utilise les \{\} pour d\'elimiter une liste.\\
% Par exemple \{1 2 3\} est une liste de 3 \'el\'ements et \{\} d\'esigne la liste vide.\\
% On obtient le {\tt P}i\`eme \'el\'ement de {\tt L} sur la pile  avec :\\
% {\tt L P GET}\\
% Si on veut modifier le {\tt P}i\`eme \'el\'ement de {\tt L} (par exemple le mettre \`a 0)  on \'ecrira :\\
% {\tt 'L' P 0 PUT} ou {\tt L P 0 PUT 'L' STO}\\
% En effet {\tt L P 0 PUT} renvoie sur la pile la liste modifi\'ee alors que :\\
% {\tt 'L' P 0 PUT}
% modifie la liste {\tt L}.\\
% Pour concat\'ener deux listes ou une liste et un \'el\'ement on utilise le {\tt +}
% ou  on utilise la commande {\tt AUGMENT}.\\
% Remarque : c'est la commande {\tt ADD}) qui permet d'ajouter deux listes de m\^emes longueurs.

\item HP49G
\begin{itemize}
\item On obtient le {\tt P}i\`eme \'el\'ement de {\tt L }  avec :
 {\tt L[P]} ou {\tt L(P)} ou {\tt GET (L, P )}
\item
Si on veut modifier le {\tt P}i\`eme \'el\'ement de {\tt L} 
(par exemple le mettre \`a 0)  on \'ecrira :
{\tt PUT(L, P, 0) STO$\triangleright$ L }\\
ou\\
{\tt  PUT('L', P, 0)}\\
En effet {\tt PUT(L, P, 0)} renvoie  la liste modifi\'ee 
(sans modifier {\tt L}) alors que :\\
{\tt PUT ('L', P, 0) } modifie la liste {\tt L}.
\item
Pour concat\'ener deux listes ou une liste et un \'el\'ement on 
utilise le  {\tt +}  (alors que pour ajouter deux listes de 
m\^emes longueurs on utilise la commande {\tt ADD}).
\item
La commade {\tt SEQ} permet de constituer une liste, on tape :
$${\tt SEQ('X*X','X',4,10,1)}$$
on obtient :
$${\tt \{16,25,36,49,64,81,100\}}$$
\end{itemize}
\item {\tt SUB} permet d'extraire des \'el\'ements d'une liste.
\item TI89-92
\begin{itemize}
\item {\tt l[i] } d\'esigne le i\`eme \'el\'ement de la liste {\tt l}.
On peut modifier le i\`ieme \'el\'ement de {\tt l} avec la touche {\tt
  STO}~:\\
{\tt 2 $\rightarrow$ L[2]} \\
et si  ${\tt L}$ est de longueur {\tt n}  on peut rajouter un \'el\'ement (par 
exemple 121) \`a  ${\tt L}$ en \'ecrivant :\\
{\tt 121 -> L[n+1]} 
\item {\tt augment} permet de concat\'ener deux listes.
\item on peut initialiser une  liste de
 {\tt n} \'el\'ements  avec la commande {\tt newlist},  par exemple :\\
{\tt newlist(10)->L} ({\tt L} est alors une liste de 10 \'el\'ements nuls).
\item On peut aussi cr\'eer une liste avec {\tt seq}, par exemple~:\\
{\tt seq(i*i, i, 1, 10)} d\'esigne la liste des carr\'es des 
10 premiers entiers, \\
{\tt seq(i*i, i, 0, 10, 2)} qui d\'esigne la liste des carr\'es 
des 5 premiers entiers pairs (le pas est ici \'egal \`a 2). 
\item
{\tt left (L, 5)} d\'esigne les 5 premiers \'el\'ements de la liste
{\tt L}, autres instructions d'extraction {\tt right} et {\tt mid}.
\end{itemize}
\end{enumerate}

\subsubsection{Chaines de caract\`eres}
Les chaines de caract\`ere utilisent le d\'elimiteur
\verb|"|. Quelques fonctions (HP puis TI)~:
\begin{enumerate}
\item longueur~: {\tt SIZE}, {\tt dim}
\item concat\'enation~: {\tt +}, {\tt \&}
\item partie de chaine~: {\tt SUB}, {\tt left/mid/right}
\item code ASCII~: {\tt CHR/NUM}, {\tt char/ord}
\item recherche d'une sous-chaine dans une chaine~: {\tt POS}, {\tt inString}
\end{enumerate}


%\pagebreak

\subsection{Exercices}
\subsubsection{Sur le th\`eme math\'ematique.}
\begin{enumerate}
\item Ecrire une fonction calculant le cube d'un entier. En utilisant
cette fonction afficher la liste des cubes des entiers de 1 \`a 10.
\item Ecrire une fonction calculant les 2 racines d'une \'equation
du second degr\'e donn\'ee par $a$, $b$ et $c$.
\item Ecrire une fonction calculant la somme de $j$ variant de 1 
\`a $n$ de $1/j$. De m\^eme en faisant varier $j$ en d\'ecroissant.
\item Ecrire une fonction testant si un nombre est premier
en recherchant un diviseur inf\'erieur \`a $\sqrt{n}$.
\item Ecrire une fonction calculant le pgcd de 2 entiers par
l'algorithme d'Euclide.
\item Ecrire une fonction calculant l'indicatrice d'Euler d'un entier
en utilisant la fonction pr\'ec\'edente.
\item M\^eme question pour l'identit\'e de B\'ezout.
\item Ecrire une fonction calculant $a \pmod{pq}$ connaissant
$a =b \pmod p$ et $a=c \pmod q$.
\end{enumerate}

\subsubsection{Sur le th\`eme du s\'equencage}
Pour les chaines de caract\`ere, on utilisera au choix des listes de
variables (attention, v\'erifier qu'elles ne sont pas affect\'ees)
ou des chaines.
\begin{enumerate}
\item Ecrire une fonction testant si un caract\`ere est parmi
A, C, G, T. On renvoie 1 si c'est le cas et 0 sinon.
\item Ecrire une fonction qui teste si deux caract\`eres sont 
compl\'ementaires.
\item Ecrire une fonction qui teste si une chaine de caract\`ere
n'a que des caract\`eres A, C, G, T.
\item Ecrire une fonction qui teste si deux chaines sont
compl\'ementaires.
\item Ecrire une fonction qui renvoie la chaine ARN compl\'ementaire
d'une chaine ADN.
\item Ecrire une fonction qui compte le nombre de A, C, G et T
dans une chaine.
\item \'Ecrire une fonction renvoyant la position d'un codon de start 
dans une chaine d'ARN. Faites de m\^eme pour d\'eterminer la position d'un 
codon de stop \`a partir d'une position donn\'ee.
\item \'Ecrire un programme qui d\'etermine le d\'ebut et la fin d'une 
partie codante d'une s\'equence d'ARN (en recherchant le premier 
triplet de d\'emarrage AUG et l'un des triplets de fin correspondants 
UAA, UGA, UAG). Modifier le programme pr\'ec\'edent pour qu'il lise de 
3 en 3 seulement et d\'etermine les 3 possibilit\'es de partie codante de 
l'ARN (selon que l'on commence \`a la 1\`ere, 2\`eme ou 3\`eme lettre la
lecture de 3 en 3). On renverra pour chacune la longueur de la 
s\'equence codante et le rapport du nombre de bases AU sur le 
nombre de bases CG.
\item On se donne un tableau de 16 r\'eels indic\'e horizontalement et 
verticalement par les lettres de base A, C, G, T. 
Chaque r\'eel correspond \`a un ``poids'' que l'on donne si les lettres 
correspondantes se trouvent sur 2 chaines d'ADN, 
on mettra par exemple un poids positif si les lettres sont \'egales et 
n\'egatif sinon. \'Ecrire une fonction calculant le poids total obtenu en 
sommant tous ces poids pour les caract\`eres de deux chaines de m\^eme
longueur. 
Ceci servira ensuite \`a comparer une chaine \`a des chaines connues en 
trouvant la plus proche.
\item (fastidieux): transcrire une chaine ARN en proteine
\end{enumerate}

{\tiny
\begin{tabular}{|c||c|c|c|c||c|}
\hline
 & U & C & A & G & \\
\hline\hline
U &
  \begin{tabular}{ccc}
  UUU & Phe & [F] \\
  UUC & Phe & [F] \\
  UUA & Leu & [L] \\
  UUG & Leu & [L] \\
  \end{tabular}
&
  \begin{tabular}{ccc}
  UCU & Ser & [S] \\
  UCC & Ser & [S] \\
  UCA & Ser & [S] \\
  UCG & Ser & [S] \\
  \end{tabular}
&
  \begin{tabular}{ccc}
  UAU & Tyr & [Y] \\
  UAC & Tyr & [Y] \\
  UAA & \multicolumn{2}{c}{\em STOP} \\
  UAG & \multicolumn{2}{c}{\em STOP} \\
  \end{tabular}
&
  \begin{tabular}{ccc}
  UGU & Cys & [C] \\
  UGC & Cys & [C] \\
  UGA & \multicolumn{2}{c}{\em STOP} \\
  UGG & Trp & [W] \\
  \end{tabular}
&
  \begin{tabular}{ccc}
  U \\
  C \\
  A \\
  G \\
  \end{tabular}
\\ \hline
C &
  \begin{tabular}{ccc}
  CUU & Leu & [L] \\
  CUC & Leu & [L] \\
  CUA & Leu & [L] \\
  CUG & Leu & [L] \\
  \end{tabular}
&
  \begin{tabular}{ccc}
  CCU & Pro & [P] \\
  CCC & Pro & [P] \\
  CCA & Pro & [P] \\
  CCG & Pro & [P] \\
  \end{tabular}
&
  \begin{tabular}{ccc}
  CAU & His & [H] \\
  CAC & His & [H] \\
  CAA & Gln & [Q] \\
  CAG & Gln & [Q] \\
  \end{tabular}
&
  \begin{tabular}{ccc}
  CGU & Arg & [R] \\
  CGC & Arg & [R] \\
  CGA & Arg & [R] \\
  CGG & Arg & [R] \\
  \end{tabular}
&
  \begin{tabular}{ccc}
  U \\
  C \\
  A \\
  G \\
  \end{tabular}
\\ \hline
A &
  \begin{tabular}{ccc}
  AUU & Ile & [I] \\
  AUC & Ile & [I] \\
  AUA & Ile & [I] \\
  AUG & Met & [M] \\
  \end{tabular}
&
  \begin{tabular}{ccc}
  ACU & Thr & [T] \\
  ACC & Thr & [T] \\
  ACA & Thr & [T] \\
  ACG & Thr & [T] \\
  \end{tabular}
&
  \begin{tabular}{ccc}
  AAU & Asn & [N] \\
  AAC & Asn & [N] \\
  AAA & Lys & [K] \\
  AAG & Lys & [K] \\
  \end{tabular}
&
  \begin{tabular}{ccc}
  AGU & Ser & [S] \\
  AGC & Ser & [S] \\
  AGA & Arg & [R] \\
  AGG & Arg & [R] \\
  \end{tabular}
&
  \begin{tabular}{ccc}
  U \\
  C \\
  A \\
  G \\
  \end{tabular}
\\ \hline
G &
  \begin{tabular}{ccc}
  GUU & Val & [V] \\
  GUC & Val & [V] \\
  GUA & Val & [V] \\
  GUG & Val & [V] \\
  \end{tabular}
&
  \begin{tabular}{ccc}
  GCU & Ala & [A] \\
  GCC & Ala & [A] \\
  GCA & Ala & [A] \\
  GCG & Ala & [A] \\
  \end{tabular}
&
  \begin{tabular}{ccc}
  GAU & Asp & [D] \\
  GAC & Asp & [D] \\
  GAA & Glu & [E] \\
  GAG & Glu & [E] \\
  \end{tabular}
&
  \begin{tabular}{ccc}
  GGU & Gly & [G] \\
  GGC & Gly & [G] \\
  GGA & Gly & [G] \\
  GGG & Gly & [G] \\
  \end{tabular}
&
  \begin{tabular}{ccc}
  U \\
  C \\
  A \\
  G \\
  \end{tabular}
\\ \hline \hline
\end{tabular}
}

% Id\'ee de projet pour le controle continu~: 
% cf. ``un algorithme de s\'equencage'' dans\\
% \verb|http://www-fourier.ujf-grenoble.fr/~parisse/IF.html#Info|



\end{document}


\pagebreak

\section{Sujets donn\'es au CAPES 2005}
D'apr\`es 
\verb|www.capes.math.jussieu.fr/2005/sujets_dossiers_05.htm|

Mode d'emploi pour le controle continu pour les \'etudiants de
maths~: chaque th\`eme est affect\'e
d'un coefficient de 1 ou 2, la somme des coefficients vaut 16. Vous
pr\'eparez des lecons pour une somme de coefficients d'un minimum de 10 
dont 3 au moins en g\'eom\'etrie.
Vous devrez en pr\'esenter une ou deux le 15 d\'ecembre.
La note se composera d'une partie sur 17 correspondant \`a la
pr\'esentation orale et d'une partie sur 3 \'egale \`a 
la somme des coefficients des lecons propos\'ees - 10 divis\'ee par 2.

\begin{enumerate}
\item (20 juillet 06, 1)\\
Soit $C$ un cercle de centre $O$ et $[AB]$ une corde de $C$, $M$ un
point de $C$ distinct de $A$ et $B$. La bissectrice de $AMB$ coupe $C$
en $U$. Construire la figure, quelle conjecture peut-on faire sur
le point $U$ et sur le triangle $AUB$ lorsque $M$ d\'ecrit un arc
de cercle d'extermit\'es $A$ et $B$~? D\'emontrer cette conjecture
et pr\'eciser la position de $U$. \\
Soit $N$ un point de $[AB]$, construire un triangle $ABK$
tel que $K\in C$ et la bissectrice de $AKB$ passe par $N$.
\item (01 juillet 06, 1)\\
Soit $\alpha \in \R-\{2\} $ et la suite $U_n$ d\'efinie par
\[ u_0=1, \quad u_1=a \in \R, \quad \forall n \in \N,
u_{n+2} = \alpha u_{n+1} -(\alpha-1)u_n \] 
On pose pour tout $n\in \N$, $v_n=u_{n+1}-u_n$ et
$w_n=u_{n+1}-(\alpha-1)u_n$.
Proposer une utilisation de la calculatrices pour calculer les
permiers termes de $u_n$, $v_n$ et $w_n$. Quelle est la nature
des suites $v_n$ et $w_n$~?
\item (07 juillet 06, 1)\\
Soit $C$ et $C'$ deux cercles concentriques de rayons $r>r'$. Il
s'agit de construire une corde $[AB]$ de $C$ coupant $C'$ en deux
points $A'$ et $B'$ telle que 
\[ AA'=A'B'=B'B \]
On fixe $A$ sur $C$ et on construit $C_1$ l'image de $C$ par
l'homoth\'etie de centre $A$ et de rapport $1/3$. Montrer que si une
corde solution existe, alors $A'$  est dans l'intersection de $C_1$
et $C'$. Construire la figure.
\item (27 juin, 1.5) \\
\[ a_n=4.10^n-1, b_n=2.10^n-1, c_n=2.10^n+1 \]
Calculer $a_1,...,c_3$. V\'erifier que $b_3$ est premier, que
$b_nc_n=a_{2n}$, calculer
la d\'ecomposition en facteurs premiers de $a_6$. Calculer le pgcd
de $b_n$ et $c_n$, pr\'esenter
un algorithme de calcul du PGCD de deux entiers naturels non nuls.
\item (29 juin, 2)\\
Soit $A, B, C$ trois points non align\'es du plan, $T$ le triangle
$ABC$. On se propose de d\'emontrer uniquement avec les nombres
complexes que les hauteurs de $T$ sont concourantes en un point $H$.
Illustrer le r\'esultat. On peut se ramener au cas o\`u les affixes $a$, $b$
et $c$ de $A, B, C$ sont de m\^eme module (pourquoi?)
montrer avec les instructions de calcul formel que les hauteurs 
passent alors par $H$ d'affixe $h=a+b+c$ 
(indication, consid\'erer $z=(h-c)/(b-a)$).
\item (30 juin, 1)\\
Courbe repr\'esentative de $f(x)=\sqrt{x^2+x+1}$ (y compris 
tableau de variations, calcul des asymptotes et droite de 
sym\'etrie d'\'equation $x=-1/2$).
\item (2 juillet, 2)\\
\[ u_{n+1}=f(x), \quad f(x)=x-\frac{1}{4}(x^2-7), \quad u_0 \in [2,3] \]
Calculer les premiers termes de la suite, conjecturer le comportement
asymptotique. Montrer que $f$ est contractante de rapport $1/2$ sur
$[2,3]$ et que $\sqrt{7}$ est toujours compris entre deux valeurs successives
de la suite. Donnez une valeur approch\'ee de $\sqrt{7}$ \`a $10^{-4}$
pr\`es.
\item (4 juillet, 2)\\
Il s'agit de d\'eterminer la date $J_1$ d'apparition simultan\'ee 
de 2 corps astronomiques ayant des p\'eriodes
de 105 et 81 jours, observ\'es respectivement les jour $J_0$ et
$J_0+6$. Soit $x,y$ le nombre de p\'eriodes effectu\'ees par les
2 corps. Montrer que $35x-27y=2$. Pr\'esentez un algorithme
de calcul du PGCD de 2 entiers, puis de recherche d'une solution
particuli\`ere de $35x-27y=1$.
Calculer $J_1$ puis $J_2$ la
date de l'apparition simultan\'ee suivante.
\item (10 juillet, 1)\\
\begin{tabular}{|c|c|c|c|c|c|c|c|c|} \hline
Ann\'ee & 96 & 97 & 98 & 99 & 00 & 01 & 02 & 03  \\\hline
Production & 325 & 351 & 382 & 432 & 478 & 538 & 708 & 930 \\ \hline
\end{tabular}\\
Tracer le nuage de points correspondant, et de m\^eme pour les points
(annee,log(production)). D\'eterminer l'\'equation de la droite de
r\'egression des moindres carr\'es pour le log de la
production. Quelle
production peut-on pr\'evoir en 06?
\item (11 juillet, 1)\\
$f(x)=0.85x+3000$. Repr\'esentation graphique de $f$ et des premiers
termes de la suite $a_n$ d\'efinie par $a_{n+1}=f(a_n), a_1=60000$.
\item (14 juillet, 1)\\
Impot $I$ en fonction du revenu $R$
\[ 
\left\{
\begin{array}{cc}
R<4121 & I=0 \\
R \in [4121,8104] & I=0.075R-309.07\\
R \in [8104,14264] & I=0.21R-1403.12 \\
R \in [14264,23906] & I=0.31R-2829.52
\end{array}
\right.
\]
Trac\'e du graphe. Calcul du taux d'imposition $I/R$ pour $R=5000,
10000, 150000, 20000$. Pour $R\in [23906,37579]$, la formule est
$I=0.41R-a$, calculer $a$ pour que $I$ soit continue.
\item (15 juillet, 2)\\
On se donne un point $B$ \`a l'int\'erieur du segment $[AE]$ et 
on construit les carr\'es directs $ABCD$ et $BEFG$. Il s'agit de montrer
que $AG$ est orthogonal \`a $EC$. Faites la construction
g\'eom\'etrique. Proposez une d\'emonstration avec les outils de
calcul formel.
\item (18 juillet, 1.5)\\
Soit $ABCD$ un carr\'e direct, $M$ un point de $[AC]$, $P$ le 
projet\'e orthogonal de $M$ sur la droite $(AD)$ et $Q$ son projet\'e 
sur la droite $(DC)$. Soit $N$ le lieu
du point d'intersection de $CP$ et $BQ$ lorsque $M$ d\'ecrit $[AC]$.
Construire la figure. Quel est le lieu de $N$?
\item (21 juillet, 1)\\
Soit $C_1, C_2, C_3$ trois cercles concentriques de rayon 6, 4 et 3 et
$A$ un point du cercle $C_1$. Il s'agit de construire $B\in C_2$ et
$C \in C_3$ tels que $ABC$ soit \'equilat\'eral (on pourra utiliser
les rotations de centre $A$). Construire les solutions \`a la
calculatrice.
\end{enumerate}


\end{document}
