Programmes - Education TI

publicité
Programmes
Quelques conseils
TERMINALE
Convergence
Somme des termes d'une suite
Intégration
Méthode de Newton
Produit vectoriel
QUELQUES CONSEILS
Si votre programme ne fonctionne pas...
• La première source d'erreur est l'oubli d'une ou plusieurs lignes. Vérifiez également
l'absence d'erreur de copie.
• Quelques erreurs peuvent aussi provenir d'une confusion entre la lettre O et le chiffre 0,
même problème avec la lettre I et le chiffre 1.
• N'oubliez pas également que le nom de variable Y1 sur TI-80, TI-82 et TI-83, est distinct
de Y1 (produit de la variable Y par le nombre 1).
Pour obtenir ce nom, appuyez sur :
) … sur TI-80
) … … sur TI-82,
r a ¢ sur TI-83.
• Sur TI-82 et TI-83, pour écrire le nom des matrices [A], [B], [C], ... n'utilisez pas les
crochets [, ] associés aux lettres A, B, C, ... Il faut utiliser la touche p , puis taper le
numéro de la matrice désirée.
• Dans le texte des programmes, le signe → s'obtient avec la touche ¡ .
• De même, (-) correspond au signe - utilisé pour écrire l'opposé d'un nombre. On l'obtient
en appuyant sur la touche ® .
• Attention également à ne pas inclure des espaces entre certaines commandes comme par
exemple : A¡ B, ou Prompt A,B.
• Ö Frac est la quatrième option du menu FRAC sur TI-80, c'est la première option du
menu MATH sur TI-82 et TI-83. Sur cette dernière machine, vous la trouverez également
dans le menu CATALOG.
• On peut être amené dans un programme à faire appel à un autre programme. Voir par
exemple le programme SYST3 pour la résolution d'un système
sur TI-80, ou les
programmes SUITARIT et SUITGEO sur les suites arithmétiques et géométriques.
• Pour introduire cette instruction dans un programme, vous devez appuyer sur q ,
choisir l'option EXEC, sélectionner le nom du programme désiré, appuyer sur • , ou
plus simplement sur le numéro correspondant du programme.
Pour encore plus de souplesse...
De très nombreux programmes utilisent la fonction définie dans Y1. Pour
travailler avec une autre fonction (de Y2 à Y4 sur TI-80, de Y2 à Y0 sur
TI-82 et TI-83), placez dans le registre Y1 un renvoi vers la fonction que
vous désirez utiliser.
Par exemple, pour utiliser Y3, écrivez Y1 = Y3 après avoir appuyé sur
.
Pour une meilleure utilisation de la mémoire, pensez à effacer
régulièrement les variables inutilisées, en particulier s'il s'agit de listes ou
de matrices.
Retour à l'Index
TERMINALE
CONVERGENCE
Soit
une suite définie par récurrence (
), convergeant vers
, le programme
suivant recherche le premier indice n tel que vérifie
. Il est ainsi possible d'étudier la
vitesse de convergence d'une suite. L'expression de la fonction f utilisée pour cette définition
étant placée dans Y1.
Ce programme comporte une boucle afin de pouvoir tester différentes valeurs de sans avoir à
réintroduire le premier terme de la suite et la valeur de la limite étudiée. On sort de cette boucle
en choisissant une valeur de inférieure ou égale à 0.
TI-80
TI-82 & TI-83
PROGRAM:CONV saisie de l'indice PROGRAM:CONV saisie de l'indice
initial
initial
ERG
ERG
saisie du premier
:DISP "N0":INPUT saisie du premier :Input "N0 =", A
terme
terme
A
:Input "UN0=", B
saisie de la limite
:DISP "UN0":INPUT saisie de la limite
:Input "L =", L
début
de
boucle :Lbl 1
début
de
boucle
B
"epsilon"
:DISP "L":INPUT L "epsilon"
:Input
saisie de epsilon
saisie de epsilon
:LBL 1
"EPSILON=",E
sortie de boucle si :If E7 0
sortie de boucle si
:DISP
"EPSILON":INPUT
:Stop
initialisation
des :A → N
initialisation
des
E
variables
variables
:IF E7 0:STOP
:B → X
début de boucle de :While abs(X-L)8 E début
de
boucle
:A → N:B → X
calcul
"while"
:LBL 2
:Y1 → X
contrôle
de
la
incrémente valeur de
:IF ABS(X-L)8 E
:N+1 → N
convergence
N
:THEN
:End
alors
fin de boucle "while"
:Y1 → X
:Disp "N=",N
incrémente valeur de :Goto 1
affichage de N
:N+1 → N
N
fin
de
boucle
:GOTO 2
fin de boucle de calcul
"epsilon"
:ELSE
sinon
:DISP "N=",N
affichage de N
:GOTO 1
fin
de
boucle
:END
"epsilon"
fin de "if then else"
Exemple d'utilisation sur TI-80
Étudions le comportement de la suite définie par
montrer que cette suite converge vers
et
. Il est possible de
. Combien de termes faudra-t-il calculer pour avoir
, puis, pour avoir
?
Après avoir entré la fonction dans Y1, on lance le programme, à chaque demande on donne la
valeur désirée, suivie de • . Lorsque la valeur de epsilon est validée, le programme affiche
la valeur de n cherchée, puis demande une nouvelle valeur de epsilon.
Il faudra donc calculer au moins 79 termes pour obtenir le second résultat.
Retour à l'Index
SOMME DES TERMES D'UNE SUITE
Ce programme permet de déterminer la somme des termes d'une suite définie par une formule du
type
. Il suffit de placer l'expression de la fonction f à utiliser dans le registre Y1 sous la
forme
Y1=f(X). On obtient une expression rationnelle du résultat quand cela est possible.
TI-80
TI-82 & TI-83
PROGRAM:SOMM saisie de l'indice PROGRAM:SOMM
initial
E
E
:DISP "N1=": INPUT saisie de l'indice final :Input "N1=", D
initialisation de S à 0 :Input "N2=", F
D
:DISP "N2=": INPUT début de boucle
:0 → S
S
est
remplacé
par
F
:For(X,D,F)
S+Y1
:0 → S
:S+Y1 → S
fin
de
boucle
:FOR(X,D,F)
:End
affichage du résultat :Disp S,S Ö Frac
:S+Y1 → S
:END
:DISP S,S Ö FRAC
Exemple d'utilisation sur TI-82 ou TI-83
Montrons que
. On doit d'abord définir l'expression de calcul du terme général
dans Y1, puis lancer le programme SOMME.
En fait, sur TI-80, TI-82 et TI-83, il est même inutile de faire un programme pour répondre
à ce type de question. Il suffit d'utiliser les instructions sum (somme des termes d'une liste) et
seq (construction d'une liste) en écrivant :
sum seq(f(N), N, N1, N2,1)
Le premier argument permet de définir l'expression (fonction de N) à utiliser, le deuxième
indique que N varie entre les valeurs N1 et N2, définies par les troisième et quatrième arguments
de la fonction seq. Enfin, le dernier argument, le plus souvent égal à 1, indique l'écart (le pas)
entre deux valeurs de N. (Argument optionnel sur la TI-83.)
La seule limitation à l'utilisation de cette fonction sur TI-80, ou sur TI-82, réside dans
l'obligation de travailler avec des listes de moins de 100 nombres. Lorsque le nombre de termes à
sommer dépasse cette limite, il est nécessaire d'utiliser le programme précédent. Sur TI-83, on
est seulement limité par la taille mémoire disponible.
Retour à l'Index
INTÉGRATION
CALCUL APPROCHÉ D'INTÉGRALES
La TI-80 ne dispose pas d'un programme de calcul d'intégrales. Le programme suivant (méthode
de Simpson, voir formule ci-dessous) permet de remédier à cette absence.
.
TI-80
TI-82 & TI-83
PROGRAM:SIMPS saisie des bornes et de Utilisation directe de
N
fnInt
ON
initialisation de S à 0 (menu MATH)
:DISP "A,B,N"
largeur
de
la
:INPUT A
subdivision
:INPUT B
début de boucle de
:INPUT N
calcul de la somme
:0 → S
fin de boucle "for"
:(B-A)/2N → W
affichage du résultat
:FOR(J,1,N)
:A+2(J-1)W → L
:A+2JW → R
:(L+R)/2 → M
:L → X
:Y1 → L
:M → X
:Y1 → M
:R → X
:Y1 → R
:W(L+4M+R)/3+S
→S
:END
:DISP "INT=",S Ö
FRAC
Exemple d'utilisation du programme SIMPSON sur TI-80
Valeur approchée de l'intégrale
avec
:
Utilisation de la fonction fnInt sur TI-82 ou TI-83
Sur les trois machines, la fonction Ö FRAC permet d'obtenir un affichage rationnel du résultat.
INTÉGRATION (suite)
MÉTHODES DES RECTANGLES ET DES TRAPÈZES
Présentons maintenant un programme plus pédagogique, il utilise la méthode des rectangles en
calculant les deux sommes :
et
.
La moyenne de ces deux sommes donne la formule correspondant à la méthode des trapèzes :
TI-80
PROGRAM:RECTA
NG
:CLRHOME
:DISP "A,B,N?"
:INPUT A
:INPUT B
:INPUT N
:(B-A)/N → H
:A → X:Y1 →
S:ANS → C
:FOR(I,2,N)
:X+H → X:Y1+S →
S
:END
:B → X
:S+Y1-C → T
:DISP "S1",SH
:DISP "S2",TH
:DISP "T",(S+T)H/2
efface l'écran
saisie de la borne inf.
saisie de la borne sup.
saisie
#
de
subdivisions
calcul du pas
initialisation
des
variables
début de boucle de
calcul de la somme
fin de boucle
calcul de T
affichage
des
3
résultats
.
TI-82 & TI-83
PROGRAM:RECTA
NGL
:ClrHome
:Prompt A,B,N
:(B-A)/N → H
:A → X:Y1 → S:Ans
→C
:For(I,2,N)
:X+H → X:Y1+S →
S
:End
:B → X
:S+Y1-C → T
:Disp SH
:Disp TH
:Disp (S+T)H/2
:Disp
fnInt(Y1,X,A,B)Ö
Frac
:Output(4,1,"S1")
:Output(5,1,"S2")
:Output(6,1,"T")
:Output(7,1,"I")
Exemple d'utilisation sur TI-82 ou TI-83
Calcul par la méthode des rectangles et des trapèzes de
.
efface l'écran
saisie des paramètres
calcul du pas
initialisation
des
variables
début de boucle de
calcul de la somme
fin de boucle
calcul de T
affichage
des
3
résultats...
... et de la valeur
donnée
par
la
fonction fnInt
Le dernier résultat, désigné par I, est celui que l'on obtient en utilisant directement la fonction
fnInt de la machine. Cela permet une comparaison facile entre les différentes valeurs obtenues :
valeurs de S1 et S2, associées à la méthode des rectangles, valeur de la moyenne T de ces deux
sommes, ce qui correspond à la méthode des trapèzes, et valeur "exacte" de l'intégrale.
Retour à l'Index
RACINES, f(x)=0
MÉTHODE DE NEWTON
Nous allons voir un deuxième programme de résolution d'équation f(x)=0, utilisant la méthode
de Newton. Ce programme travaille sur la fonction définie dans Y1 et recherche une solution
dans l'intervalle Xmin, Xmax correspondant à la fenêtre graphique.
TI-80
TI-82 & TI-83
PROGRAM:NEWT initialisation de X
Utilisation directe de
début de boucle "1"
ON
root
sur
TI-82
zero
sur
TI-83
:(XMAX+XMIN)/2→
stocké
(menu CALC)
X
dans R
:LBL 1
contrôle
de
la Sur TI-83 il est
également possible
:Xconvergence
d'utiliser le solveur
Y1/nDERIV(Y1,X,X) alors
→R
X reçoit la valeur de intégré accessible
par o ¬
:IF ABS (X-R)>ABS R
fin de boucle "1"
(X/1E10)
sinon
:THEN
affichage du résultat
:R → X
fin du "if then else"
:GOTO 1
:ELSE
:DISP "RACINE=",R
:END
Exemple d'utilisation sur TI-80
Après avoir défini la fonction dans Y1, et choisi un zoom permettant d'afficher une racine, il
vous suffit de lancer le programme NEWTON. Voici un exemple avec
:
UTILISATION DES FONCTIONS DE LA TI-82 ET DE LA TI-83
Après avoir défini la fonction dans Y1, ici
, à partir de l'écran graphique, on utilise
l'option root dans le menu CALC (option zero sur la TI-83).
Retour à l'Index
PRODUIT VECTORIEL
Sur TI-80, entrez les deux vecteurs sous forme de listes dans L1 et L2. Sur TI-82 et TI-83,
entrez-les sous forme de matrices (une colonne) dans [A] et [B] avant d'appeler ce programme.
TI-80
TI-82 & TI-83
PROGRAM:PROVE utilisation des listes PROGRAM:PROD initialisation des dim.
L1 et L2
de [C]
CT
VECT
:{
L1(2)L2(3)- formule stockée dans :{3,1} → dim ( [C] ) formule stockée dans
L1(3)L2(2)
, L3
Y4
:"[A](I,1)[B](J,1)affichage du résultat [A](J,1)[B](I,1)" → calcul des éléments de
L1(3)L2(1)L1(1)L2(3)
,
[C]
Y4
efface le contenu de
L1(1)L2(2):1 → I:2 → J
Y4
L1(2)L2(1) } → L3
:Y4 → [C](3,1)
:DISP L3 Ö FRAC
:3 → J:(-)Y4 → affichage du résultat
[C](2,1)
:2 → I:Y4 → [C](1,1)
:"" → Y4
:Disp [C] Ö Frac
Exemple d'utilisation sur TI-80
Saisie des vecteurs sous forme de listes et calcul du produit vectoriel :
Exemple d'utilisation sur TI-82 ou TI-83
Saisie des vecteurs en utilisant le menu MATRX, option EDIT et calcul du produit vectoriel :
Retour à l'Index
RÉCRÉATION
Pour des raisons de place les commentaires de ce programme sont inclus dans le texte de ce
dernier. Ils sont en italique et précédés du symbole ©, ne les tapez pas lors de la saisie sur votre
machine.
TI-82 & TI-83
PROGRAM:MASTR © on tire au hasard 4 :Lbl Z
:Lbl 1
chiffres A, B, C, D
MND
:If F=B:Then
:If C=G and D=H
:ClrHome:Fix 0
:int Mrand+1 → A © si le chiffre des 100 © si C=G et D=H
:For(A,2,7
:int Mrand+1 → B (F=B) est correct, :Then
:For(B,2,15
:int Mrand+1 → C affichage d'un 'B'. © "C'EST GAGNÉ
!":Output(4,4,"WELCO :int Mrand+1 → D Aller au label Y
ME TO
:For(U,1,8)
© le nombre ABCD :Output(X,14,"B"
:Output(A,B,"*
:Goto Y:End
:For(R,1,20)
:Output(5,4,"MASTER
MIND
:End:End
:For(I,1,50
:Output(4,3,"
PROGRAM BY
:Output(5,3,"
G.EGBERT
:End
:Lbl 9
:Menu("NIVEAU:
",
"FACILE",5,"MOYEN"
,6,
"DIFFICILE",7
:Lbl 5:6 → M:Goto 8
© niveau facile : choix
des chiffres entre 1 et 6
:Lbl 6:8 → M:Goto 8
© niveau moyen : choix
des chiffres entre 1 et 8
:Lbl 7:9 → M
© niveau difficile :
choix des chiffres entre
1 et 9
:Lbl 8 :ClrHome
:Disp "LA MACHINE
VA",
"COMPOSER
UN
CODE",
"DE 4 CHIFFRES",
"CHOISIS DE 1 A ",
"AVEC
REPETITIONS",
"POSSIBLES"
:Output(4,16,M
:Pause
:ClrHome
:Disp "APRES UN
ESSAI,
",
"LA
MACHINE",
"REPOND PAR UN B
",
"POUR LE BON",
"CHIFFRE A LA",
"BONNE PLACE ET",
"UN W POUR LE"
:Pause :ClrHome
:Disp "BON CHIFFRE
A",
"UNE
MAUVAISE",
"PLACE.
","",
est stocké dans L6
:{1000A+100B+10
C+D}
→ L6
:ClrHome
:Disp
"LA
MACHINE
EST","PRETE.
APPUYEZ",
"SUR
ENTER,
PUIS",
"FAITES VOTRE",
"PREMIER
ESSAI."
:Pause :ClrHome
:Lbl 3 © label
correspondant aux
différents essais
:Input I © un essai,
réponse dans I
© décomposition du
nombre I=EFGH en
4 chiffres E, F, G, H
:iPart (I/1000) → E
:iPart
((I1000E)/100)
→F
:iPart
((I-1000E100F)/10)
→G
:(I-1000E-100F10G) → H
:{I} → L1 © le
nombre I est stocké
dans la liste L1
:Output(X,1, L1
© affichage de I
:If E=A:Then
© si le chiffre des
1000 (A=E)
est
correct,
affichage
d'un 'B'. Aller au
label Z
:Output(X,13,"B"
:Goto Z:End
:3 → dim L4
© autrement, L4 liste
à 3 éléments
:{E,E,E}={B,C,D}
→ L4
© autrement, teste si F
est un des autres
chiffres
:{F,F,F}={A,C,D}
→ L4
:If sum L4 0
© si oui, affichage d'un
'W'
:Output(X,14,"W"
:Lbl Y
:If G=C:Then
© si le chiffre des 10
(G=C) est correct,
affichage d'un 'B'.
Aller au label X
:Output(X,15,"B"
:Goto X:End
© autrement, teste si G
est un des autres
chiffres
:{G,G,G}={A,B,D}
→ L4
:If sum L4 0
© si oui, affichage d'un
'W'
:Output(X,15,"W"
:Lbl X
:If H=D:Then
© si le chiffre des
unités
(H=D)
est
correct, affichage d'un
'B'. Aller au label
:Output(X,16,"B"
:Goto
:End
© autrement, teste si H
est un des autres
chiffres
:{H,H,H}={A,B,C}
→ L4
:If sum L4 0
© si oui, affichage d'un
'W'
:Output(X,16,"W"
:Lbl
:If A=E and B=F
© si A=E et B=F, aller
en 1
:Goto 1
© autrement aller en 2
:Output(8,1,"
GAGNE!!
"
:End
:For(R,1,20
:Output(8,1," "
:End
:End
:Goto P
:End
:Lbl 2
© compteur d'essais
:X+1 → X
:If X=8
© nombre d'essais
dépassé, aller en Q
:Goto Q
© autrement, un
nouvel essai, aller
en 3
:Output(8,11,"ESS
AI?"
:Goto 3
:Lbl Q
©
"C'EST
PERDU..."/
:Output(1,7,"DES
OLE,
:Output(2,7,"VOU
S
:Output(3,7,"AVEZ
:Output(4,7,"PER
DU
:Output(5,7,"COD
E:
:Output(6,7, L6
:Pause
:Lbl P
:Menu("UNE
AUTRE
PARTIE",
"OUI",9,"NON",J
©
désirez-vous
rejouer ? oui, aller
en
9;
non, aller en J
:Lbl J
:ClrHome
:Stop
"VOUS
AVEZ", © teste si E est un :Goto 2
des autres chiffres
"7 ESSAIS."
:If sum L4 0
:Pause :1 → X
© si oui, affichage
d'un 'W'
:Output(X,13,"W"
Retour à l'Index
Téléchargement