-1 cm 23cm @percent16.5cm 10pt 0pt
Module Calculatrices-L3Bernard.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)
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.
classpad.net
pour Windows (fonctionne sous Linux avec Wine, cliquer sur H-Key
pour pouvoir utiliser le bouton droit de la souris).
www-fourier.ujf-grenoble.fr/~parisse/capes.html
www.hpcalc.org
www.ticalc.org
, on peut
ensuite télécharger les mises à jour du système de la calculatrice
à émuler sur le site de TI www.ti.com
.
approx()
pour forcer l’exécution d’un
calcul intermédiaire en mode approx.
Exercice:
On distingue :
E
. Sur les calculatrices, ils sont
codés en base 10 (on parle alors de BCD, binaire codé décimal).
La base 10 est utilisée sur beaucoup de calculatrices car
elle permet de représenter les nombres décimaux sans erreurs.Notation scientifique: on tape la mantisse, puis e (touche EE), puis l’exposant. Le séparateur décimal est le point par défaut.
Erreurs d’arrondi et de représentation. La mantisse étant de taille finie, à chaque calcul ou dès qu’ on représente un rationnel qui n’est pas de la forme un entier divisé par la base à une puissance petite, on fait une erreur relative sur le nombre représenté. 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érablement, 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é par l’utilisateur). Les erreurs d’arrondis sont plus faibles mais le temps de calcul est plus long.
Spécifications pour les entiers et les flottants selon les modèles :
Les flottants utilisent le BCD avec 15 décimales.
Flottants: 2 formats (interne plus précis, externe accessible depuis l’interface), le mode est aussi le BCD.
Les flottants utilisent le format BCD avec 14 décimales.
Exercices (Calcul exact et approché sur les entiers et réels)
un+1=2(un− |
| ) = 2un − |
| , u0= |
|
|
|
F(x,y)= |
| y6 + x2 (11x2 y2−y6 −121y4−2) + |
| y8 + |
|
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.
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:
.
et
éventuellement le séparateur E
entre mantisse et exposant (touche
EE
chez TI/HP ou EXP
chez Casio).
STO
chez TI/HP ou ⇒ chez Casio),
dans ce cas sa valeur
d’affectation sera utilisée lors de l’évaluation d’une
expression. Une variable non affectée est dite symbolique. On peut
purger une variable avec la commande PURGE
(HP) ou
DelVar
(TI/Casio).
Une variable peut être locale
à l’intérieur d’un programme, dans ce cas sa valeur dans
le programme est indépendante de sa valeur en dehors.
*
, sauf sur les TI/Casio après un entier/réel et avant un
symbole), et les règles de priorité s’appliquent (par exemple
1/2*3
vaut 3/2). Attention, sur TI, le signe moins unaire
est différent du signe moins binaire.
{ }
, les
éléments sont séparés 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ême longueur et sur Classpad
elles ne peuvent pas contenir de listes.
[]
, les
éléments sont séparés par des virgules (ou des espaces en mode RPN
sur HP). TI utilise des matrices à 1 ligne (ou 1 colonne) pour
représenter des vecteurs, on utilise le séparateur ,
ou ;
selon le type de vecteurs créés.
[]
, puis
on donne les vecteurs lignes de la matrice, sans séparateur
sur les TI, et séparées par des virgules sur les HP en mode
algébrique.
m
,
on utilise la notation m[i,j]
chez TI/Casio, chez HP
on utilise l’instruction GET
ou un seul indice
obtenu en multipliant le nombre de colonnes par
le numéro de ligne moins un et en ajoutant le numéro de colonne.subMat
(TI/Casio) ou SUB
(HP).
<< >>
. Sur TI/Casio, il faut utiliser
l’éditeur de programmes. Nous reviendrons sur les programmes
ultérieurement.
"
.
En résumé :
Types | Exemple | Instructions relatives |
Entier | 1 | |
Réel | 1.2 | |
Complexe exact | 1+2*i | |
Complexe approché | 1.2+2.3*i | |
Variable | x | STO> , PURGE ou DelVar |
Expression | 1+2*sin(x) | OBJ-> ou 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 | "alpha" |
Il existe des instructions permettant de convertir des types en autres types :
Objets: conversion, décomposition | HP | TI | Casio |
Matrice vers liste | AXL | mat->list | matToList |
Liste vers matrice | AXL | list->mat | listToMat |
Rendre approché | ->XNUM | approx | approx |
Rendre exact | XQ | exact | exact |
Vers chaine de caractères | ->STR | string | |
De chaine de caractère | STR-> | expr | expToStr |
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 :
|
|
| , eiπ/6, 4atan( |
| )−atan( |
| ) |
x8−3x7−25x6+99x5+60x4−756x3+1328x2−960x+256 |
x6−2x3+1, (−y+x)z2−xy2+x2y |
∫ |
| dx, | ∫ |
| ln(ln(x)) dx, | ∫ | (2x2+1)ex2 dx, | ∫ | xsin(x)ex dx |
∫ |
|
| , | ∫ |
|
| dx |
| k, |
| k2, |
|
|
ln(1+x+x2), |
| , | √ |
| , |
|
⎧ ⎪ ⎨ ⎪ ⎩ |
|
rref
sur la matrice
augmentée, soit la formule A−1 b.
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.
TYPE
ou getType
).
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)
.
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 :
_
,
la variable sera considérée comme complexe, sinon elle
sera réelle. Attention donc, si vous utilisez cSolve
une variable nommée z
est considérée comme réelle, et conj(z)
sera
simplifié en z
, ainsi
cSolve(z+conj(z)*i=1,z)
renvoie un
résultat faux, car conj(z)
est remplacé par z
avant l’exécution de cSolve
. Il faut utiliser
cSolve(z_+conj(z_)*i=1,z_)
pour obtenir la
réponse correcte.
REALASSUME
du répertoire CASDIR
.
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é).
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.
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.
->NUM
, approx
XQ
, exact/toFrac
FLOOR
, CEIL
(HP), floor
, ceiling
(TI),
int
(Casio)
ROUND
(HP) round/fRound
(TI/Casio)
RE
(HP), real/re
(TI/Casio)
IM
(HP), imag/im
(TI/Casio)
CONJ
(HP), conj/conjg
(TI/Casio)
ABS
(HP), abs
(TI/Casio)
ARG
(HP), arg
(TI/Casio)
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
Les TI/Casio proposent en base peu de fonctions pour les polynômes, mais on peut les obtenir en ajoutant des programmes.
DIV2
, PROPFRAC
(HP),
propFrac
(TI/Casio) et PolyQuo
/PolyRem
(TI Nspire v1.3)
FXND
(HP), getNum/numerator
,
getDenom/denominator
(TI/Casio)
GCD
, LCM
(HP),
gcd
, lcm
(Casio). Sur les TI, on peut
utiliser p/getNum(p/q)
pour obtenir le pgcd de p
et
q
. Sur la TI NSpire v. 1.3, on peut utiliser PolyGcd
.
EGCD
, ABCUV
(HP).
On peut le programmer assez facilement sur la TI NSpire avec
PolyQuo
/PolyRem
.
CHINREM
(HP)
RESULTANT
(HP)
FACTOR
(HP), factor
(TI/Casio)Num factorize
(MODE FLAGS, fléche haut, remonter jusqu’au
flag 109) pour forcer une factorisation numérique.
Sur les TI, ajouter le nom de la variable en 2ème argument.
Sur les Casio, utiliser rfactor
PARTFRAC
(HP) ou expand
(TI/Casio):
décomposition en éléments simples. Sur HP, passer en mode
complexe pour obtenir la décomposition en éléments simples
sur ℂ.
HORNER
(HP), polyeval
(TI/Casio)
LAGRANGE
STURM
et STURMAB
FACTOR, COLLECT, REORDER, EXPAND
(HP),
factor, expand
(TI/Casio),
rfactor/collect/combine
(Casio)
TEXPAND, TCOLLECT
(HP), tExpand, tCollect
(TI/Casio)
TEXPAND
(HP) expand
(TI/Casio). Sur TI/Casio,
une vérification de la validité des arguments est effectuée.
par exemple ln(xy) n’est pas développé si on n’ajoute
pas une hypothèse x>0 ou y>0.
LIN
et LNCOLLECT
(HP), factor
(TI/Casio).
Sur TI/Casio, les exponentielles sont automatiquements regroupées.
EXPLN
(HP) trigtoexp
(Casio) permettent
de convertir les fonctions trigonométriques en exponentielles
complexes, inversement utiliser SINCOS
(HP) et exptotrig
(Casio).
HALFTAN
), cf. les menus
EXP&LN
, TRIG
.
LIMIT
(HP),
limit
(TI/Casio), on passe en argument
une expression, puis X=a
sur HP ou X,a
sur TI/Casio.X=a-0
sur HP
ou ajouter un 4ième argument -1 sur TI/Casio. À gauche,
X=a+0
ou 1 en 4ième argument.
SERIES
(HP), series
(TI Nspire)
taylor
(TI/Casio),
on passe en argument
une expression, puis X=a,n
sur HP ou X,n,a
sur TI/Casio
où n est l’ordre.series
pour le coté.
Le résultat renvoyé par SERIES
sur les HP se compose de la limite, de
l’équivalent, du développement et du reste.
| = |
| = n (1+c+c2+...) |
DERVX
, DERIV
(HP),
d/diff
(TI/Casio). Sur TI/Casio,
on peut indiquer un ordre de dérivation. Sur HP, DERIV
permet de calculer le gradient, HESSIAN
le hessien,
CURL
le rotationnel, DIV
la divergence, LAPLACIAN
le laplacien.
fMin
et fmax
sur TI/Casio,
TABVAR
(tableau de variations) sur HP.
INTVX
, RISCH
(HP), ∫ (TI/Casio).
Sur HP, POTENTIAL
et VPOTENTIAL
permettent
de calculer le potentiel ou le potentiel vecteur d’un champ.
->NUM
sur HP
et nInt
(TI) ou approx
(TI/Casio).
Les solveurs exacts permettent de
SOLVE
, attention
au choix du mode réel/complexe et factorisation numérique, TI/Casio
solve
et TI cSolve
).
LINSOLVE
, TI: simult
), et plus généralement
des systèmes simples d’équations polynomiales par base de Groebner
(fonctions SOLVE/solve/csolve
ci-dessus,
sur les HP on peut aussi afficher la base
de Groebner par GBASIS
, et réduire un polynôme par rapport à une
base de Groebner d’un idéal par GREDUCE
, sur les Casio
solve
ne sait résoudre que les systèmes linéaires).
DESOLVE
,
sur TI/Casio, deSolve/dSolve
. Pour
les équations linéaires à coefficients constants ou les systèmes
linéaires à coefficients constants, utiliser LDEC
sur HP (il faut
installer une application sur TI pour les systèmes ou les
équations de degré supérieur à 2) ou la transformée de
Laplace (LAP/ILAP
sur HP, laplace/invlaplace
sur Casio).
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
ROOT
sur les HP, nSolve
sur TI, solve
avec
un 3iìeme argument chez Casio.
Sur les HP, on accède au menu solveur numérique en shiftant
la touche 7. Sur les TI, apps, puis 7. Chez Casio, application Numsolve.
MSLV
sur HP, solve/csolve
éventuellement forcé
en mode approx sur TI)
RKF, RKFERR, RKFSTEP
sur HP),
on peut utiliser l’application de représentation
graphique sur tous les modèles.
Exercices :
z2+(1+i)z−3−2i=0, z+(2−3i) |
| =1+2i |
|
|
(E) y′= | √ |
|
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 :
Type
.
Il n’y a pas de mode pour tracer les solutions
d’équations différentielles.
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
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)
Y
, on peut le définir dans le type
champ des tangentes (Slopefield).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).GRAPH
.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 :
x(t)=3 sin(3t), y(t)=2 sin(4t) |
y′= y(1−y), y(t=0)=0.01 |
y′=sin(xy) |
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 :
au
)?
P=σ T4 |
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+1= uk(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=uk−C soit une suite géométrique de raison 1+t :
|
Donc C=r/t, et vn=(1+t)n v0 d’où :
un−C=vn=(1+t)n v0=(1+t)n (u0−C) |
finalement, si un=0 :
(1+t)n= |
| = |
|
Sur HP, taper shift gauche-FINANCE. Sur TI ou Classpad version 3 au moins, choisir l’application FINANCES.
Exercices :
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!).
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, sélectionner la liste (on peut
optionnellement utiliser des fréquences).
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> L1
SORT
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 Reglages sur Casio, choisir :
PPAR
): celle-ci peut-être modifiée par inadvertance
dans un autre mode (par exemple en mode Diffeq
).
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 :
An | J | F | M | A | M | J | J | A | S | O | N | D |
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 |
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 |
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 |
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 |
Date | Mini | Maxi |
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 |
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 |
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 |
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
OneVar,TwoVar/OneVariable,TwoVariable
(calculs statistiques 1 ou 2 variables sur TI et Casio),
ShowStat
(affichage des résultats statistiques sur TI),
LinReg/LinearReg/LINFIT
, QuadReg
, QuartReg
,
LnReg/LogReg/LOGFIT
,
ExpReg/ExpReg/EXPFIT
, PowReg/PowerReg/PWRFIT
,
BESTFIT
(sélection du meilleur modéle de régression sur HP),
Logistic/LogisticReg
, ...
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
)
1999 | 2000 | 2001 | 2002 | 2003 | 2004 | 2005 | 2006 | 2007 | |
Nord | 5947 | 5799 | 5718 | 5657 | 5329 | 5229 | 4740 | 4343 | 4114 |
Monde | 65922 | 68495 | 68101 | 67162 | 69434 | 72493 | 73737 | 73461 | 73018 |
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.
rand/RAND
nombre aléatoire distribué selon la loi
uniforme.
randNorm
(TI) nombre aléatoire distribué selon la loi
normale
nCr/COMB
nombre de combinaisons,
nPr/PERM
nombre de permutations
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é
| e |
| , µ=7/2, σ= | √ |
| /12 |
On pourra représenter simultanément la densité de probabilité et l’histogramme des moyennes.
L’exploitation de données peut prendre plusieurs formes :
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).
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
( | ∫ |
| + | ∫ |
| ) e |
| = 0.05 | ∫ |
| e |
|
calcul lié à celui de la fonction UTPN
de la HP
ou Normal Cdf
de la TI (menu F5) ou NormCD
sur Casio
|
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= |
|
suit la loi de Student S(n−1,x) à n−1 degrés de liberté :
S(n,x)= |
| (1+ |
| ) |
| , où Γ(x)=(x−1)! |
N.B.: l’abréviation de cette loi est t ou T et non S (par exemple
UTPT
sur HP, Normal t Cdf
sur TI, TCD
sur Casio).
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).
Loi | HP | TI | Casio | arguments |
Chi 2 | UTPC | Chi-square Cdf | ChiCD | degrés de liberté |
Snedecor | UTPF | F Cdf | FCD | 2 degrés de liberté (num/den) |
Normale | UTPN | Normal Cdf | NormCD | moyenne et variance |
Student | UTPT | t Cdf | TCD | degrés de liberté |
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
,
OneSampleTTest
, ChiTest
, TwoSampleFTest
...
suivi de DispStats
),
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 :
ROOT('UTPT(7,X)-0.025',X,0.0)
(ne pas oublier '
)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%.
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= |
|
| (Xk−µ)2 |
On peut montrer que n Z2/σ2 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 z2/σ2 et on regarde la probabilité
que nZ2/σ2 (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 σ.
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 (version 2 et plus) 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. Sur Casio, Menu et Spreadsheet.
Notez que sur les TI/HP, 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).
=
, vous pouvez indiquer ce signe sur TI/Casio,
mais sur HP, il ne faut pas mettre de signe =
(et on doit parfois
quoter la formule en l’encadrant par deux '
).
SIGMA
dont le premier argument
est une plage de cellules et le deuxième argument soit un entier
(0 pour la somme, 1 pour la moyenne, 2 pour la variance), soit
un test (par exemple X==2
pour compter le nombre de 2 d’une
plage). Attention sur HP, il faut saisir la formule en mode exact
et veiller à bien encadrer la formule
par des signes '
lorsqu’on édite une formule
contenant SIGMA
y compris en mode algébrique.
Exercices:
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.
Pour les récurrences faisant intervenir 3 ou plus termes consécutifs,
il faut introduire une ou des suite(s) auxiliaire(s) obtenue(s) en décalant
la suite initiale.
Sur les Casio, Main puis Sequence. Sélectionner ensuite l’onglet Recurrent, puis saisir le type de récurrence (à 1 ou 2 termes), puis la formule (pour saisir an cliquer sur n,an 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 à gauche. La fonction rsolve vous permet de trouver le terme général de certaines récurrences (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ée.
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 TI/HP, 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/Casio.
Exercices :
un+1=un− |
|
un+2=un+un+1 |
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
⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ |
| ⎞ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎠ |
11x+13y=m |
f′(x)=f(−x) |
un+1=f(un), f(x)=x− |
| (x2−7), u0 ∈ [2,3] |
F(x)= | ∫ |
| ek t2 dt, k ∈ ℝ |
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.
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
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 sur les TI). Sur Casio, les données sont presque certainement stockées sous forme d’informations de géométrie analytique. Dès qu’un calcul est nécessaire, il est fait en mode approché, on ne peut donc que conjecturer mais on ne peut pas prouver un résultat sur TI/Casio.
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/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é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(t) x′(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, a′x + b′y+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).
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.
A:A:
pour un objet nommé A
et
affiché A
, ou ::A
pour un objet nommé A
mais sans légende à l’écran.
abscisse(A)
(les commandes de géométrie
sont affichées dans le bandeau si on tape la commande
GEO(0)
).
Nous allons construire un triangle défini par trois points et son cercle circonscrit.
F6
(Config) et sélectionnez Francais
(si c’est English
qui apparait, tapez sur la touche ON
pour annuler)
F6
(Config)
puis en sélectionnant Enlever axes
F1
(Fich.) puis choisissez Nouveau
,
donnez un nom de variable pour votre construction, par exemple
CIRCON
F2
(Ajouter) puis choisissez Points
puis aleatoire
, donnez alors 3 noms de points, par exemple
A B C
(le clavier est en mode alphabétique).
Vous avez construit 3 points aléaoires.
F2
(Ajouter) puis choisissez Lignes
puis mediatrice
, vous voyez apparaitremediatrice()
mediatrice(A,B)
ENTER
, donnez ensuite
le label de la médiatrice (c’est le nom qui apparaitra à l’écran) et
le nom de variable de la médiatrice, par exemple :c:c
.
Vous pouvez aussi ne pas afficher de label pour la médiatrice
en tapant ::c
. Par contre vous devez toujours donner un nom
de variable à la médiatrice.
b
des points A
et
C
et la médiatrice a
des points B
et C
.
F2
, sélectionnez Points
puis inter
, indiquez en argument les noms de variable
des deux médiatrices, par exemple a
et b
, donnez
un label et un nom de variable pour le point d’intersection,
par exemple :O:O
.
F2
, puis Courbes
, puis cercle
,
donnez en argument le centre O
et l’un des 3 points, par
exemple A
, donnez un nom de label et de variable au cercle
par exemple :S:S
. Notez qu’on pouvait construire directement
un cercle circonscrit à partir de 3 points (en choisissant
circonscrit
au lieu de cercle
).
F1
puis Sauver
pour sauver
la figure CIRCON
F4
(Déplacer), sélectionnez
A
, B
ou C
et faites bouger le point avec
les flèches (vous pouvez précéder les flèches par
les touches shift pour déplacer plus rapidement ou alpha moins
rapidement).
Tapez sur Ok
pour accepter la nouvelle position ou sur Annul
pour
annuler le déplacement.
F1
puis Quitter
.
affixe(A)
, 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étique minuscule, taper à nouveau sur
shift gauche alpha pour revenir en mode majuscule),
ou en utilisant le sous-menu Mesure
du bandeau des commandes
de géométrie (taper GEO(0)
pour faire apparaitre ce menu).
F1
et charger
CIRCON
.
Edit figure
,
soit en dehors de l’application de géométrie
en éditant la variable CIRCON
. Dans les deux cas,
vous éditez une liste d’objets
géométriques, chaque objet géométrique étant constitué
d’une formule de calcul et d’un label/nom de variable.
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).
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.
STO▷ NOMDUPROGRAMME |
Define
),
il n’y a pas de structures de controle ni de possibilité d’exécuter
plusieurs instructions dans une fonction.STO▷ NOUVEAUNOM |
Il faut prendre l’habitude de commenter les programmes. En algorithmique un commentaire commence par // et se termine par un passage à la ligne.
'
pour commencer un commentaire
jusqu’à la fin de la ligne.
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).
≪ 1 → A ≪ 2 → B ≪ corps du programme ≫ ≫ ≫ |
≪ 3.14 → PI ≪ 2*PI*R ≫ ≫ STO▷ PER |
Local
suivi des noms des variables locales.
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 :
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.
≪ → R ≪ 3.14 → PI ≪ 2*PI*R ≫ ≫ ≫ STO▷ PER |
Pour que l’utilisateur puisse entrer une valeur dans la variable A au cours de l’exécution d’un programme, on écrira,
Input
par exemple Input A,"A=?"
on peut rajouter une 2ème chaine donnant le titre de la boite de
dialogue. InputStr
et InputFunc
permettent
d’entrer une chaine de caractères ou une fonction.
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.
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 :
MSGBOX( "A="+→ STR(A)) |
DISP("A="+A,3) |
Print
affiche une variable en mode texte
alors que PrintNatural
l’affiche en mode 2-d,
Pause
suspend l’exécution d’un
programme, ClrText
efface la sortie texte. Locate
permet
de spécifier les coordonnées d’affichage en pixels. Message
permet d’afficher une boite de dialogue.
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).
Une action est une séquence d’une ou plusieurs instructions. On utilise : (sur TI ou Classpad) ou ; (sur HP, le ; s’obtient en tapant en même temps sur shift-rouge SPC) comme séparateur d’ instructions.
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.
Une condition est une expression qui a comme valeur un booléen, à savoir elle est soit vraie soit fausse.
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.
ADDITION(4,5) |
:addition(a,b) :Func :Return a+b :EndFuncPour l’exécuter, on tape :
addition(4,5) |
Define
)
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.
SEQ(′X*X′,′X′,4,10,1) |
{16,25,36,49,64,81,100} |
Les chaines de caractère utilisent le délimiteur
"
. Quelques fonctions (HP puis TI puis Casio) :
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.
Ce document a été traduit de LATEX par HEVEA