Accueil / Tutoriels
/ Automatiser certaines tâches : programmation élémentaire
Afin de gagner le maximum de temps dans un DS ou même pour
ne pas en perdre inutilement dans un DNS, il est parfois utile de savoir programmer
un minimum sa calculatrice.
Il ne s'agira pas ici de faire de bons jeux bien compliqués mais juste
de voir des notions "minimales".
Ce tutoriel est donc reservé à TOUS mais surtout à tous
ceux qui ne veulent pas faire de carrière en programmation (pour ceux
qui veulent apprendre le BASIC à fond pour faire de bons jeux ou programmes,
il est préférable de voir le tutoriel BASIC
Learn). Ce tutoriel omet volontairement des choses et reste le plus succint
possible pour être accessible à tous tout en offrant pas mal de
possibilités.
1/ Définition d'un programme :
Un programme est constitué de "commandes" ou "fonctions"
telles que celles que vous utilisez habituelement pour travailler. La TI exécutera
une par une les commandes que vous entrez dans votre programme comme si vous
les aviez tappées normalement sur lécran principal. Entre chaque
commande, il faut aller à la ligne comme si vous validiez la commande
sur l'écran principal.
Un programme peut donc mémoriser une suite d'opérations (d'instructions)
que vous pourrez appeler à tout moment rien qu'en le lançant.
Mais il peut aussi faire ce que l'on appel des "boucles" : ce qui
veut dire que certains calculs peuvent être répétés
indéfiniment ou un certain nombre de fois ; d'où le second interet
de savoir un peu programmer.
Toutes les commandes que nous allons voir sont dans le menu [PRGM] une fois
que vous êtes en train d'éditer un programme. Les autres commandes
pour le calcul "classique" (c'est à dire accessible sans avoir
besoin de programmer) se trouvent dans leurs menu respéctifs.
2/ Création d'un programme et édition :
- Pour créer un programme, appuyez sur [PRGM] [<] [ENTER] et donnez-lui
un nom de maximum huit lettres et validez. Vous êtes maintenant dans l'éditeur.
- À l'avenir, pour l'éditer, appuyez sur [PRGM] [>] et choisissez
votre programme.
3/ Les bases :
>> N'ayez pas peur : nous ne rentrons pas dans les détails mais
vous en apprendrez assez pour faire des programmes qui vous éviterons
de faire une même manipulation plusieures fois de suite.
- Afficher du texte : Disp "VOTRE TEXTE"
affiche VOTRE TEXTE. Pour afficher un chiffre, faites
de même mais ne mettez pas de guillemets : Disp 18.2
- Enregistrer et afficher un nombre : pour mémoriser un nombre, nous
utilisons des variables. Ce sont des lettres auxquelles on associe des chiffres,
tout simplement. On utilise les lettres de A à Z. Pour enregistrer, il
faut simplement mettre le chiffre puis la flèche ->
(touche [STO>]) et enfin la variable qui recevra le chiffre. Exemple : 19->A
: stoque le chiffre 19 dans la variable A.
- Demander un nombre pour l'utiliser dans le programme : Input
A : ici, un nombre sera demandé et enregistré dans la variable
A pour pouvoir l'utiliser par la suite comme si c'était un nombre "normal".
- Faire une pause avant de continuer d'exécuter les autres lignes du
programme : Quelques fois, le programme donnerra plusieurs résultats
et l'écran de la TI ne comportant que 8 lignes, ceux-ci vont être
effacés rapidement. Pour éviter ceci, au bout de 8 calculs vous
pouvez faire une pause, simplement avec l'instruction... Pause
!
>> Une dernière chose : si vous voulez faire une suite de calculs,
il faut placer Disp avant le calcul pour que le
résultat puisse s'afficher.
>> Disp se trouve dans [PRGM] [>] [3] ;
Input dans [PRGM] [>] [1] et Pause
dans [PRGM] [8].
>> Exemple concret : vous faites un graphique à l'échelle
1 cm = 3 V. Vous faites donc un programme qui demandera le nombre de volts et
vous donnerra l'abscise du point sur du papier millimétré.
:Input V
:Disp "SUR LE GRAPH:"
:Disp V/3
Dans cet exemple, la première ligne demande le nombre de volts (et le
stoque dans la variable V) et la seconde affiche du texte tandis que la dernière
affiche le résultat de la division de V par 3.
4/ Les boucles :
>> Nous venons de voir comment exécuter une suite de calculs (on
pourrait afficher beaucoup de calculs à la suite dans l'exemple précédent)
automatiquement et en tenant compte d'un paramètre que l'on donne et
qui peut varier d'une exécution à l'autre.
Nous allons maintenant voir comment faire un même calcul plusieures fois
de suite sans avoir à relancer le programme.
- Boucle infinie :
:Repeat 0
:instructions
:End
Dans cet exemple, vous trouverez Repeat dans [PRGM]
[6] (le 0 avec la touche 0 bien sûr) et End
dans [PRGM] [7]. Dans cet exemple, la série d'instructions est répétée
indéfiniment ([ON] pour quitter le programme).
- Boucle définie :
:For(X,1,10,1)
:instructions
:End
Ici, les instructions sont répétée 10 fois. For(
se trouve dans [PRGM] [4]. X est la variable à incrémenter, 1
la valeur de début à donner à X, 10 la valeur de fin et
le dernier 1 est la valeur d'incrémentation. Par exemple, si vous voullez
compter de deux en deux à partir de 5 jusqu'à 23, il faut formuler
For( comme ceci : For(X,5,23,2)
et, pour compter à l'envers de 10 à 1, ce sera comme ceci : For(X,10,1,-1).
Lorsque X serra égal à 10, la boucle s'arretera et le programme
reprendra après le End.
>> Exemple concret : reprennons le dernier exemple : nous voudrions ne
pas relancer le programme entre deux nombres donc nous allons faire une boucle
infinie.
:Reapeat 0
:Input V
:Disp "SUR LE GRAPH:"
:Disp V/3
:End
Voilà : ce fut très simple : on met l'ancien programme à
l'interieur d'une boucle et celui-ci s'exécutera indéfiniment.
Pour automatiser un peu plus, il se peut que vous ayez dix points à placer,
tous les 5 volts.
:For(V,1,50,5)
:Disp ""
:Disp V
:Disp V/3
:Pause
:End
Ici, V ne sera pas demandé car imcrémenté automatiquement
par le programme
Au début, V a la valeur 1. Le programme passe une ligne (pour aérrer
et ne pas confondre les résultats), affiche V (pour ne pas se tromper
et ne pas décaller toutes les valeurs) puis le résultat du point
à placer sur le grahique et fait une pause (pour laisser le temps de
regarder le résultat avant de passer au suivant). La boucle se continue
jusuqu'à ce que 10 points aient été donnés en comptant
de 5 en 5.
5/ Les conditions :
Il reste une dernière chose à voir : ce que l'on appel les "conditions".
Qu'est-ce que ces bêtes-là? Si condition Alors faire
ceci Sinon faire cela.
C'est simple, non ? Alors, ça c'était en français ; en
BASIC, ça donne ça :
:If condition
:Then
:instructions si condition vraie
:Else
:instructions si condition fausse
:End
If se trouve dans [PRGM] [1] , Then
dans [PGRM] [2] et Else dans [PRGM] [3]. End
étant toujours en [PRGM] [7].
Comment formuler la condition ? C'est tout aussi simple : If
A=10 par exempel : si A contient la valeur 10 alors Instructions1
sinon (Si A est différent de 10), Instructions2.
Il existe aussi "différent", "suppérieur ou égale
à" ... comme en mathématiques. Vous les trouverez dans le
menu [2nd] [TEST] (touche [MATH]).
Petit exemple pour calculer le discriminant delta d'une équation du seconde
degrès :
:Disp "AX²+BX+C=0"
:Input A
:Input B
:Input C
:B²-4AC->D
:Disp ""
:Disp "DETA="
:Disp D
:If
D<0
:Then
:Disp "PAS DE SOLUTION"
:End
:If D>0
:Then
:Disp "X'="
:Disp (-B-racine(D))/(2A)
:Disp "X''="
:Disp (-B+racine(D))/(2A)
:Else
:Disp "X="
:Disp -B/(2A)
:End
Vous remarquerez que Else peut être
omis.
Première étape : affiche la formule et en demande chaque variables
(A, B et C).
Seconde étape : calcule delta et met le résultat dans D.
Troisième étape : Si D<0 : pas de solution
Quatrième étape : re-test D : s'il est >0 alors les deux racines
sont affichées. Sinon, c'est que D=0 : la racine est affichée.
6/ Conclusion :
Vous pouvez maintenant faire de petits programmes vite fait pour automatiser
certaines petites choses (comme les échelles de graphiques), mémoriser
une suite de calculs à réexécuter plusieurs fois plus tard
ou pour faire des programmes de mathématiques (c'est les programmes les
plus simples à faire car très linéaires et ne demandant
pas beaucoup de réflexion, à l'inverse des jeux complexes) si
vous n'en trouvez pas nul part. Vous pouvez même faire de petites anti-sèches
un peu plus ellaborées que le simple recopiage dans un programme à
éditer.
Enfin, une bonne connaissance de votre calculatrice aidera beaucoup. Car, à
part les fonctions propres à la programmation, il vous faudra aussi connaître
les fonctions mathématiques (souvent dans le menu [MATH]) qui, elles,
sont propres à la calculatrice et normalement, vous devriez les connaître
avant de vous mêttre à programmer...