Retour à la page personnelle de Bernard Parisse.

-1 cm 23cm @percent16.5cm 10pt 0pt

Module Calculatrices-L3

Bernard.Parisse@ujf-grenoble.fr

Résumé: Ce cours/TD donné en 2005/6 à l’Université de Grenoble a pour but de présenter les possibilités des meilleures calculatrices des différents constructeurs (Casio, HP, TI) en parallèle, en insistant sur les possibilités communes. On espère d’une part faciliter le travail de futurs enseignants dont les élèves auront probablement des modèles de calculatrices différents et d’autre part les préparer à s’adapter aux évolutions inévitables de la technologie pendant leur carrière en distinguant mieux les concepts de leur traduction sur tel ou tel modèle. Certaines parties ne sont pour l’instant présentées que pour TI et HP (aucun étudiant présent n’avait de Casio Classpad)

Table des matières

1  Modèles de calculatrices graphiques

Un bref survol des capacités des meilleurs modèles graphiques des constructeurs, par ordre alphabétique, avec entre parenthèses la gamme de prix.

2  Prise en main


Exercice:

  1. Calculer sin(3) en mode radian et en mode degrés.
  2. Calculer 10! en mode exact
  3. Passez en mode approché et refaites le même calcul
  4. Développer puis factoriser le polynôme (x+3)7 × (x−5)6. Utiliser les menus pour trouver la fonction expand ou factor, essayez aussi de les saisir au clavier.

3  Représentation exacte et approchée des nombres.

On distingue :

Spécifications pour les entiers et les flottants selon les modèles :


Exercices (Calcul exact et approché sur les entiers et réels)

  1. Y-a-t-il une limite sur la plus grande factorielle calculable exactement et approximativement sur votre calculatrice?
  2. Trouver n le plus petit possible tel que (1.0+10n)−1.0 renvoie 0.0
  3. Calculer les premières valeurs de un en mode exact et approché avec :
    un+1=2(un
    1
    3
    ) = 2un −
    2
    3
    ,    u0=
    2
    3
     
    Comparer les résultats, en mode approché obtient-on la même suite selon la formule de récurrence entrée?
  4. Calculer en mode approché en croissant ou en décroissant pour quelques valeurs de n
    n
    j=1
     
    1
    j3/2
     
  5. Déterminer la valeur et le signe de la fraction rationnelle
    F(x,y)= 
    1335
    4
     y6 + x2 (11x2 y2y6 −121y4−2) + 
    11
    2
     y8 + 
    x
    2y
    en x=77617 et y=33096 en faisant deux calculs, l’un en mode approché et l’autre en mode exact. Que pensez-vous de ces résultats?

4  L’application main/historique

Il s’agit en fait d’un mini-logiciel de calcul formel. En général les noms des commandes du Casio Classpad sont les mêmes que sur TI, et certains noms de commande sont identiques sur TI et HP mais ces derniers sont saisis en majuscules.

4.1  Objets, évaluation

