Term S Obligatoire 2010-2011/elements de programmation sur TI 82

Transcription

Term S Obligatoire 2010-2011/elements de programmation sur TI 82
Quelques conseils pour écrire un programme sur TI 82 STAT ou TI 83 :
Lorsque vous écrivez votre programme, vous avez besoin d’instructions du genre
PROMPT, INPUT, FOR, END, IF,END,WHILE,<,=, ≠ etc…
Une façon de les écrire est de :
Appuyer sur la touche 2nd CATALOG
Et de taper la première lettre de l’instruction cherchée, puis d’utiliser les flèches
directionnelles ▼▲ pour arriver jusqu’à l’instruction cherchée
Exemple P, ▼▼▼▼▼▼▼▼ donne Prompt
Puis Appuyer sur entrée, vous obtenez alors Prompt.
On peut opérer autrement
Lorsque vous êtes en mode « édition de programme »
Pour obtenir Prompt vous devez taper sur les touches (ou menus) suivants :
PRGM
►I/O
▼2 :Prompt
ENTER
Que nous symboliserons par :
Pour obtenir :
Taper
Prompt
PRGM I/O 2 :Prompt ENTER
Je donne ci-dessous les instructions les plus courantes :
Pour obtenir :
Taper
Prompt
PRGM I/O 2 :Prompt ENTER
Input
PRGM I/O 1 :Input ENTER
Disp
PRGM I/O 3 :Disp ENTER
If
PRGM CTL 1 :If ENTER
Then
PRGM CTL 2 :Then ENTER
Else
PRGM CTL 3 :Else ENTER
FOR
PRGM CTL 4 :For( ENTER
While
PRGM CTL 5 : While ENTER
End
PRGM CTL 7 :End ENTER
ClrList
STAT EDIT 4:Clrlist ENTER
L1,L2etc
2nd1,2nd2 etc.. ENTER
Y1 (ouY2)
VARS Y-VARS 1:Function 1:Y1 ( ou 2:Y2) ENTER
= , ≠ ,<,>, etc…
2nd MATH TEST 1 : (ou 2 : ou 3 : etc…) ENTER
Int
MATH NUM 5 :int ENTER
→
STO
Règles Fondamentales :
Une boucle FOR se termine toujours par un end
Une boucle While se termine toujours par un end
Un test if then se termine toujours par un end
Un test if then Else se termine toujours par un end
Les listes L1 , L2 ,... sont indexée à partir de 1,
c'est-à-dire que l’on peut écrire 5 → L1( 1 ) , ( dans L1( 1 ) , je stocke la valeur 5)
mais que 3 → L1( 0 ) donne une erreur, car L1( 0 ) , n’existe pas pour la machine, ceci oblige
à une petite gymnastique lorsqu’on programme une suite u0 = 3 , u n+1 = 2 * u n + 1 dans la
liste L1 , 3 → L1( 1 ) et 2* L1( K ) +1 → L1( K + 1 ) .
Fin des conseils
L.Gulli lycée Berthelot
Page 1 sur 6
TS Programmation sur TI
Programmations sur machine :
1. Méthode de dichotomie au départ Programmer dans Y1 la fonction f
Program : DICHO
Utiliser ce programme pour
calculer une encadrement
PROMPT A
−3
PROMPT B
d’amplitude 10 de la
PROMPT P
solution de l’équation
While B-A>P
f ( x ) = x3 + 2 x − 1 = 0 ,
(A+B)/2 → U
comparer avec le résultat
If Y1(A)* Y1(U) < 0
obtenu par la fonction
Then
« trace » de la calculatrice.
U→B
ELSE
U→A
End
End
DISP A,B
2. Raisonnement par récurrence :
n est un entier naturel, n ≥ 1 , notons Pn la proposition suivante :
n( n + 1 )( 2n + 1 )
»
6
On vérifie facilement que P1 est vraie, P2 est vraie P3 est vraie
« 1 + 2 + ... + n =
2
2
2
Explication du Programme :
On fait une boucle For (I,1,N), qui pour chaque valeur de I
Calcule 1² + 2² + ... + I ² qui sera stocké dans la variable A
I ( I + 1 )( 2 I + 1 )
qui sera stocké dans la variable B
6
Pour chaque valeur de I , on compare les valeurs contenues dans A et B
Calcule
On fait un test de comparaison
Si A ≠ B,
On met la valeur 1 dans la variable T, pour signaler que A ≠ B
Et on met la valeur
on passe à la valeur suivante de I dans la variable R, pour signaler que A ≠ B
pour la valeur en cours de l’indice I
puis on étudie la valeur suivante de l’indice I
On s’arrête lorsque I=N+1
On affiche le résultat
Si T=0, le résultat est alors vrai pour toute valeur de I=1 à N
Si T=1, le résultat est alors Faux pour la valeur de I=R
Fin de l’explication du programme.
Ecriture du programme :
Le programme ci- PRGM RECUR I*(I+1)*(2*I+1)/6 → B If T=0
contre vous permet PROMPT N
Then
If A-B ≠ 0
DISP “VRAIE N=”,N
0→A
Then
de vérifier que Pn
ELSE
0 →T
1 →T
est vraie, pour
DISP « FAUX »,R
1→R
I→R
toute valeur de N
End
End
que vous donnez à For(I,1,N)
End
A+I^2 → A
la calculatrice
L.Gulli lycée Berthelot
Page 2 sur 6
TS Programmation sur TI
3 Représenter graphiquement les suites u n+1 = f ( u n ) mettre dans Y1 la fonction f ( x )
PRGM : SUITREC
Le programmer ci-contre calcule, pour U = U 0 et N donnés et
ClrList L1 , L1
f ( x ) donnée dans Y1, les coordonnées des points
PROMPT N
Ak (uk ; f ( uk ) = uk +1 ) , pour la suite récurrente u n+1 = f ( u n )
PROMPT U
Les u k dans la liste L1( k ) et les f ( u k ) dans L2 ( k )
U → L1( 1 )
Pour consulter les listes taper STAT EDIT 1 :Edit ENTER
Y1( U ) → L2 ( 1 )
Pour faire tracer les points Ak taper 2nd STAT PLOT 1 ENTER
FOR(K ,2 ,N)
L2 ( K − 1 ) → L1( K ) Plot1 On Type (le premier) Xlist : L1 Ylist : L2 ENTER puis GRAPH
Application aux suites suivantes.
Y1( L1( K )) → L2 ( K )
3
un + 1 ; 2. u0 = 1, u n+1 = u n2 − 1 ;
4
3
1
2
3. u0 = 0 , u n+1 = u n − 1 4. u0 = , u n+1 =
; 5.
2
1 + un
1
3 2
u0 = 1, un+1 = un +
; 6. u0 = 3 , u n+1 =
un
un
10
1
1
1
4. Calcul des termes de la suite sn =
.... +
, pour N donné
+
n +1 n + 2
n+n
End
1. u0 = 1, un+1 =
Deux méthodes, Méthode 1 : utilise FOR, méthode 2 : utilise While
Méthode 1 :
Méthode 2 :
PRGM :SNY
PRGM :SNZ
0→S
PROMPT N
FOR(I,1,N)
S+1/(I+1) → S
End
DISP S
PROMPT N
0→S
1→I
while I<N+1
S+1/(I+1) → S
I+1 → I
End
DISP S
Application calculer s50 vous devriez obtenir 3,518813181
5. Programation de la suite (un ) suite définie par u0 = 1et pour tout
n ∈ N u n+1 = un + 2n + 2 Conjecturer une expression de u n en fonction de n , puis
démontrer votre conjecture.
Corrigé : Le programme suivant sur TI, mets dans la liste L1, les nombres 0,1,2,..,10,
Et dans L2 u0 , u1 ,……, u10
PRGM :EXOA
For(K,1,10)
ClrList L1,L2
K → L1(K+1)
0 → L1(1)
L2(K)+2*(K-1)+2 → L2(K+1)
1 → L2(1)
End
Pour consulter les listes taper STAT EDIT 1 :Edit ENTER
Pour faire tracer les couples (i, ui ) : 2ndY PLOT1 ON XLIST :L1 YLIST :L2 Graph
L.Gulli lycée Berthelot
Page 3 sur 6
TS Programmation sur TI
On a fait le calcul sous excel ( vous devriez retrouver les mêmes résultats sur la TI )
L2
1
3
7
13
21
31
43
57
73
91
111
120
100
80
un
L1
0
1
2
3
4
5
6
7
8
9
10
60
40
20
0
0
2
4
6
8
10
12
n
Il semble que les couples (i, ui ) soient situés sur une parabole.
On cherche alors trois réels a ,b , c , tels que u n = an² + bn + c
Les conditions u0 = 1, u1 = 3 , u 2 = 7 impliquent que c = 1 ; a + b = 2 ; 4a + 2b = 6
Système dont la solution est a = 1, b = 1
On Montre par récurrence sur N la proposition Pn : « u n = n² + n + 1 »
6. Méthode d’Euler ( voir livre page 65) pour la résolution numérique de y' = g ( x )
La fonction g ( x ) est connue et stockée dans Y1
On part du point connu A( X 0 ,Y0 ) et pour un pas H connu, et N + 1 points équidistants
Donc X k = X k −1 + H sont les points de la subdivision.
On calcule les valeurs approchées Yk = Yk −1 + H × g ( X k −1 ) pour k = 1 à k = N
Les X k seront stockés dans la liste L1
Les Yk seront stockés dans la liste L2
PRGM :EULERY
ClrList L1 , L1
PROMPT X
PROMPT Y
PROMPT H
PROMPT N
X → L1( 1 )
Y → L2 ( 1 )
FOR (K,2,N)
L1( K − 1 ) + H → L1( K )
L2 ( K − 1 ) + H * Y1( L1( K − 1 )) → L2 ( K )
End
Pour consulter les listes taper STAT EDIT 1 :Edit ENTER
Pour faire tracer les points X k ,Yk taper 2nd STAT PLOT 1 ENTER
Plot1 On Type (le premier) Xlist : L1 Ylist : L2 ENTER puis GRAPH
Attention la fonction y = g ( x ) , qui est dans Y1 sera aussi tracée
Exécuter le programme pour
X=0 ; Y=0 ; H=0.1 ; N=100 et g ( x ) = 1 /( 1 + x²) vous devriez obtenir
( Nous n’avons retenu que les 16 premières des 101 valeurs calculées)
L.Gulli lycée Berthelot
Page 4 sur 6
TS Programmation sur TI
H=
N=
0,1
100
X
0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1
1,1
1,2
1,3
1,4
1,5
Y
0
0,1
0,1990099
0,29516375
0,38690687
0,47311376
0,55311376
0,62664317
0,69375727
0,75473288
0,8099815
0,8599815
0,90523037
0,94621397
0,98338869
1,01717248
1,2
1
0,8
0,6
0,4
0,2
0
0
0,2
0,4
0,6
0,8
1
1,2
1,4
1,6
à titre de vérification pour X=1 la valeur exacte du nombre Y est connue de tout le monde et
−1
même de votre machine il est donné par tan ( 1 ) =0.785398, la valeur approchée que nous
avons obtenue est 0.8099, votre livre obtient 0,1490099 ( c’est une erreur du livre)
6.Désintégration radio active :
Sur votre calculatrice écrire le programme nommé « expon », qui demande la valeur de N 0 ,
λ , la valeur de F et qui calcule les valeurs de N ( t ) obtenues par la relation
N ( t + 1 ) = (1 − λ )N ( t ) , pour t = 0 ; 1 ;... ; F − 1; F .
la valeur de
Les valeurs de t seront stockées dans la liste L1 et les valeurs de N ( t ) dans la liste L 2 .
On pourra utiliser une boucle FOR(I,1,F+1)…END pour calculer les valeurs L1(I) et L2(I).
Faire exécuter le programme pour N 0 = 10 000 , λ = 0 ,1 et F = 20
Représenter graphiquement les couples ( t ; N ( t )) ainsi obtenus.
On pourra utiliser la touche 2nd Y= (Stat Plot) Plot1 On Xlist :L1 Ylist :L2 ( puis taper
GRAPH) pour obtenir la représentation graphique demandée.
7. Exponentielle Méthode d’Euler pour l’équation y’=y avec y(0)=1
On cherche une fonction f , solution de l’équation différentielle y’=y avec y(0)=1,
c'est-à-dire une fonction x a f ( x ) , dérivable sur R , et telle que pour tout réel x
f ' ( x ) = f ( x ) , avec pour condition initiale f ( 0 ) = 1 .
Nous allons utiliser la méthode d’Euler pour construire une « solution approchée » sur
l’intervalle [0;1] , n est un entier naturel non nul, on découpe l’intervalle [0;1] en n
intervalles de longueur
1
et on note x0 = 0 , x1 ,…, xk ,…, xn = 1 , les points de la subdivision
n
rangés dans l’ordre croissant. On veut calculer une suite de valeurs approchées
y0 , y1 ,…, yk ,…, yn des nombres f ( x0 ) , f ( x1 ) ,…, f ( xk ) ,…, f ( xn ) .
L.Gulli lycée Berthelot
Page 5 sur 6
TS Programmation sur TI
Calcul de y1 : Puisque x0 = 0 , et f ( 0 ) = 1 , alors y0 = 1 ( ici la valeur approchée est


exacte). Justifier que l’approximation affine de f  x0 +
On prend alors y1 = 1 +
1
1
 est 1+ .
n
n
1
.
n
Calcul de yk +1 : On suppose que l’on a déjà construit y0 , y1 ,…, yk


Justifier que l’approximation affine de f  xk +
1
 1
 est 1 +  × f ( xk ) .
n
 n


1
 yk .
n
Quelle est la nature de la suite ( yk ) ? Donner l’expression de yk en fonction de k et de n
On prend alors yk +1 = 1 +
Programmation sur la calculatrice :
Ecrire sur votre calculatrice le programme « EULER »
Qui demande la valeur de n ,
Et qui stocke dans la liste L1 les valeurs x0 = 0 , x1 ,…, xk ,…, xn = 1 , et dans la liste
L2 les valeurs approchées y0 , y1 ,…, yk ,…, yn
Faire exécuter ce programme pour n = 3;5;10;20;30 représenter graphiquement les points
Ak ( xk , yk ) obtenus.
Pour chaque valeur de n comparer la solution approchée avec la solution exacte du problème
en faisant tracer la solution exacte dans Y1=e^(X).
Valeur approchée de e
f est la fonction définie sur R par f ( x ) = e x − ( x + 1 )
1.a. Etudier les variations de f en déduire que pour tout réel x , (1) :1 + x ≤ e
x
b. en remplaçant x par − x dans (1) , démontrer que pour tout x < 1 , (2 ) : e ≤ 1 /( 1 − x )
x
2. n est un entier supérieur ou égal à 2
n
1
 1
a. en posant x = , et à l’aide de (1) montrer que: 1 +  ≤ e
n
 n
1
 1
b. en posant x =
, et à l’aide de (2) montrer que: e ≤ 1 + 
n +1
 n
n +1
−4
c. en programmant votre calculatrice donner une approximation de e à 10 près.
L.Gulli lycée Berthelot
Page 6 sur 6
TS Programmation sur TI