PROGRAMMATION SUR TI Prologue Ce cours est destiné aux personnes souhaitant s'initier à la programmation sur les calculatrice Texas Instrument, essentiellement de type TI80, 82, 83 et 83+. Ce cours peut néanmoins être utilisé pour d'autres calculatrices. > Sommaire - 1: Les bases - 7: Les commandes d'interruption - 2: Les variables - 8: Les "Label" et "Goto" - 3: Les commandes - 9: La commande "Input" - 4: La commande "Disp" - 10: La commande "dispgraph" - 5: Les boucles de condition - 11: La commande "ClrHome" - 6: La boucle "For" - 12: The > Les bases Les commandes qui sont écrites sont lues par la calculatrice de haut en bas, sans s'arrêter (sauf si on lui demande : pause ou goto ). Les espaces ne doivent pas être recopiés car il est inutile, voir risqué d'introduire des espaces ou des lignes vides afin d'améliorer la lisibilité, cela peut-être un motif d'erreur pour le programme. Surtout ne vous attendez pas à une interface et une lisibilité impressionnante, vous verrez rapidement que c'est tout juste si vous arriverez à vous relire, je vous conseille donc de prendre des notes pour les LBL et les variables (çà vous semble confus pour le moment mais tout va bientôt s'éclaircir) > Les variables Les variables sont les outils principaux d'un bon programme, presque tous les programmes en utilisent. Pour les TI80 aux TI83+, il existe 27 variables différentes : les lettres de l'alphabet plus le Thêta (c'est l'espèce de 8 que vous avez à la suite des lettres sur le clavier de la calculatrice, je ne peux pas le représenter sur ma page HTML, je vais donc le symboliser par [T]) Ces variables permettent de faire prendre à une entité (en l'occurrence une lettre) la valeur que l'on veut, cela peut-être 1, 5, 10.3 ou -3.6 (ou que sais-je encore), Si je sais, ces variables peuvent prendre la valeur 3+1, ce qui revient au même que 4 je vous l'accorde mais vous comprendrez bientôt son utilité dans des cas particuliers. D'autres valeurs peuvent être prises par ces variables, un peu particulière celle-là : A+2 ou F/3 : en fait c'est dans le premier cas la valeur de A plus 2, si la valeur de A était 4, cela fera..6 Si la valeur A n'avait pas de valeur, elle prend la valeur 0 ce qui fera donc 2, Voilà vous savez à peu près tout sur les variables sauf une chose : l'attribution d'une valeur à une variable : Et bien c'est simple : il suffit d'écrire la valeur suivie de "sto>" qui est représenté par sur l'écran par une flèche vers la droite, et sur cette page par ->, après avoir écrit ->, vous devez indiquer le nom de la variable pour laquelle vous voulez attribuer la valeur. En concret ça donne : 2->A A+2->E -2.6->P A+2->A
Dans ce dernier cas la commande veut dire que A va prendre pour valeur son ancienne valeur plus 2 Attention les commandes suivantes sont inexactes, vous allez rapidement comprendre pourquoi : A->2 (2 ne peut pas prendre comme valeur A, 2 est une valeur cependant A->Z est exacte, Z prendra la valeur de A) K->2+D Faîtes aussi attention au valeur des variables, l'exemple suivant est interdit : 0->A 3/A->B En effet si A à pour valeur 0, 3 ne peut pas être divisé par 0. > Les commandes Les commandes forment le coeur du programme. A chaque ligne correspond une commande. C'est en quelque sorte le verbe de la ligne de commande. Vous en connaissez déjà un : le "->" qui est la commande d'affectation. Cependant la plupart des commandes sont des petits mots anglais du type "If", "", "Else". Chaque commande a sa propre syntaxe, qu'il va falloir apprendre par coeur. Par exemple le "If" qui est la commande de condition, sa syntaxe est du type : If {valeur} {booléen} {valeur} Condition si vrai On va bientôt revoir toutes ces syntaxes les unes après les autres. Voici la liste exhaustive de toutes les commandes de la TI 80 et leurs significations. Elles sont séparées en deux parties : les "Control" d'une part (dans le programme, appuyez sur "PRGM") et les I/O (Input/Output ou Entrée/Sortie en français, dans le programme, appuyez sur "PRGM" puis "flèche droite") Commandes de control If Else for( Pause Lbl Goto Prgm_ Return commandes de I/O Input Disp Dispgraph Clrhome Signification Condition respect de la condition non-respect de la condition boucle d'incrémentation fin de boucle Ben..pause étiquette allez à l'étiquette exécuter une sous-routine Retour au programme appellant fin du programme Signification Attente d'une valeur affichage à l'écran affichage du graphique efface l'écran
> La commande Disp Si nous commençons par cette commande, ce n'est pas par hasard, en effet c'est sans doute la plus utilisée dans les programmes. Son rôle est d'afficher une entité à l'écran, sa syntaxe est : Disp {message} Le cas le plus répandu sera du texte, il faudra alors le mettre entre guillemets, exemple : on veut afficher TOUTLA.COM, on doit alors écrire dans le programme : Disp "TOUTLA.COM" A l'exécution de ce programme, vous verrez écrit TOUTLA.COM, sans les guillemets. Si vous voulez écrire un chiffre, vous pouvez mettre ou ne pas mettre de guillemets, cela ne changera rien, cependant si vous écrivez 3+1 sans guillemets, cela affichera 4 alors qu'avec, cela affichera 3+1 Vous pouvez aussi écrire le contenu d'une variable : 3->A Disp A Disp "A" Vous verrez afficher à l'écran 3 A Avec les guillemets, c'est du texte qui s'affiche, sans les guillemets, c'est sa valeur. Et si vous écrivez Disp TOUTLA Cela affichera non pas TOUTLA mais la multiplication de la variable T par O par U par T par L par A! > Les boucles de condition La boucle de condition peut être mise en oeuvre par les commandes "If", "", "Else", "" mais vous n'êtes pas obligé de toutes les utilisé (c'est même plutôt rare). Il existe donc plusieurs syntaxes pour ce type de commandes, la plus simple est du type : If {valeur} {relation} {valeur} Suite du programme Comme d'habitude la valeur peut-être une variable et une relation est un signe du type "=", ">", "<" qui sont dans [2nd] [MATH]. Comme vous le voyez plus haut, cette syntaxe n'autorise qu'une seul commande si la condition est vrai. 2 lignes après le "If", les commandes sont toujours exécuter. Si les commandes à exécuter lorsque la condition est vrai tiennent sur plus de 2 lignes, vous devez y inserez un "" puis "", voici la syntaxe : If {valeur} {relation} {valeur} Suite du programme.vous pouvez si vous le voulez ne mettre qu'une seul "commandes si vrai" mais cela est inutile. Voici un exemple de boucle complète qui affichera à l'écran "CHIFFRE = 2" 2->A If A<2 Disp "CA NE SAFFICHE PAS"
If A=2 Disp "CHIFFRE = 2" Attention, le "A<2" veut dire A strictement infèrieur à 2 non compris, donc la condition est fausse pour A égale à 2. A noter que le "stop" commande la fin du programme. Ce code peut cependant être optimisé, en effet il existe une commande pour exécuter des commandes quand la condition est fausse, c'est "Else". Exemple qui donnera le même résultat que tout à l'heure : 2->A If A<2 Disp "CA NE SAFFICHE PAS" Else Disp "CHIFFRE = 2" Vous voyez que le "Else" a remplacé le second "If", il ne peut être utilisé qu'avec un "". Attention de ne pas oublier le "" à la fin de cette syntaxe générale : If {valeur} {relation} {valeur} Else Commandes si faux Commandes si faux > La boucle For La boucle for se rapproche de "If", cependant sa syntaxe est plus complexe For( {variable}, {valeur de début}, {valeur de fin}, {pas} ) commandes commandes Toutes ces commandes sont obligatoires sauf le pas qui non-déterminé est égale à 1. Cette boucle s'occupe d'incrémenter (ajouter une valeur) une variable par le nombre du pas, à partir de la valeur de début jusqu'à la valeur de fin où la boucle rend la main à le suite du programme. Exemple : For(A,1,6,2) Disp A On verra afficher sur l'écran : 1 3 5 La variable à sera alors égale à 6 à la sortie de la boucles. Cette commande n'est pas très utilisé quand on commence à crée des programmes car on peut facilement la remplacer par un "If", voici l'équivalent à titre d'exemple de la boucle "for" de tout à l'heure : 1->A Lbl B If A<7 Disp A
A+2->A Goto B Pour le "Goto" et "Lbl" voir le chapitre correspondant. > Les commandes d'interruption Il y a de nombreuses commandes qui permettent d'interrompre un programme; tout d'abord "Pause", elle ne possede pas de syntaxe, Il suffit juste de l'insérer au milieu d'un programme, ce dernier va alors attendre que l'utilisateur appuies sur la touche [Enter] et va alors poursuivre la suite du programme. La commande "" déjà utilisé dans un exemple auparavant va demander l'arrêt total du programme, il est implicite donc inutile à la fin d'un programme mais doit être indiqué si le programme doit se terminer avant la fin des lignes de commandes. Là encore pas de réel syntaxe : il suffit d'entrer la commande "" Les commandes "PRGM_" et "Return" permettent de rentrer dans une sous-routine et d'en ressortir. Une sous-routine est un autre programme qui va être exécuter par la calculatrice dans un programme, vous n'allez quasiment jamais utilisé la commande "PRGM_" directement, en effet il suffit dans le menu des commandes de séléctionné l'onglet "exec" et de choisir la sous-routine, si elle n'existe pas encore, vous devrez utilisé "PRGM_" puis marquer le futur nom de la sous routine juste à côté. Dans les sous-routine vous devrez indiqué quand elle devra retourné au programme parent (ou appellant) via la commande "Return", toujours sans syntaxe. Sinon le programme s'exécutera jusqu'à la fin et s'arrêtera sans revenir au programme appellant, ce qui est tout à fait possible. > Les "Lbl" et "Goto" Ces commandes sont très utiles pour les programmeurs brouillon, mais moins il y en aura, mieux ca sera. Les "Lbl" servent à définir une étiquette, une place dans le programme. Vous devez insérez "Lbl" suivi d'une lettre (qui peut servir aussi de variable, il n'y aura aucune confusion) : Lbl {nom de l'étiquette} Le tout sans espace,comme d'habitude. Pour le moment cette étiquette ne sert pas à grand-chose, sauf que la commande "Goto" ("aller à" en anglais) suivi de la lettre correspondant à l'étiquette va conduire la calculatrice à lire les commandes à partir de l'étiquette, celle-ci peut être placé avant ou après le "Goto". Exemple : Disp "Je compte" Disp "1" Goto A Lbl B Disp "3" goto C Lbl A Disp "2" Goto B Lbl C C'est un peut compliqué mais après exécution ca donne sur l'écran : 1 2 3 Cette commande est très utile, mais attention, dans les grands programme, noté bien à quelle emplacement correspond quelle étiquette, sinon vous allez passer votre temps à chercher vos étiquettes
> La commande Input La commande "Input" fait partie des I/O ou entrée/sortie, elle permet donc un contact direct avec l'utilisateur, en l'occurence, "Input" est la seule entrée de la TI 80, chose que l'on peut d'ailleurs regréttée. "Input" attend que l'utilisateur entre une valeur, il l'a rentre dans une variable et poursuit alors l'exécution du programme. Sa syntaxe est assez simple : Input " {Chaine} ", {Variable} A savoir que la chaîne n'est pas obligatoire, elle sert à indiquer une phrase quelconque avant que l'utilisateur entre sa valeur, exemple : Input "Variable A = ",A Attention, la chaîne ne peut pas être une variable et doit donc toujours se mettre entre guillemets. > La commande Dispgraph Elle ne possede pas de syntaxe, un simple "Dispgraph" suffira, l'usage de cette commande fait aparraître le graphique, très important pour la création de jeu, bien que limité sur la TI 80. Pour revenir à l'écran initial, il suffit d'utiliser un "Disp" ou un "Input" > La commande Clrhome Son rôle est tout simplement d'effacer tous ce qui se trouve à l'écran principal, là encore, pas de syntaxe. > The C'est maintenant la fin de ce cours consacré à la programmation sur Calculatrice TI. Pour vous perfectionnez n'hésitez pas à vous reportez à votre manuel d'utilisation.