Les principaux types d’objets manipulables par ce logiciel sont: les entiers en précision arbitraire (limités à 600 chiffres sur les TI/Casio), les flottants (14 ou 15 chiffres significatifs), les complexes (de partie réelle 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ères, les listes (d’objets quelconques). Il existe d’autres types selon les machines, par exemple les objets-unités (pour la physique), les objets graphiques, les programmes et fonctions etc.

Pour certains types, on peut parfois s’aider d’un mode d’édition convivial, par exemple l’éditeur d’équation sur les HP ou Casio ou TI Nspire CAS, ou les éditeurs de matrice chez HP/Classpad/TI (attention sur la Voyage200, sélectionnez au début le mode Matrix de APPS Data/Matrix). Il existe toujours une syntaxe en mode ligne de commande, le type de l’objet étant souvent défini par des délimiteurs en début et fin de saisie:

En résumé :

TypesExempleInstructions relatives
Entier1 
Réel1.2 
Complexe exact1+2*i 
Complexe approché1.2+2.3*i 
VariablexSTO>, PURGE ou DelVar
Expression1+2*sin(x)OBJ-> ou part
Liste{ 1, 2}L[1]
Vecteur[1, 2]v[2] (TI v[1,2])
MatriceTI/Casio: [ [1,2] [3,4] ]M[2,1]
 HP: [[1,2],[3,4]]M[3]
Chaine"alpha" 

Il existe des instructions permettant de convertir des types en autres types :

Objets: conversion, décompositionHPTICasio
Matrice vers listeAXLmat->listmatToList
Liste vers matriceAXLlist->matlistToMat
Rendre approché->XNUMapproxapprox
Rendre exactXQexactexact
Vers chaine de caractères->STRstring 
De chaine de caractèreSTR->exprexpToStr

Lorsqu’on tape une commande dans (main/historique), il s’agit d’une chaine de caractères, qui est ensuite transformée en un objet par l’interpréteur (en anglais parser), puis évaluée en fonction du contexte et des modes et/ou simplifiée ou non. L’évaluation consiste à remplacer les variables qui ont été affectées par leur valeur, et à propager ces remplacement dans les calculs. La simplification consiste à appliquer certaines règles (par exemple regrouper des termes, simplifier les fractions rationnelles, ...). Chez TI, l’évaluation et la simplification sont automatiques, et ne peuvent être empêchés. Chez Casio, on peut empêcher la simplification en mode assistant. Chez HP, on peut empêcher l’évaluation en utilisant le symbole ' (quote) ou la fonction QUOTE, on peut forcer une évaluation avec l’instruction 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é, c’est-à-dire que les instructions s’adaptent dans la mesure du possible aux différents types de données passées en argument, par exemple il existe une même instruction + qui permet d’additionner des réels ou des entiers ou des chaines de caractères (concaténation). Il est toutefois important de comprendre que les opérations peuvent être très différentes selon le type des objets passé (et les modes). On peut utiliser tous les types d’objets en argument d’une fonction, à l’exception des objets de types programmes ou fonction sur les TI/Casio/HP en mode algébrique. Notez aussi qu’une instruction a toujours le même 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 :

  1. Testez les environnements de saisie s’ils existent pour entrer une équation, une matrice.
  2. Simplifier les expressions suivantes:
       
    3+2
    2
       
    1+
    2
    1+2
    2
    ,    eiπ/6,    4atan(
    1
    5
    )−atan(
    1
    239
  3. Factoriser :
    x8−3x7−25x6+99x5+60x4−756x3+1328x2−960x+256 
    x6−2x3+1,    (−y+x)z2xy2+x2y 
  4. Calculez les intégrales et simplifiez le résultat:
    1
    ex−1
      dx,   
    1
    xln(x)
     ln(ln(x)) dx,    (2x2+1)ex2  dx,    xsin(x)ex  dx 
    Vérifiez en dérivant les expressions obtenues.
  5. Déterminer la valeur de:
    2


    1
    1
    (1+x2)3
    ,     
    2


    1
     
    1
    x3+1
      dx 
  6. Calculer les sommes suivantes
    N
    k=1
     k
    N
    k=1
     k2
    k=1
    1
    k2
  7. Développer sin(3x), linéariser l’expression obtenue et vérifier qu’on retrouve l’expression initiale.
  8. Calculer le développement de Taylor en x=0 à l’ordre 4 de:
    ln(1+x+x2),  
    exp(sin(x))−1
    x+x2
     ,    
    1+ex
    ,   
    ln(1+x)
    exp(x)−sin(x)
     
  9. Créez une liste de taille 3, un vecteur de taille 3, une matrice 3,3 et testez l’accès à un élément 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.
  10. Résoudre le système linéaire




     x+y+az=1
     x+a y+z=
     ax+y+z=
    en utilisant soit l’instruction rref sur la matrice augmentée, soit la formule A−1 b.
  11. Créez un objet de chaque type en mode ligne de commande, stockez-le dans une variable, par exemple 1.1, 12, 1+2i, (0.5,2.3), 1/2, x, x*sin(x)-x, [1,2], une matrice aléatoire 2 par 2, la liste des objets précédents.
  12. Vérifiez le type de la variable (avec TYPE ou getType).
  13. Essayez de décomposer l’objet si on peut le faire (selon le type d’objet et le modèle de calculatrice).
  14. Testez ce que font les opérations +, inverse, *, /, avec chaque type de variable.

5  Calcul formel

5.1  Fonction et expression

Une fonction est une correspondance qui à un objet associe un autre objet. Une expression n’est pas une correspondance, c’est un objet, par exemple le résultat de l’évaluation d’une fonction en un point. DEFINE ou Define permet de définir une fonction. Comme toutes les instructions de calcul formel travaillent sur des expressions, sauf l’évaluation en un point (et quelques instructions sur HP en mode RPN), si on a défini une fonction, il ne faut pas la passer seule en argument, mais il faut passer le résultat de son évaluation en un point.

Par exemple, si on définit Define f(x)=x^2-1, on écrira factor(f(x)) et non factor(f).

5.2  Variables: mode réel, complexe, hypothèses.

Le choix du mode réel ou complexe influe sur les opérations comme la factorisation ou ce qui en dépend (décomposition en éléments simples, calcul de primitives par exemple). On peut passer temporairement en mode complexe sur les TI avec les instructions cFactor ou cSolve.

Les variables symboliques (non affectées) sont réelles en mode réel. En mode complexe, cela dépend :

On peut faire une hypothèse globale sur une variable sur les HP du type ASSUME(T>1). Cela ajoute alors T à la liste des variables réelles et permet de simplifier des expressions comme ABS(T^2-1). Chez TI/Casio, on peut faire une hypothèse locale sur une variable, en évaluant une expression sous condition avec l’opérateur |, par exemple abs(t-1)|t>1 (mais la classe d’expression simplifiable chez TI est assez restreinte, par ex. abs(t^2-1)|t>1 n’est pas simplifié).

5.3  Arithmétiques des entiers

On donne ici les instructions du système installé de base, il existe des programmes permettant d’étendre les fonctionnalités pour TI et Casio.

  1. Division euclidienne : IDIV2/IQUOT/IREMAINDER/MOD (HP49), intDiv/int/mod (TI/Classpad)
  2. PGCD : GCD/LCM (HP), gcd/lcm (TI/Casio)
  3. Bezout : IEGCD/IABCUV (HP)
  4. Liste des diviseurs : DIVIS (HP)
  5. Factorisation : FACTOR (HP), factor (TI/Casio)
  6. Restes chinois : ICHINREM (HP)
  7. Indicatrice d’Euler : EULER (HP)
  8. Primalité : ISPRIME?/NEXTPRIME/PREVPRIME (HP), isPrime (TI)
  9. Puissance rapide modulaire : POWMOD (HP)

Attention, le test de primalité est en réalité un test de pseudo-primalité de Miller-Rabin sur les HP, si le test échoue on peut affirmer que l’entier est composite, mais si le test réussit, l’entier peut (avec une faible probabilité) ne pas être premier. Sur les TI, le test renvoie une erreur pour des nombres de taille supérieure à 10306 n’ayant pas de diviseurs inférieur à 1021. L’algorithme de factorisation commence par effectuer des divisions par les nombres premiers inférieurs à une certaine valeur (environ 1000 sur HP) puis éventuellement effectue une recherche par une méthode plus évoluée, par exemple Pollard-rho, en utilisant le test de pseudo-primalité et un temps limite de recherche. Il n’y a pas de test de primalité chez Casio.

5.4  Opérations sur les flottants

5.5  Opérations sur les complexes

Sur les TI, on peut faire afficher un complexe en notation exponentielle ou cartésienne. Sur les Casio, on peut convertir un complexe sous forme cartésienne, exponentielle ou trigonométrique avec cExpand, compToPol et comToTrig

5.6  Arithmétiques des polynomes

Les TI/Casio proposent en base peu de fonctions pour les polynômes, mais on peut les obtenir en ajoutant des programmes.

5.7  Réécriture d’expressions

5.8  Calcul différentiel et intégral

5.9  Solveurs numériques et exacts

Les solveurs exacts permettent de

Notez que la recherche numérique des racines d’un polynome peut se faire par PROOT sur HP. La recherche de solutions exactes se ramenant à la factorisation des polynomes de degré 3 ou plus ne renverra pas de solution exacte, mais des solutions numériques si on choisit Num factorize sur les HP (MODE FLAGS 109) ou si on met en argument de solve la variable sur les TI ou si on utilise rsolve sur Casio.

Les solveurs numériques permettent de

Exercices :

  1. Trouver les racines complexes des équations suivantes
    z2+(1+i)z−3−2i=0,    z+(2−3i)
    z
    =1+2i
  2. Déterminer des nombres premiers de la forme 2n+1.
  3. Déterminer le nombre n d’entiers inférieur à 21 qui sont premiers avec 21, vérifier que si a est premier avec 21, alors an (mod 21 )=1.
  4. Donner la valeur de 5k (mod k ) avec k=10007.
  5. Simplifier sin(3x)/sin(x)
  6. Vérifier que le polynôme x5+x+1 n’a que des racines simples et déterminer son nombre de racines réelles. Faire son tableau de variations.
  7. Trouver les racines exactes et approchées de x3+x+1=0, exp(x)+x=3, sin(x)2−2=0.
  8. Donner une primitive (à coefficients approchés) de 1/(x4−3x3+5x+1)
  9. Calculer le développement de Taylor du numérateur et du dénominateur de
    ln(1+x)
    exp(x)−cos(x)
     
    à l’ordre 6 en x=0, en déduire celui de la fraction à l’ordre 5.
  10. Calculer le terme d’ordre n du développement de Taylor en x=0 de
    1
    (x2−4x+3)(x+2)
     
    (on commencera par décomposer la fraction en éléments simples). Vérifiez pour les 5 premiers termes.
  11. Calculer une valeur approchée de ∫0 exp(−x2) dx en faisant le changement de variable x=tan(t).
  12. Trouver l’intersection du cercle de centre l’origine, rayon 1 et de l’ellipse d’équation x2+2xy+3y2 +3x−3y=3.
    Résoudre le système sin(x)+y=2, x+cos(y)=2.
  13. Résoudre l’équation différentielle ex y′=y+1, calculer la valeur en x=1 de la solution passant par (0,1).
    Peut-on résoudre exactement l’équation
    (E)    y′=
    sin(y+x)2+1−cos(x)
     
    à la calculatrice ? Calculer une valeur approchée en x=1.0 de y vérifiant (E) et passant par (0.0,1.2).
  14. Chercher les extremas locaux de la fonction (x+y+1)(x−2y−3)(xy−1).
  15. Soit A,B,C trois points quelconques du plan. On construit les triangles équilatéraux directs de cotés 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 équilatéral: 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ées des trois centres en fonction de z.

6  Représentations graphiques

Les principaux types de courbes non statistiques sont :

Pour représenter une courbe, la calculatrice va échantilloner la (ou les) fonction(s) définissant la courbe en fonction de paramètres de discrétisation, puis, en tenant compte des paramètres d’affichage, tracer les points correspondants et éventuellement les relier entre eux par de petits segments de droite (option Connect d’un des écrans de réglages). Pour les tracés de type fonction, il faut définir la plage de x, de y, pour les tracés autres que fonction, il faut aussi définir la plage du paramètre (ou les valeurs initiales et finales de la variable pour une équation différentielle). On indique le pas d’échantillonage, pour une fonction (en unités ou en pixels) ou le pas de résolution numérique pour une équation différentielle. Plus le pas d’échantillonage est petit, plus le tracé sera précis, mais plus il sera lent. Ce qui donne selon les modéles :

  1. Choix du type de graphe
    sur HP, taper simultanément sur shift-gauche et F4 (2D/3D) puis choisir le type parmi (Function, Parametric, Polar, Conic, Diffeq, Slopefield, 3d). Les suites récurrentes se tracent à partir de l’application de géométrie.
    Sur TI, le réglage du type de tracé se fait dans MODE (Function, Parametric, Polar, Sequence, Fast3d, diff equations). On doit parfois compléter le type de tracé 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 Type. Il n’y a pas de mode pour tracer les solutions d’équations différentielles.
  2. Définition des fonctions à représenter :
    Sur HP, l’expression ou la liste des expressions à représenter est stockée dans la variable EQ. Vous pouvez aussi spécifier ces expressions en tapant sur shift-gauche F1 (Y=). Pour les fonctions, l’expression à entrer est (y=)f(x) ou (z=)f(x,y) (3-d), pour les courbes paramétriques, l’expression est donnée par le nombre complexe x(t)+i*y(t), attention à changer le nom de la variable indépendante (en t ici), pour les courbes en polaires, on donne ρ(x) où x est l’angle, pour les courbes implicites f(x,y)=0, pour les équations différentielles, on donne f(x,y) où l’équation différentielle est y′=f(x,y). Pour tracer plusieurs courbes dépendant d’un paramétre, on peut utiliser la commande SUBST, par exemple SUBST(A*SIN(X),A={1,2}) STO> EQ
    Chez TI, on entre les expressions définissant les courbes en tapant diamond Y=. Ces expressions ne sont pas toujours évaluées (par exemple on ne peut pas mettre un nom de variable contenant une expression dépendant de x). Pour les graphes on définit ainsi y1, ..., pour les fonctions, xt1, yt1, ... pour les courbes paramétriques, etc. Pour tracer plusieurs courbes ayant la même équation dépendant d’un paramètre, il suffit d’affecter à ce paramètre la liste des valeurs souhaitées, par exemple {1,2,3} STO> a puis y1=sin(a*x)
    Sur Classpad, on entre y1, ..., pour les fonctions, xt1, yt1, ... pour les courbes paramétriques, etc.
  3. Réglage des paramètres
    Sur HP, les paramètres H-Tick et V-Tick indiquent le décalage entre 2 marques successives sur les axes, en pixels ou en unités (selon que Pixels est coché ou non). Shift-WIN permet de régler les paramètres 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és de type Equation différentielle, il manque le nom de la variable dépendante, par défaut Y, on peut le définir dans le type champ des tangentes (Slopefield).
    Sur TI, diamond WINDOW permet de définir la fenêtre d’affichage par exemple les valeurs de xmin/xmax, xres, xscl/yscl pour les fonctions. Les paramètres xscl et yscl définissent le tick sur les axes, alors que xres définit en pixels le pas entre 2 évaluations. Le menu Style de Y= permet de définir comment le tracé est effectué (points connectés, points non connectés, point mobile avec ou sans trace, animation).
    Sur Classpad, choisir le menu avant Edit, puis Réglages, paramétrage, format graphique (ou 3-d).
  4. Tracé :
    Sur HP, on efface éventuellement le graphe précédent (F5) et on trace en appuyant sur F6.
    Sur TI on les trace avec diamond GRAPH.
    Sur Casio, cliquer sur le bouton de graphe.
  5. Opérations post-tracé (zoom, pente de tangente, recherche de racine, etc.)
    Les menus permettent de changer les paramètres d’affichage (zoom), mais attention cette opération prend du temps, car la machine recalcule le graphe.
    Pour les fonctions, on peut selon les modèles utiliser les menus pour trouver une racine numérique de f(x)=0, afficher la tangente au graphe, calculer l’aire sous la courbe entre deux points,...

Parallèlement à l’étude graphique, on peut bien sur utiliser l’historique (ou application Main) pour faire une étude formelle de la fonction à tracer. Il est alors judicieux de donner un nom à la fonction ou à l’expression étudiée (par l’intermédiaire de define ou de STO) ou d’utiliser le nom de la fonction tel que défini dans Y=.

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

Exercices :

7  Unités et constantes physiques

Les TI et HP peuvent manipuler des valeurs numériques ayant des dimensions physiques (par exemple longueur, poids, pression, énergie, ...). On peut effectuer des opérations arithmétiques simples sur ces quantités, multiplication, division et puissance entière, ainsi que addition ou soustraction lorsque deux quantités ont la même dimension physique. On peut aussi convertir une quantité exprimée en fonction de certaines unités en la même quantité exprimée avec des unités compatibles, par exemple pour convertir une distance de miles en km, mais aussi un angle de radian en degré ou une durée d’heures en secondes. Les mathématiques sous-jacentes sont la règle de trois.

Le système MKSA des unités physiques comporte 7 unités de base, toutes les unités se ramènent à un produit par une constante numérique de puissances entières de ces 7 unités de base : le mètre, le kilogramme, la seconde, l’ampère (intensité électrique), le Kelvin (température), la mole (quantité de matière) et le candela (luminescence). Les unités du système international (S.I.) sont les unités composée de ces 7 unités de base avec comme constante numérique 1, par exemple le Pascal pour 1_kg/m/s2. Lorsque la constante numérique est une puissance de 10, on utilise un préfixe (par exemple m pour 10−3, k pour 103, etc.). Il existe de nombreuses unités en-dehors de celles du S.I., en particulier dans les pays anglo-saxons, mais aussi pour des raisons de commodité (par exemple kph pour les vitesses, le litre, l’électron-Volt unité d’énergie, etc.).

Sur les TI et HP, les valeurs numériques avec dimension sont composées de la valeur numérique, du signe _, et d’une unité physique ou d’un produit ou quotient d’unités physiques, par exemple 12.3_km/s. Attention, sur TI, vous devrez écrire 12.3_km/_s. Attention, toujours sur TI, la partie _... est considérée comme un nom de variable (spécial), donc il faut mettre des parenthèses dans 12_km/(2_s) ou écrire 12_km/2/_s.

Sur les HP49, on accède aux unités prédéfinies par le menu UNITS (shift- droit-6). Le sous-menu TOOLS permet principalement de convertir (CONVERT) entre deux unités de même dimension (par exemple entre des km/h et des m/s), ou d’écrire en terme de produit d’unités de base (UBASE) ou de “factoriser” (UFACT) une unité. Les autres menus répertorient des unités usuelles par dimension. L’interface des unités en mode RPN est mieux adaptée aux conversions d’unités grâce à des raccourcis claviers. Taper MODE, puis +/- pour changer en mode RPN, puis F1 FLAGS, flèche vers le haut 3 fois, cocher le flag système 117 pour faire apparaitre Soft menu, puis OK 2 fois. Taper UNITS (shift droit-6) puis par exemple Lengths. Pour entrer une unité il suffit de taper la valeur numérique puis la touche du bandeau de l’unité (par exemple F4 pour un yard, yd). Pour convertir en une autre unité, taper sur shift-gauche et la touche du bandeau de l’unité, par exemple shift-gauche F1 pour convertir en mètres. Pour revenir en mode algébrique, taper MODE puis +/- puis OK.

Sur les TI, on peut choisir dans MODE le système international d’unités ou un système anglo-saxon, ce sont ces unités qui seront utilisées dans un résultat (sur HP, l’unité renvoyée utilise l’unité d’un des arguments) sauf conversion explicite avec la touche de conversion (touche shift-Y sur V200), . La liste des unités est accessible depuis le menu diamond-UNITS. On peut aussi définir une liste d’unités particulière dans ce menu si on veut utiliser par défaut des unités différentes du système international ou anglo-saxon.

Les constantes physiques (par exemple accélération de la gravité sur Terre, constante gravitationnelle, constante de Rydberg, de Planck, masse de l’électron, du proton etc.) sont également mémorisées dans les TI et HP. Sur HP, taper APPS puis la commande Constants libs pour faire apparaitre la liste des constantes mémorisées, sur TI, diamond-UNITS et cherchez la constante dans le premier menu. Sur HP, vous pouvez aussi saisir directement la commande CONST() avec en argument le symbole de la constante, par exemple CONST(c) renvoie la vitesse de la lumière, sur TI, vous pouvez saisir le nom de la constante préfixé par _, par exemple _c.

Exercices :

8  Calculs financiers

L’application Time Value of Money permet principalement de calculer des mensualités de remboursement pour un emprunt à taux t et remboursement r fixes. Les mathématiques sous-jacentes sont les suites géométriques. Si uk est la valeur empruntée l’année k, la valeur de uk+1 s’obtient en enlevant le remboursement r et en ajoutant les intérêts sur uk

uk+1uk(1+t) −r 

Il s’agit alors de trouver l’une des valeurs n, r, t ou u0 pour que un=0. Pour cela on calcule uk, en cherchant C pour que vk=ukC soit une suite géométrique de raison 1+t :

vk+1=uk+1C 
 =uk(1+t)−rC 
 =(vk+C)(1+t)−rC 
 =(1+t)vk+tCr

Donc C=r/t, et vn=(1+t)n v0 d’où :

unC=vn=(1+t)n v0=(1+t)n (u0C

finalement, si un=0 :

(1+t)n=
C
u0C
=
r
ru0 t
 

Sur HP, taper shift gauche-FINANCE. Sur TI, choisir l’application FINANCES. Il n’y a pas d’équivalents chez Casio.

Exercices :

9  Statistiques descriptives

Les calculs statistiques se font sur des tableaux de nombres. Sur TI, vous pouvez utiliser l’éditeur de données (APPS 6) en mode data. pour entrer les données, ou directement avec STO> depuis l’historique. Attention, il ne semble pas possible de transposer des données de type data, donc si vous devez travailler à la fois en lignes et en colonnes sur vos données, utilisez l’éditeur de données 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éservée ΣDAT qui est la matrice statistiquematrice statistique. On peut utiliser l’éditeur de matrice pour entrer les données, l’appui sur shift 5 (STATS) stocke la matrice dans la variable ΣDAT et ouvre le menu de statistiques. On peut aussi entrer une matrice directement depuis l’historique avec STO>.

Pour transposer une matrice, utiliser TRAN sur HP et t sur TI. Sur Casio, on peut utiliser trn (transconjuguée) (les données sont réelles!).

9.1  Statistiques à une variable.

Il s’agit principalement du calcul de la moyenne, variance, écart-type et des quartiles (médiane, etc.). Attention à la définition de la variance et de l’écart-type qui diffère selon qu’on s’intéresse à la population entière ou à un échantillon, en effet pour obtenir un estimateur sans biais de la variance à partir d’un échantillon, il faut diviser la somme des carrés par n−1 (où n désigne l’effectif) et non par n (cas de la population entière).

Moyenne, variance, écart-type
Sur TI, depuis l’éditeur de données (APPS 6), choisissez F5 One Var. Indiquez la colonne (par exemple c1), et si vous avez des données avec des fréquences précisez-le.
Sur Casio, menu Calc, puis Une variable
Sur HP, taper sur STATS (shift droit-5). Cochez ensuite les fonctions que vous voulez calculer et le type de statistiques (population entière ou échantillon, ce qui change la formule de la variance). Pour calculer facilement des statistiques de données avec fréquences, il faut installer une librairie de statistiques comme Stat49Pro (disponible sur www.hpcalc.org), ensuite dans shift-STATS, sélectionner Data Manager, Add new, puis 1w/freq, entrer les 2 colonnes, puis relancer shift-STATS, Data Manager, Describe Data.

Les calculs statistiques peuvent aussi être effectués en ligne de commande depuis l’historique, avec les commandes mean/MEAN, stddev/SDEV,PSDEV (sur HP PSDEV désigne l’écart-type d’une population), variance/VAR,PVAR. Ces commandes agissent sur ΣDAT sur HP, ou sur leur argument pour les TI.

Quartiles
Sur TI/Casio, les statistiques affichées par l’application de statistiques contiennent les quartiles. La fonction median permet de calculer la médiane.
Sur HP, il n’y a pas de fonction préprogrammée pour calculer les quantilesquantile. On pourra utiliser

AXL(TRAN(DAT)) STO> L

pour convertir en liste la matrice statistique, puis

SORT(L[1]) STO> L1SORT

pour triertri par ordre croissant la première ligne de L (donc la première colonne de la matrice statistiques), on obtient alors la médianemediane@médiane en tapant :

L1[SIZE(L1)/2]

Représentation graphique des données: F1 plot setup de l’appli Data Editor (ou F2 de Stats/List) sur TI et shift-2d/3d sur HP ou menu DefnGraph sur Casio, choisir :

Sur TI, il peut être nécessaire de désactiver les graphes de fonction lorsqu’on trace un graphe statistique (décocher les fonctions dans l’ecran Y= ou utiliser FnOff).

Exemples :

9.2  Statistiques à 2 variables

On étudie conjointement deux séries statistiques, par exemple pour faire apparaitre des corrélations entre elles, tracer une droite de régression, etc.

On utilise cette fois 2 colonnes de la matrice de données ou 2 listes. On peut effectuer le calcul de la corrélation, de la covariance, des régressions de divers types (linéaires, polynomiales, exponentielles, logarithmiques, ...) et des représentations graphiques des données (scatterplot pour nuages de points, et xyLine sur TI pour ligne polygonale, tracé de la droite de régression).

Les commandes correspondantes utilisables dans l’historique sont TwoVar (calculs statistiques 2 variables sur TI), ShowStat (affichage des résultats statistiques sur TI), LinReg/LinearReg/LINFIT, QuadReg, QuartReg, LnReg/LogReg/LOGFIT, ExpReg/EXPFIT, PowReg/PowerReg/PWRFIT, BESTFIT (sélection du meilleur modéle de régression sur HP), Logistic, ...

Exercice :
Production de pétrole brut en milliers de barils par jour pour la Mer du Nord et mondiale entre 1999 et 2007 (source http://www.eia.doe.gov/emeu/ipsr/supply.html)

 199920002001200220032004200520062007
Nord594757995718565753295229474043434114
Monde659226849568101671626943472493737377346173018

Calculer la droite de régression linéaire de la production en fonction de l’année et estimer la production en 2010. Comparer avec d’autres modèles de régression.

9.3  Autres fonctions de proba/stats/dénombrement.

Exercice : simuler trente lancers de dés, faire la moyenne. Vérifier avec d’autres étudiants que la moyenne des lancers suit une loi proche de la loi normale, de moyenne µ=3.5 et d’écart-type celui de la loi uniforme sur {1,...,6} divisé par √30, donc de densité

1
σ 
 e
1
2



(x−µ)
σ



2



 
 
,    µ=7/2, σ=
14
/12

On pourra représenter simultanément la densité de probabilité et l’histogramme des moyennes.

10  Statistiques inférentielles

L’exploitation de données peut prendre plusieurs formes :

  1. L’inférence statistique ou "théorie de l’estimation" : connaissant un échantillon, on désire émettre une estimation sur la population totale. Dans ce cas, on n’a pas d’idée a priori sur le paramètre à estimer : on construira un intervalle de confiance Iα au seuil α. Cet intervalle Iα dépend de l’échantillon et contient, en général, la valeur du paramètre sauf dans α % des cas c’est à dire, il y a seulement α % des échantillons qui ont un Iα qui ne contient pas le paramètre (on dit qu’on a un risque d’erreur égal à α).
  2. Le test d’hypothèses permet de savoir si il y a accord entre théorie et expérience. Dans ce cas on a une idée a priori sur la valeur que doit avoir le paramètre : on construit le test d’hypothèses (deux hypothèses H0 et H1 seront en concurrence), puis on prélève un échantillon et on regarde si cet échantillon vérifie le test ce qui permet d’accepter ou de refuser l’hypothèse privilégiée H0.
    Par exemple : on veut contrôler qu’une fabrication correspond bien à ce qui a été décidé, pour cela on fabrique un test d’hypothèses, puis on teste l’hypothèse H0 sur un échantillon de la production.
  3. Le test d’homogénéite permet de comparer une distribution expérimentale à une distribution théorique. Dans les deux cas précédents, on a seulement comparé ou estimé des valeurs caractéristiques comme fréquences ou moyennes, Ici on compare deux distributions.

Pour des échantillons assez grands, le théorème qui permet de faire ces estimations est le plus souvent la loi des grands nombres (théorème de la limite centrale). Ainsi, si on calcule la moyenne X d’un échantillon de n variables aléatoires indépendantes de même loi (de moyenne µ et d’écart-type σ), la loi de X tend lorsque n tend vers l’infini vers une loi normale de moyenne µ et d’écart-type σ/√n. Si n n’est pas assez grand (typiquement n≤ 30), on peut encore faire des statistiques inférentielles sur la moyenne si on sait par ailleurs que la loi commune des variables aléatoires 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érentielles. Sur les TI89, il faut télécharger depuis le site de TI puis installer cette application Flash (qui est gratuite).

10.1  Estimation d’une moyenne

Supposons par exemple qu’on veuille calculer la moyenne de la population au vu d’un grand échantillon et qu’on cherche par exemple un intervalle de confiance centré à 5% sur la moyenne µ de la population. On connait la moyenne m de l’échantillon qui est la valeur d’une variable aléatoire X qu’on suppose suivre une loi normale de moyenne µ et écart-type σ (c’est asymptotiquement le cas lorsque n tend vers l’infini). Si on ne connait pas σ, lorsque l’échantillon est assez grand, on peut estimer σ à partir de l’écart-type de l’échantillon (qui est l’écart-type de la population multiplié par √n/(n−1), fonction SDEV sur la 49). On cherche ensuite la distance C telle que la probabilité que |m−µ|>Cσ soit de 5%. Comme la loi de X est la loi normale, cela revient à calculer pour quelle valeur de C on a l’équation

(
C


−∞
 + 
+∞


C
)   e
t2
2
 
 = 0.05 
+∞


−∞
 e
t2
2
 
 

calcul lié à celui de la fonction UTPN de la HP ou Normal Cdf de la TI (menu F5) ou NormCD sur Casio

UTPN(m,v,x)=
1
2 π v
 


x
  exp(−
(tm)2
2v
)  dt 
Normal Cdf(m,v,x,y)=
1
2 π v
 
y


x
  exp(−
(tm)2
2v
)  dt 

Si l’échantillon est trop petit (typiquement n<30) et si la loi suivie est normale, on utilise une autre statistique car l’estimation de l’écart-type de la population par σ √n/(n−1) n’est plus valide. On montre que la variable aléatoire

T
X
−µ
1
n(n−1)
n
j=1
 (Xj
X
)2

suit la loi de Student S(n−1,x) à n−1 degrés de liberté :

S(n,x)=
Γ


n+1
2



Γ


n
2



n π 
  (1+
x2
n
)
n+1
2
 
,     où  Γ(x)=(x−1)!

N.B.: l’abréviation de cette loi est t ou T et non S (par exemple UTPT sur HP et Normal t Cdf sur TI).

Sur les HP49, il y a une interface pour calculer des intervalles de confiance et faire des tests d’hypothèses sur la moyenne d’une population ou de l’égalité de moyenne de 2 populations pour des échantillons grands, on utilise Z si l’écart-type est connu, et T s’il est estimé. Tapez sur shift droit-STATS puis 6 ou 5, puis choisissez le type de test/distribution. Tapez sur HELP pour plus de détails sur le test effectué.

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é de probabilité (probability density function), la notation Cdf, densité cumulée (c’est l’intégrale de de la densité de la borne inférieure à l’argument).

LoiHPTIarguments
Chi 2UTPCChi-square Cdfdegrés de liberté
SnedecorUTPFF Cdfdegrés de liberté numérateur et dénominateur
NormaleUTPNNormal Cdfmoyenne et variance
StudentUTPTt Cdfdegrés de liberté

Les équivalents Casio sont ChiCD, FCD, NormCD, TCD qu’il faut faire suivre de la commande DispStats. Attention à la normalisation entre HP et TI, on a par exemple
UTPC(...,x)+Chisquare Cdf(...,-inf,x)= 1.

Sur TI, les fonctions inverses sont fournies, sur Casio, l’inverse est fourni pour la loi normale (InvNorm), on peut aussi utiliser les fonctions de tests (OneSampleZTest, ...), sur HP il faut utiliser ROOT (ne pas oublier de purger X après usage).

Par exemple pour faire des statistiques sur de petits échantillons suivant la loi normale, on utilisera la fonction UTPT ou t Cdf, dont le permier argument est le nombre de degré de liberté et le deuxième x, par exemple pour résoudre UTPT(n−1,x)=0.025 pour n=8 on tape :

HP: ROOT('UTPT(7,X)-0.025',X,0.0) (ne pas oublier ')
TI: F5 2 Inverse t Cdf puis 0.975 puis 7

en faisant de même en 0.975 (HP) ou 0.025 (TI) on obtient les opposés qui donnent un intervalle de confiance centré à 5%.

Exercice :
On a effectué 10 pesées indépendantes sur une balance d’une même masse µ et on a obtenu :
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ée est une variable aléatoire suivant la loi normale. On cherche à déterminer la masse µ au vu de l’échantillon. Tester l’hypothèse H0 : µ=10 et H1 : µ>10 au seuil de 5%. Même question pour H1 : µ ≠ 10. Calculer un intervalle de confiance pour µ à 5%.

10.2  Estimation d’un écart type

Lorsque la population suit une loi normale, on peut aussi estimer l’écart-type à partir d’un échantillon et en calculer un intervalle de confiance, en utilisant la distribution du χ2. On pose

Z2=
1
n
n
k=1
(Xk−µ)2 

On peut montrer que n Z22 suit une loi du χ2 ayant n degrés de liberté.

Sur les HP49, les calculs se font en s’aidant de la fonction UTPC, qui donne la probabilité qu’une variable aléatoire suivant la loi du χ2 à n degrés de liberté soit plus grande que le 2ème argument de UTPC. Sur les TI, on utilise la fonction Chi-square Cdf. Sur les Casio CDF.

Exercice :
On reprend les mêmes données que ci-dessus, mais on suppose que µ=10 est connu et on veut calculer un intervalle de confiance à 5% près sur la précision de la balance.
Calculer la valeur z2 (n=10) de Z2 pour l’échantillon (on trouve environ 0.00007).
Pour σ donné, on calcule a=n z22 et on regarde la probabilité que nZ22 (qui suit la loi du χ2 à n degrés de liberté) soit plus grand que a, en calculant UTPC(10,a) (1-Chi-square Cdf sur TI). On dira qu’on a un intervalle de confiance à 5% sur σ si UTPC(10,a) (ou Chi-square Cdf) du a correspondant est compris entre 0.975 et 0.025 (les valeurs sont inversées sur TI). On cherche donc les valeurs de σ qui correspondent à un UTPC de 0.975 et 0.025. On calcule a1 et a2 avec ROOT sur HP. Sur les TI, on peut directement utiliser les distributions inverses (F5->2.Inverse). On en déduit les valeurs σ1 et σ2 de l’intervalle de confiance à 5% de σ.

11  Tableur

L’application CellSheet est installée sur les TI Voyage 200 et les TI 89 Titanium, c’est une application flash gratuite sur TI89. Elle est installée sur les Classpad 300 récentes et sur les HP49 munies de la ROM à télécharger à l’adresse :
http://www-fourier.ujf-grenoble.fr/~parisse/#hpgeo

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

Notez que sur une calculatrice, l’exécution d’un tableur non trivial est très lente. Sur les TI, il est recalculé automatiquement par défaut, mais on peut changer ce mode (F1 puis Format). Sur les HP, le tableur n’est pas recalculé automatiquement au lancement, il faut taper la touche de l’éditeur de matrice (shift MTRW) ou sur la touche-menu EVAL du bandeau pour l’évaluer.

La syntaxe est proche de celle des tableurs usuels sur micro-ordinateur. La principale différence (outre l’interface) est que ces tableurs sont formels, ils peuvent manipuler des valeurs non numériques (par exemple des fractions).

Exercices:

12  Suites numériques récurrentes

Sur les TI, on utilise le MODE SEQUENCE puis Y=. Cela permet de définir une suite par sa relation de récurrence, d’avoir un tableau de valeurs des premiers éléments, puis de tracer le graphe de la relation de récurrence (pour les suites un+1=f(un)) et les premiers termes de la suite (choisir dans Y= puis F7 (Axes) puis WEB et AUTO pour faire un graphe en toile d’araignée). On peut aussi définir la suite dans le tableur, dans l’historique ou par un programme, c’est nécessaire si on veut travailler en mode exact.

Sur les HP49, on peut utiliser le tableur pour calculer les premiers termes de la suite, on peut la définir dans l’historique ou par un programme. On doit utiliser l’application de géométrie pour visualiser une suite récurrente (graphe en “toile d’araignée” avec la fonction plot).

Sur les deux modèles, on peut définir une suite récurrente un=f(un−1) par la formule :
Define u(n)=when(n>0,f(u(n-1)),u0) (TI)
DEFINE(U(N)=IFTE(N>0,F(U(N-1)),U0) (HP)
(ci-dessus, remplacer u0 par la valeur initiale). Ceci permet le calcul exact ou approché des termes de la suite selon la valeur de u0. Le calcul approché est la plupart du temps plus intéressant, mais parfois les deux calculs peuvent servir. On peut bien entendu faire le calcul exact directement dans le tableur.

Pour les récurrences à plus de 1 terme, ce type de formule est très inefficace, car on calculerait plusieurs fois le même terme. Il faut alors écrire un petit programme ou utiliser le tableur ou (en mode approché) l’application Suites des TI.

Exercices :

13  Sujets donnés au CAPES

http://capes-math.org/2005/sujets_dossiers_05.htm
http://capes-math.org/2005/sujets_dossiers_06.htm
http://capes-math.org/2005/sujets_dossiers_07.htm

  1. (30 juin 06)
    Ce tableau comporte des données relatives au site web du capes
















    MoisvisiteursvisitesMo 
    135342562 
    2577744144 
    38341151169 
    4650803132 
    5249834041021 
    623243254907 
    726363482589 
    814101916274 
    925253553681 
    10289741352600 
    11386152324372 
    12245231572499
















    Donner pour ces 3 séries de données des tableaux des effectifs cumulés croissants. À quels types de questions ces tableaux permettent-ils de répondre? 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ée par un visiteur? Proposer une ou deux représentations graphiques permettant de visualiser les données du tableau. Peut-on corréler ces différentes séries de données?
  2. (29 juin 06)
    Soit m un entier relatif et Em l’équation d’inconnues x et y :
    11x+13y=m
    Si m ∈ ℕ, montrer qu’il y a autant de solutions de Em dans ℕ × ℕ que d’entiers dans [5m/11,6m/13]. Écrire un algorithme renvoyant la ou les solutions éventuelles de Em. Comment pourrait-on montrer que 119 est le plus grand entier naturel tel que Em n’admet pas de solution dans ℕ × ℕ?
  3. (02 juillet 06)
    Soit ABCD un rectangle direct de cotés a et b. On cherche s’il existe un triangle équilatéral APQ inscrit dans ce rectangle (P ∈ [BC] et Q∈ [CD]).
    Construction : on construit les triangles équilatéraux BCI et CDJ puis P l’intersection de (AJ) avec [BC] et Q l’intersection de (AI) avec [CD]. Faire la construction à la calculatrice et animer la, en faisant apparaitre les conditions aux limites d’existence de solution a/b ∈ [√3/2,2/√3]. Montrer en utilisant les complexes que le triangle construit est équilatéral (cf. le sujet original pour plus d’indications).
  4. (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∈ [AA′] d’abscisse x. On mène la perpendiculaire à 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 équilatéral. Construire la figure à la calculatrice et conjecturer le résultat.
  5. (17 juillet 06)
    Soit f(x)=exp(−cos(x)) sur [0,π], Cf sa courbe représentative, il s’agit de déterminer le nombre de tangentes à Cf passant par l’origine O.
    Calculer l’équation de la tangente en a∈[0,π]. Montrer que Ta passe par O si et seulement si a sin(a)=1. Soit φ(x)=sin(x)−1/x, étudier les variations de φ′ sur [0,π], puis de φ. Donner le nombre de solutions puis des valeurs approchées de ces solutions, tracer les tangentes solutions et la courbe Cf sur un même graphe.
  6. (3 juillet 08)
    Soient Δ et Δ′ deux droites du plan sécantes en O de vecteurs directeurs u et u′ tels que l’angle orienté (u,u′)=π/4. Soient A ∈ Δ, B ∈ Δ′ 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 Δ et Δ′.
    Soit M un point du segment [AB]. Construire la figure à la calculatrice en faisant apparaitre s(M). Que peut-on conjecturer ? Montrer le résultat (on pourra considérer 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é [AB].
  7. (2 juillet 05)
    un+1=f(un),    f(x)=x
    1
    4
    (x2−7),    u0 ∈ [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 √7 est toujours compris entre deux valeurs successives de la suite. Donnez une valeur approchée de √7 à 10−4 près.
  8. (4 juillet 05)
    Il s’agit de déterminer la date J1 d’apparition simultanée de 2 corps astronomiques ayant des périodes de 105 et 81 jours, observés respectivement les jour J0 et J0+6. Soit x,y le nombre de périodes effectuées par les 2 corps. Montrer que 35x−27y=2. Présentez un algorithme de calcul du PGCD de 2 entiers, puis de recherche d’une solution particulière de 35x−27y=1. Calculer J1 puis J2 la date de l’apparition simultanée suivante.
  9. (29 juin 05)
    Soit A, B, C trois points non alignés du plan, T le triangle ABC. On se propose de démontrer uniquement avec les nombres complexes que les hauteurs de T sont concourantes en un point H. Illustrer le résultat. On peut se ramener au cas où les affixes a, b et c de A, B, C sont de même module (pourquoi?) montrer avec les instructions de calcul formel que les hauteurs passent alors par H d’affixe h=a+b+c (indication, considérer z=(hc)/(ba)).
  10. (04 juillet 08)
    Soit
    F(x)=
    x


    0
     ek t2  dt,    k ∈ ℝ
    On s’intéresse aux points M0 de la courbe reprśentative de F, d’abscisse x0, tels que le coefficient directeur de la tangente à C en M0 ait pour coefficient directeur x0. Montrer que cela revient à résoudre ln(x)=kx2. Conjecturer à la calculatrice le nombre de solutions en fonction de k. Trouver une valeur approchée de k>0 telle que la solution soit unique. Montrer que l’équation a une solution unique lorsque k<0.

14  Géométrie

14.1  Principes

14.1.1  Géométrie dynamique

Une application de géométrie permet d’effectuer une construction géométrique, c’est-à-dire définir des objets géométriques (points, droites, segments, cercles, perpendiculaire, ...) indépendants ou dépendants des objets précédents. Par exemple, on crée trois points, puis le triangle défini par ces 3 points, les médianes issues des 3 sommets puis le point d’intersection des 3 médianes. Les applications de géométrie peuvent aussi calculer un lieu géométrique (courbe à laquelle appartient un point dépendant d’un point se déplacant sur une courbe) ou une enveloppe de droite (courbe à laquelle est tangente une droite dépendant d’un point se déplacant sur une courbe). On dit que l’application est interactive si on peut déplacer certains objets géométriques soit dans le plan s’ils sont indépendants des objets précédents, soit sur une courbe du plan s’ils sont sur une courbe, le logiciel recalcule alors la nouvelle position de tous les objets géométriques et affiche la figure mise à jour. On peut ainsi observer si une propriété de la figure (par exemple concourrance de trois droites, tangence, ...) est fortuite ou semble toujours vraie. Si le logiciel de géométrie interagit avec un logiciel de calcul formel, on peut aussi prouver une propriété en faisant des calculs de géométrie analytique.

Les calculatrices ont un écran 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é agréable, néanmoins, elles permettent d’effectuer de petites constructions et d’expérimenter ce type de logiciels dont le principe de fonctionnement est identique sur ordinateur.

14.1.2  Représentation

L’écran d’une calculatrice ou d’un ordinateur est composé de pixels, les objets géométriques doivent être discrétisés pour être représentés. Sur un écran d’ordinateur, il y a suffisamment de pixels pour que l’oeil ait l’impression de voir de “vrais” objets géométriques, sur une calculatrice on distingue souvent clairement la discrétisation.

Il existe des algorithmes permettant d’effectuer rapidement cette discrétisation pour les objets géométriques courants (segments, cercles), le plus connu est l’algorithme de Bresenham. Il faut également tenir compte du cadrage visible à l’écran des objets à représenter (par exemple une droite sera toujours représentée par un segment), il faut donc effectuer cette troncature (en anglais clipping). Pour plus de détails, chercher le mot clef Bresenham sur Internet, cf. par exemple
http://raphaello.univ-fcomte.fr/IG/Algorithme/Algorithmique.htm

14.1.3  Calcul

Sur TI, il n’y a pas d’information précise sur les structures de donnée utilisée par le logiciel de géométrie (adapté de Cabri). On peut juste dire que dés qu’un calcul est nécessaire, il est fait en mode approché, on ne peut donc que conjecturer et pas prouver sur la TI.

Le logiciel de géométrie interactive de la HP49/50 utilise une représentation analytique (approchée ou exacte) des objets manipulés (par exemple deux nombres complexes approchés pour un segment de droite, ou un complexe et un réel approchés pour un cercle) correspondant à un repère orthonormé (qui n’est pas forcément affiché). Les liens entre un objet et les objets précédents se font en utilisant des fonctions à un ou plusieurs arguments comme par exemple le centre (d’un cercle), l’intersection (de 2 objets),... qui sont traduits par des équations en géométrie analytique. La résolution de ces équations se fait en fonction du mode exact ou approché, elle est naturellement plus lente dans le premier cas mais permet de prouver un résultat.

La création d’un objet dépendant d’objets précédents se fait de manière explicite sur HP (en utilisant une fonction pour créer l’objet) ou implicite sur TI (l’interface du logiciel traduit en interne des mouvements de curseur ou appui sur entree).

Pour calculer un lieu, la HP utilise une représentation paramétrique rationnelle de la courbe sur laquelle se déplace le point indépendant, puis elle calcule en mode exact les coordonnées du point dépendant en fonction du paramétre t et effectue une représentation de la courbe paramétrique obtenue. Il n’est pas possible de calculer un lieu et de faire bouger un point sur une même figure. Pour une enveloppe, on calcule l’équation de la droite dépendante 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èle à la droite

a(t)x(t)+b(t)y(t)+c(t)= 0,    a(tx′(t) + b y′(t) = 0

En dérivant la première équation par rapport à t et en soustrayant la seconde, on obtient

ax+by+c= 0,    ax + by+c′= 0 

d’où l’on déduit x et y en fonction de t (courbe paramétrique).

Enfin pour calculer l’équation cartésienne d’une courbe paramétrique rationnelle x=n(t)/d(t), y=N(t)/D(t), la HP calcule le résultant par rapport à t de n(t)−xd(t) et N(t)−yD(t).

14.2  Utilisation

14.2.1  Par calculatrice

Sur les TI, il existe 2 logiciels de géométrie, le plus utilisé en France est celui adapté de Cabri, on le lance depuis les applications Flash (application gratuite à installer au préalable sur les TI89). Sur les HP49/50, il faut disposer de la ROM modifiée à télécharger sur www-fourier.ujf-grenoble.fr/~parisse/capes.html, puis on lance depuis Apps la Geometrie.

14.2.2  Exemple

Nous allons construire un triangle défini par trois points et son cercle circonscrit.

14.2.3  Exercices

  1. Faites la même construction pour le centre de gravité ou/et le cercle inscrit, l’orthocentre d’un triangle.
  2. Théorème de Napoléon
    Soit ABC un triangle quelconque, on construit sur ses cotés trois triangles équilatéraux, il s’agit de caractériser le triangle formé par les 3 centres des triangles équilatéraux.
  3. On se donne un point M sur un cercle passant par A, soit MAPN le carré direct de coté MA. Quel est le lieu de N lorsque M parcourt le cercle?
  4. 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édiatrice du segment FM. Quelle est l’enveloppe des médiatrices N lorsque M parcourt le cercle C?
  5. On se donne un carré ABCD, un point E parcourant le segment BC. On construit le cercle inscrit au triangle ABE et le cercle tangent aux cotés EA, EC, CD. Il s’agit de savoir pour quelle position de E les deux cercles ont même rayon, et pour quelle position de E les deux cercles sont tangents à la droite EA au même point.
  6. Théorème 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ère trissectrice issue d’un sommet avec la deuxième trissectrice issue du sommet suivant. Il s’agit de caractériser le triangle MNO.

15  Système.

La mémoire des calculatrices est composée de ROM (read only memory, en principe non modifiable) et de RAM (random access memory, perdue en cas de perte d’alimentation électrique). Sur les modèles TI89/V200/HP49/49+, la ROM est de la rom flash ce qui permet de mettre à jour le système de la calculatrice d’une part et de conserver des données ou applications d’autre part. Sur certains modèles, on peut ajouter des extensions mémoire (cartes SD pour HP49+). On peut connecter les calculatrices de même modèle entre elles (cable) ou avec un ordinateur (cable). Ceci permet d’ajouter des applications téléchargées sur Internet ou simplement d’échanger des données ou des programmes.

Sur les 49, la mémoire (RAM et ROM flash utilisateur) est divisée 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éro de port ou un nom de variable “taggé” par le numéro de port. Les applications sont appelées librairies, elles ont un numéro de librairie et s’installent en stockant le contenu de la variable chargée dans l’un des 3 ports. Une fois la librairie installée, on la configure manuellement avec la commande ATTACH(numéro) ou en tapant ON-F3 (on perd alors l’historique). Le port 0 (la RAM) permet d’organiser ses données avec une arborescence complète (répertoires, sous-répertoires). Les commandes correspondantes sont CRDIR/PURGE (répertoire vide uniquement). L’échange de données 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émoires, la RAM qui contient un système de répertoire restreint à un niveau et la zone d’archivage. Les commandes de création de répertoire sont NewFold, GetFold, DelFold. On peut accéder à une variable d’un répertoire par un chemin en utilisant \ comme séparateur. Les commandes d’archivage/désarchivage sont Archive et Unarchiv. La gestion et les échanges de donnée 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 à court de place sur les 89 par exemple. Sur les HP, les librairies ne peuvent dépasser 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: www.hpcalc.org et www.ticalc.org.

Exercices : transmettre une variable entre 2 calculatrices. Récupérer et installer une application flash sur TI (par exemple Cabri) ou une librairie sur HP (par exemple stat49pro).

16  Programmation

L’essentiel de cette section est adapté d’un document de Renée De Graeve
http://www-fourier.ujf-grenoble.fr/~degraeve/grouge.ltx
Le document original traite de nombreuses autres calculatrices.

16.1  Edition, correction, exécution

16.1.1  Comment éditer et sauver un programme

  1. Traduction HP49G mode Algébrique
    Un programme s’écrit dans la ligne de commande entre les délimiteurs ≪   ≫
    Pour le sauver, il suffit de faire suivre le dernier ≫ par :
    STO▷  NOMDUPROGRAMME
  2. Traduction TI89, 92
    Pour avoir accès à l’éditeur, on appuie sur la touche APPS puis 7 (Program Editor) puis 3 (New) et ENTER.
    On vous demande, dans Type, si on veut écrire une fonction (qui renvoie une valeur grâce à Return) ou un programme (appuyer -> puis faites votre choix 1 ou 2) puis ENTER pour valider votre choix. On écrit ensuite le nom du programme dans la case Variable puis ENTER pour valider le nom, puis ENTER pour entrer dans l’éditeur.
    Vous êtes prêt à taper votre programme. Vous pouvez ajouter éventuellement les noms des paramètres dans la première ligne (en déplaçant le curseur avec les flèches).
    Les touches F1 F2 F3 F4 vous facilitent l’édition.
    En appuyant sur Q (HOME) vous sauvez votre programme et vous revenez à l’écran HOME.

16.1.2  Comment corriger un programme

  1. Traduction HP49G mode Algébrique
    Si la syntaxe est mauvaise, la machine vous met automatiquement le curseur là où le compilateur a détecté l’erreur. Il suffit donc de corriger!
    Si l’erreur est détectée au cours de l’exécution du programme il faut taper :
    VISIT(’NOMDUPROGRAMME’)VISIT
    pour éditer votre programme. On corrige, puis ENTER sauve votre programme corrigé.
  2. Traduction TI89 92
    Si la syntaxe est mauvaise, la machine vous demande si vous voulez aller là où se trouve l’erreur (ENTER=GOTO) ou si vous voulez arrêter (ESC=CANCEL). Vous répondez : ENTER. Vous êtes alors dans l’éditeur prêt à corriger votre erreur. Puis Q (HOME) vous fait revenir à l’écran HOME en sauvant votre correction.
    Si l’erreur est détectée au cours de l’exécution du programme il faut taper :
    APPS puis 7 (Program Editor) puis 1 (Current) et ENTER
    qui édite votre programme.

16.1.3  Comment exécuter un programme

  1. Traduction HP49G mode Algébrique
    Si le programme n’a pas de paramètres, il suffit de taper son nom dans la ligne de commande ou d’utiliser le menu VAR. S’il y a des paramètres, on fait suivre le nom du programme de parenthèses dans lesquelles on met les valeurs des paramètres séparées par une virgule.
    Exemple : PGCD(45,75)
  2. Traduction TI89 92
    Si le programme n’a pas de paramètres, il suffit de taper son nom dans la ligne de commande. S’il y a des paramètres, on fait suivre le nom du programme de parenthèses dans lesquelles on met les valeurs des paramètres séparées par une virgule.
    Exemple : pgcd(45,75)

16.1.4  Comment améliorer puis sauver sous un autre nom un programme

  1. Traduction HP49G mode Algébrique
    RCL(’NOMDUPROGRAMME’) puis EDIT du bandeau.
    On fait les améliorations et on fait suivre le dernier ≫ par :
    STO▷  NOUVEAUNOM
  2. Traduction TI89 92
    Vous ouvrez l’éditeur avec le programme que vous voulez améliorer puis sauver sous un autre nom :
    APPS puis 7 (Program Editor) puis 2 (Open) puis mettre le nom du programme à modifier dans Variable (appuyer sur -> pour avoir accès à tous les noms de vos programmes, sélectionner celui à modifier avec les flèches et ENTER), puis ENTER.
    Ensuite, il suffit de taper sur S pour sauver cet éditeur sous un autre nom : SAVE COPY AS (on met le nouveau nom dans Variable).
    Vous pouvez faire vos modifications puis Q (HOME) vous sauve votre programme modifié sous le nouveau nom, et vous revenez à l’écran HOME.

16.2  Les différentes instructions

16.2.1  Les commentaires

Il faut prendre l’habitude de commenter les programmes. En algorithmique un commentaire commence par // et se termine par un passage à la ligne.

  1. Traduction HP49G
    Le commentaire commence par @ et se termine par un passage à la ligne ou est entouré de deux @.
    Le caractère @ est obtenu en tapant shift-rouge ENTER
    Attention!!! le compilateur efface les commentaires... donc pour garder vos commentaires, il faut écrire votre programme sous la forme d’un texte qu’il faut ensuite compiler avec STR ce qui complique un peu...
  2. Traduction TI89 92
    Le commentaire commence par © (F2 9) et se termine par un passage à la ligne.

16.2.2  Les variables

Ce sont les endroits où l’on peut stocker des valeurs, des nombres, des expressions. Le nom d’une variable est limité à 8 caractères sur TI, les HP font la différence entre majuscules et minuscules mais pas les TI.

Les variables peuvent être globales (encore définies après l’exécution du programme) ou locales (elles n’inteférent pas avec les variables globales).

16.2.3  Notion de paramètres

Quand on écrit une fonction il est possible de lui passer des paramètres. Par exemple si A et B sont les paramètres de la fonction pgcd on écrira :

pgcd(A,B)

Ces paramètres se comportent comme des variables locales, la seule différence est qu’ils sont initialisés lors de l’appel de la fonction.

16.2.4  Les Entrées clavier

Pour que l’utilisateur puisse entrer une valeur dans la variable A au cours de l’exécution d’un programme, on écrira,

  1. HP49G : ...PROMPTSTO(’A’)
  2. TI89, 92
    :Prompt A
    :Prompt A,B
    ou encore :
    :Input ‘‘A=’’,A

Attention, on ne peut pas faire d’entrées dans une fonction sur TI. et c’est déconseillé sur HP. Une fonction doit uniquement utiliser ses paramètres comme entrées.

16.2.5  Les Sorties écran.

Il ne faut pas confondre les affichages intermédiaires d’un programme avec la valeur de retour d’une fonction, les affichages ne peuvent pas être utilisés par un programme appelant. Pour afficher un résultat au cours de l’exécution d’un programme, on écrit :

  1. HP49G
  2. TI 89 92
    :Disp "A=",A
    :ClrIO efface l’écran.
    :Pause arrête le programme (on appuie sur ENTER pour reprendre l’exécution).

Attention, on ne peut pas faire de sortie dans une fonction sur TI. On utilise la valeur de retour pour renvoyer un résultat (c’est la dernière valeur calculée dans la fonction ou la valeur qui suit une instruction Return sur les TI).

16.2.6  La séquence d’instructions ou action

Une action est une séquence d’une ou plusieurs instructions. On utilise : (sur TI) ou ; (sur HP, le ; s’obtient en tapant en même temps sur shift-rouge SPC) comme séparateur d’ instructions.

16.2.7  L’instruction d’affectation

L’affectation est utilisée pour stocker une valeur ou une expression dans une variable. On tape la valeur puis la touche STO puis le nom de la variable à affecter.

16.2.8  Les instructions conditionnelles

  1. Traduction HP49G mode Algébrique
    IF condition THEN action END
    IF condition THEN action1 ELSE action2 END
    Exemple (Attention au == pour traduire la condition d’égalité) :
    IF A == 10 OR A < B THEN B-A STO B ELSE A-B STO A END
  2. Traduction TI89 92
    :If condition Then : action : EndIf
    :If condition Then : action1 : Else : action2: EndIf
    Exemple :
    :If A = 10 or A < B Then : B-A->B : Else : A-B->A : EndIf

16.2.9  Les instructions "Pour"

  1. Traduction HP49G mode Algébrique
    FOR (I, A, B) action NEXT
    FOR (I, A, B ) action STEP P
    L’instruction FOR déclare I comme variable locale et l’initialise automatiquement.
  2. Traduction TI89 92
    :For I,A,B : action : EndFor
    :For I,A,B,P : action : EndFor

16.2.10  L’instruction “Repeter”

  1. Traduction HP49G mode Algébrique
    DO action UNTIL condition END
  2. Traduction TI89 92
    :Loop :action :If condition :Exit :EndLoop

16.2.11  L’instruction “Tant que”

  1. Traduction HP49G mode Algébrique
    WHILE condition REPEAT action END
  2. Traduction TI89 92
    :While condition : action : EndWhile

16.2.12  Les conditions ou expressions booléennes

Une condition est une expression qui a comme valeur un booléen, à savoir elle est soit vraie soit fausse.

  1. Les opérateurs relationnels
    Pour exprimer une condition simple on utilise les opérateurs :
    = > >
    Attention pour les calculatrices HP l’égalité se traduit comme en langage C par ==
  2. Les opérateurs logiques
    Pour traduire des conditions complexes, on utilise les opérateurs logiques :
    or and not (TI),   OR AND NOT (HP)

16.2.13  Les fonctions

Dans une fonction on ne fait pas de saisie de données : on utilise des paramètres qui seront initialisés lors de l’appel. Dans une fonction on veut pouvoir réutiliser le résultat, on peut utiliser un appel de fonction dans une expression.

  1. Exemple HP49G mode Algébrique
    ≪ → A B
    A +B

    STOADDITION
    Pour l’exécuter, on tape :
    ADDITION(4,5)
  2. Exemple TI89 92
    :addition(a,b)
    :Func
    :Return a+b
    :EndFunc
    
    Pour l’exécuter, on tape :
    addition(4,5)

16.2.14  Les listes

On utilise les { } pour délimiter une liste. Par exemple {} désigne la liste vide et {1, 2, 3} est une liste de 3 éléments. Si on affecte une variable à une liste, on accède à un élément de la liste en tapant le nom de variable suivi de crochets et de l’indice entre crochets, par exemple TAB[2] désigne le deuxième élément de TAB.

Attention à ne pas confondre une liste avec la notion d’ensemble en mathématiques : dans un ensemble l’ordre des éléments n’a pas d’importance mais dans une liste l’ordre est important.

  1. HP49G
  2. SUB permet d’extraire des éléments d’une liste.
  3. TI89-92

16.2.15  Chaines de caractères

Les chaines de caractère utilisent le délimiteur ". Quelques fonctions (HP puis TI) :

  1. longueur : SIZE, dim
  2. concaténation : +, &
  3. partie de chaine : SUB, left/mid/right
  4. code ASCII : CHR/NUM, char/ord
  5. recherche d’une sous-chaine dans une chaine : POS, inString

16.3  Exercices

16.3.1  Sur le thème mathématique.

  1. Ecrire une fonction calculant le cube d’un entier. En utilisant cette fonction afficher la liste des cubes des entiers de 1 à 10.
  2. Ecrire une fonction calculant les 2 racines d’une équation du second degré donnée par a, b et c.
  3. Ecrire une fonction calculant la somme de j variant de 1 à n de 1/j. De même en faisant varier j en décroissant.
  4. Ecrire une fonction testant si un nombre est premier en recherchant un diviseur inférieur à √n.
  5. Ecrire une fonction calculant le pgcd de 2 entiers par l’algorithme d’Euclide.
  6. Ecrire une fonction calculant l’indicatrice d’Euler d’un entier en utilisant la fonction précédente.
  7. Même question pour l’identité de Bézout.
  8. Ecrire une fonction calculant a (mod pq ) connaissant a =b (mod p ) et a=c (mod q ).

16.3.2  Sur le thème du séquencage

Pour les chaines de caractère, on utilisera au choix des listes de variables (attention, vérifier qu’elles ne sont pas affectées) ou des chaines.

  1. Ecrire une fonction testant si un caractère est parmi A, C, G, T. On renvoie 1 si c’est le cas et 0 sinon.
  2. Ecrire une fonction qui teste si deux caractères sont complémentaires.
  3. Ecrire une fonction qui teste si une chaine de caractère n’a que des caractères A, C, G, T.
  4. Ecrire une fonction qui teste si deux chaines sont complémentaires.
  5. Ecrire une fonction qui renvoie la chaine ARN complémentaire d’une chaine ADN.
  6. Ecrire une fonction qui compte le nombre de A, C, G et T dans une chaine.
  7. Écrire une fonction renvoyant la position d’un codon de start dans une chaine d’ARN. Faites de même pour déterminer la position d’un codon de stop à partir d’une position donnée.
  8. Écrire un programme qui détermine le début et la fin d’une partie codante d’une séquence d’ARN (en recherchant le premier triplet de démarrage AUG et l’un des triplets de fin correspondants UAA, UGA, UAG). Modifier le programme précédent pour qu’il lise de 3 en 3 seulement et détermine les 3 possibilités de partie codante de l’ARN (selon que l’on commence à la 1ère, 2ème ou 3ème lettre la lecture de 3 en 3). On renverra pour chacune la longueur de la séquence codante et le rapport du nombre de bases AU sur le nombre de bases CG.
  9. On se donne un tableau de 16 réels indicé horizontalement et verticalement par les lettres de base A, C, G, T. Chaque réel correspond à 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 égales et négatif sinon. Écrire une fonction calculant le poids total obtenu en sommant tous ces poids pour les caractères de deux chaines de même longueur. Ceci servira ensuite à comparer une chaine à des chaines connues en trouvant la plus proche.
  10. (fastidieux): transcrire une chaine ARN en proteine
 UCAG 
U
UUUPhe[F]
UUCPhe[F]
UUALeu[L]
UUGLeu[L]
UCUSer[S]
UCCSer[S]
UCASer[S]
UCGSer[S]
UAUTyr[Y]
UACTyr[Y]
UAASTOP
UAGSTOP
UGUCys[C]
UGCCys[C]
UGASTOP
UGGTrp[W]
U
C
A
G
C
CUULeu[L]
CUCLeu[L]
CUALeu[L]
CUGLeu[L]
CCUPro[P]
CCCPro[P]
CCAPro[P]
CCGPro[P]
CAUHis[H]
CACHis[H]
CAAGln[Q]
CAGGln[Q]
CGUArg[R]
CGCArg[R]
CGAArg[R]
CGGArg[R]
U
C
A
G
A
AUUIle[I]
AUCIle[I]
AUAIle[I]
AUGMet[M]
ACUThr[T]
ACCThr[T]
ACAThr[T]
ACGThr[T]
AAUAsn[N]
AACAsn[N]
AAALys[K]
AAGLys[K]
AGUSer[S]
AGCSer[S]
AGAArg[R]
AGGArg[R]
U
C
A
G
G
GUUVal[V]
GUCVal[V]
GUAVal[V]
GUGVal[V]
GCUAla[A]
GCCAla[A]
GCAAla[A]
GCGAla[A]
GAUAsp[D]
GACAsp[D]
GAAGlu[E]
GAGGlu[E]
GGUGly[G]
GGCGly[G]
GGAGly[G]
GGGGly[G]
U
C
A
G
Retour à la page personnelle de Bernard Parisse.
Ce document a été traduit de LATEX par HEVEA