TI-BASIC/Leçon 2 - Les Variables


LES VARIABLES :

Une variable est un espace mémoire réservé qui contient et conserve une donnée ; pour la TI cette donnée est un nombre. Sur les TI83+, il y a 27 variables : toutes les lettres de l'alphabet + le tétha grec ([ALPHA] + [3]). En général, vous savez très bien où les trouver, ces lettres. (Qui n'a jamais écrit de messages pour demander la solutions de l'exo 3 à son voisin muet avec !)
Bon, donc vous pouvez affecter à chaque variable un nombre, et uniquement un nombre. Pour ce faire, rien de plus simple. Exemple : on veut faire rentrer 5 dans la variable A :

:5->A

/!\ - ATTENTION : La flèche "->" ne s'écrit pas avec un "moins" et un "supérieur à" ; je l'ai symbolisé, la vraie flèche se trouve en tapant le bouton [STO>].

Ce programme n'affichera rien, il affectera juste la valeur 5 à la variable A. D'ailleurs si vous ne me croyez pas, exécuter le prgm, puis sur l'écran texte, tapez A et [ENTER].
Comme vous l'avez deviné (enfin j'espère), on peut aussi entrer le résultat d'un calcul dans une variable, démonstration :

:(4*5)-23->D

Après exécution de ce prgm, la variable D contiendra la valeur numérique 12.

Pour combler le tout, on peut faire rentrer dans une variable le résultat d'un calcul qui lui-même comporte des variables. Exemple :

:2->A
:6->B
:3A+(B/2)->C

Ici, C contiendra le résultat de "3 fois [la valeur de A] plus ([la valeur de B] divisé par 2)".
Et vous avez vu qu'on a rentré des valeurs dans les variables A et B ; on dit qu'on a défini les valeurs des variables.
Qu'est-ce qui se serait passé si on n'avait défini aucune variable ? En gros, si on avait juste écrit : "3A+(B/2)->C" ?
Et bien sachez que la valeur par défaut d'une variable est de 0... Le calcul effectué serait donc "3*0+(0/2)", donc C serait égal à 0. (Attention, une variable n'est pas automatiquement ré-initialisée à 0 après son utilisation... De manière générale, dans un programme on prend toujours le soin de définir chaque variable utilisée).

Donc, pour répondre aux p'tits malins de la Leçon 1, le programme suivant :

:8->Z
:15->Y
:4Z-(Y+5)->X
:ClrHome
:Disp X

affichera sur l'écran texte :

                 12
               Done

C'est pas beau tout ça ?... Bon on va corser un peu le tout :
On veut demander à l'utilisateur une valeur qu'on rentrera dans A, et afficher le résultat du calcul A*(A+2). Bon, il nous manque une fonction, là ! Comment on va lui demander la variable à l'utilisateur ? Tindin ! Nouvelle fonction : la fonction "Prompt" (PRGM], [>], [2]), qui comme son nom l'indique "demande" quelque chose à l'utilisateur.
Ce "quelque chose", ça peut être : une variable, une chaîne de caractères (on verra ça plus tard, mais gardez-le en tête) et c'est tout. Syntaxe ? Facile : Prompt ["quelque chose"]...
Allez, vous allez comprendre. Donc maintenant que l'on sait comment "demander", on va écrire le programme, ce qui nous donne :

:ClrHome
:Prompt A
:Disp A*(A+2)

Et qui nous donnera à l'écran (texte, bien entendu) avec un utilisateur qui s'est dit "tiens, je vais mettre 7" :

A=?7
                 63
               Done

Hé mais là, cet utilisateur doit se dire "Tiens, si je rentre 7 il me dit 63, qu'est-ce que ca veut dire ?!"
On va l'aider : on va afficher le calcul avant le résultat, pour cela, on va utiliser un des avantages de la fonction Disp. Un exemple vaut mieux que 25 lignes d'explications :

:ClrHome
:Prompt A
:Disp "A*(A+2)=",A*(A+2)

Essayez. Superbe, n'est-il pas ? Explications, maintenant :
Bon les 2 premières lignes, vous savez tout, parlons plutôt du Disp : vous avez vu qu'on a combiné les 2 "options" du Disp : affichage d'un texte, et d'un résultat calculatoire, le tout séparé par une simple virgule.
/!\ - N'oubliez pas les guillemets pour le texte ! (Pour ceux qui ne le savaient pas, le caractère "=" se trouve dans la liste des caractères de tests, soit [2nd] + [MATH] ("TEST")).
Donc ça nous affiche, pour un utilisateur qui s'est dit "Je vais mettre 15" (et qui a mis 15) :

A=?15
A*(A+2)=
                255
               Done

Tout bonnement magnifique.

Maintenant, petit debriefing sur les variables :
De A à Z + le théta,
la valeur par défaut d'une variable à laquelle on n'a rien affecté auparavant est 0,
on ne peut rentrer QUE des valeurs numériques (par tous les moyens, certes, mais numériques).
Justement, est-ce qu'il existe des variables qui peuvent stocker du texte ? Réponse : OUI !...

LES CHAÎNES DE CARACTERES :

Les chaînes de caractères sont, vous l'avez compris, des sortes de variables où l'on peut stocker des caractères (rappel : "2", "T", "?", "+" sont des caractères). Elles sont au nombre de 10 sur la TI-83+. Pour les trouver : [VARS], [7] (Strings). Les voilà, numérotées de "Str1" à "Str0". On s'en sert de la même façon que les variables (pour les Disp, Prompt, ...), mais N'OUBLIEZ PAS : ce sont des caractères, donc si vous écrivez le programme suivant :

:ClrHome
:"5"->Str1
:"2.5"->Str2
:Str1+Str2->Str3
:Disp Str3

le résultat à l'écran sera :

52.5
               Done

et non le résultat de 5+2.5 !...
NOTE : Si vous oubliez les guillemets, vous aurez droit à une jolie "ERR:DATA TYPE"...
Il existe plusieurs fonctions pour les chaines de caractères, qui permettent par exemple de prendre un bout de la chaîne, ou de prendre sa longueur... On en verra certaines quand on en aura besoin.

Voilà, maintenant attention, dans les leçons suivantes, on va aborder les principes fondamentaux de tous langage de progammation qui se respecte, donc accrochez-vous, et n'hésitez pas à relire et refaire les exemples...

Leçon précédente | Retour TI-Basic | Leçon suivante