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-82 et TI-83, est distinct de Y1 (produit de la variable Y par le nombre 1). Pour obtenir ce nom, appuyez sur : ) sur ) 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, 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, 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, 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. 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. PROGRAM:CONV saisie de l'indice PROGRAM:CONV saisie de l'indice ERG initial ERG initial :DISP "N0":INPUT saisie du premier :Input "N0 =", A saisie du premier A terme :Input "UN0=", B terme :DISP "UN0":INPUT saisie de la limite :Input "L =", L saisie de la limite B début de boucle :Lbl 1 début de boucle :DISP "L":INPUT L :LBL 1 "epsilon" saisie de epsilon :Input "EPSILON=",E "epsilon" saisie de epsilon :DISP "EPSILON":INPUT sortie de boucle si :If E7 0 :Stop sortie de boucle si E initialisation des :A N initialisation des :IF E7 0:STOP variables :B X variables :A N:B X début de boucle de :While abs(x-l)8 E début de boucle :LBL 2 calcul :Y1 X "while" :IF ABS(X-L)8 E contrôle de la :N+1 N incrémente valeur de :THEN convergence N :Y1 X alors :Disp "N=",N fin de boucle "while" :N+1 N incrémente valeur de :Goto 1 affichage de N :GOTO 2 N fin de boucle :ELSE fin de boucle de calcul "epsilon" :DISP "N=",N sinon :GOTO 1 affichage de N fin de boucle "epsilon"
fin de "if then else" Exemple d'utilisation sur Étudions le comportement de la suite définie par et. Il est possible de montrer que cette suite converge vers. 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. 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. PROGRAM:SOMM saisie de l'indice PROGRAM:SOMM E initial E :DISP "N1=": INPUT saisie de l'indice final :Input "N1=", D D initialisation de S à 0 :Input "N2=", F :DISP "N2=": INPUT début de boucle :0 S F S est remplacé par :For(X,D,F) :0 S S+Y1 :S+Y1 S :FOR(X,D,F) fin de boucle :S+Y1 S affichage du résultat :Disp S,S Ö Frac :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-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, 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. INTÉGRATION CALCUL APPROCHÉ D'INTÉGRALES La 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. PROGRAM:SIMPS ON :DISP "A,B,N" :INPUT A :INPUT B :INPUT N :0 S :(B-A)/2N W :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 :DISP "INT=",S Ö FRAC saisie des bornes et de N initialisation de S à 0 largeur de la subdivision début de boucle de calcul de la somme fin de boucle "for" affichage du résultat Utilisation directe de fnint (menu MATH) Exemple d'utilisation du programme SIMPSON sur. 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 : 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 :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 Exemple d'utilisation sur TI-82 ou 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 :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") 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. 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. PROGRAM:NEWT initialisation de X Utilisation directe de ON début de boucle "1" root sur TI-82 :(XMAX+XMIN)/2 stocké zero sur TI-83 X dans R (menu CALC) :LBL 1 contrôle de la Sur TI-83 il est :X- convergence également possible Y1/nDERIV(Y1,X,X) alors d'utiliser le solveur R X reçoit la valeur de intégré accessible :IF ABS (X-R)>ABS R par o (X/1E10) :THEN :R X :GOTO 1 fin de boucle "1" sinon affichage du résultat fin du "if then else" :ELSE :DISP "RACINE=",R Exemple d'utilisation sur 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).
PRODUIT VECTORIEL Sur, 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. PROGRAM:PROVE utilisation des listes PROGRAM:PROD initialisation des dim. CT L1 et L2 VECT de [C] :{ L1(2)L2(3)- formule stockée dans :{3,1} dim ( [C] ) formule stockée dans L1(3)L2(2), L3 :"[A](I,1)[B](J,1)- Y4 L1(3)L2(1)- L1(1)L2(3) affichage du résultat, [A](J,1)[B](I,1)" calcul des éléments de [C] L1(1)L2(2)- L1(2)L2(1) } L3 :DISP L3 Ö FRAC efface le contenu de Y4 affichage du résultat Y4 :1 I:2 J :Y4 [C](3,1) :3 J:(-)Y4 [C](2,1) :2 I:Y4 [C](1,1) :"" Y4 :Disp [C] Ö Frac Exemple d'utilisation sur 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 : 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. PROGRAM:MASTR MND :ClrHome:Fix 0 :For(A,2,7 :For(B,2,15 :Output(4,4,"WELCO ME TO :Output(A,B,"* on tire au hasard 4 chiffres A, B, C, D :int Mrand+1 A :int Mrand+1 B :int Mrand+1 C :int Mrand+1 D le nombre ABCD :Lbl Z :If F=B:Then si le chiffre des 100 (F=B) est correct, affichage d'un 'B'. Aller au label Y :Output(X,14,"B" :Goto Y :Lbl 1 :If C=G and D=H si C=G et D=H :Then "C'EST GAGNÉ!"- :For(U,1,8) :For(R,1,20)
:Output(5,4,"MASTER MIND :For(I,1,50 :Output(4,3," PROGRAM BY :Output(5,3," G.EGBERT :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 CODE", "DE 4 CHIFFRES", "CHOISIS DE 1 A ", "AVEC REPETITIONS", "POSSIBLES" :Output(4,16,M :Pause :ClrHome :Disp "APRES UN ESSAI, ", "LA "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 MACHINE EST","PRETE. APPUYEZ", "LA "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 ((I- 1000E)/100) F UN :ipart ((I-1000E- 100F)/10) G :(I-1000E-100F- 10G) 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 MACHINE", 1000 (A=E) est correct, affichage d'un 'B'. Aller au label Z :Output(X,13,"B" :Goto Z :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 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 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!! " :For(R,1,20 :Output(8,1," " :Goto P :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", "7 ESSAIS." :Pause :1 X teste si E est un des autres chiffres :If sum L4 0 si oui, affichage d'un 'W' :Output(X,13,"W" :Goto 2