TI-Basic

De TI-Planet Wiki
(Redirigé depuis TI-BASIC)
Aller à : navigation, rechercher

Le TI-Basic est un langage de programmation officiel, qu'il est possible de réaliser directement sur la calculatrice. Ce langage est facile à apprendre mais se révèle vite trop lent pour certaines applications telles que des jeux à graphismes complexes. C'est en effet un langage interprété.
Sur TI-Nspire, ce langage est encore plus limité que sur les autres, et ne permet pas du tout d'accès à des graphismes. La syntaxe entre le Basic 68k et TI-Nspire est similaire.

Le TI-Basic sur les TI-z80

À travers un éditeur intégré, accessible via la touche PRGM, la programmation dans ce langage permet de réaliser aisément des applications numériques et graphiques, pour faire des Mathématiques et des jeux. C'est un langage idéal pour débuter.

Tutoriel en français pour apprendre à programmer en TI-Basic sur TI-83 Plus ou TI-84 Plus (plus ou moins Silver Edition, .fr , pocket ...)
Tutoriel en anglais pour apprendre le TI-Basic sur TI-85 et TI-86

Note: Les TI-73, TI-76.fr, TI-81, TI-82 (stats, .fr) et TI-83 peuvent se référer au Basic des TI-83 Plus. Les différences sont mineures, mais certaines fonctionnalités ne seront pas disponibles (chaines, matrices, mémoire d'archive selon le modèle).

Le TI-Basic sur les TI-m68k

(vide)


Le TI-Basic sur les TI-Nspire

La philosophie d'un programme TI-Basic pour Nspire est de n'être qu'une simple variable comme une autre, ayant toutefois le privilège de posséder un éditeur pour sa création. Ainsi, la création d'un programme se fait de manière interne au classeur ouvert dans l'activité utilisée (ou à l'application brouillon). Un programme peut donc s'éditer soit dans l'application calcul, comme n'importe-quelle variable, ou, de manière plus adaptée, avec l'éditeur, accessible avec DOC, 4 (Insertion), A (Éditeur de programmes) puis l'option désirée (Nouveau, ouvrir, importer ou affichage). Les touches CTRL B ont alors pour effet de stocker le programme en cours d'édition dans la variable (mais pas d'enregistrer le classeur courant).

Par défaut, un programme est interne à l'activité à laquelle il est associé et ne sera donc pas accessible en-dehors de ce cadre. Pour palier à cette limite, on peut déclarer un programme avec l'attribut "LibPub" ce qui lui permet d'être visible dans le catalogue et utilisable partout, lorsque le classeur correspondant a été placé dans le dossier MyLib et que le rafraichissement des bibliothèques a été effectué (par exemple avec DOC 6).

Un algorithme pour TI-Nspire peut soit être un programme, soit une fonction. L'avantage d'une fonction est de pouvoir renvoyer une valeur, mais elle perd alors certaines facultés tels les entrées (Request, RequestStr) et la modification de variable globale, par exemple par référence passée en argument).

Pour la définition de fonctions simples sur l'écran principal, cela se fait de la même manière que les autres variables, en ajoutant entre parenthèses les arguments pris en entrée. Par exemple, pour définir f comme étant la fonction cosinus composée avec la racine carrée :

f(x) := cos(sqrt(x))

Un affichage en écriture naturel de la racine carrée est effectué après appui sur la toucher ENTER. Une autre syntaxe, plus explicite, est possible :

Define f(x) = cos(sqrt(x))

On notera en particulier l'utilisation du "=" à la place du ":=" dans ce cas là. On peut ensuite à nouveau utiliser une syntaxe plus élaborée :

Define f(x) = Func
Return cos(sqrt(x))
EndFunc

Le "Return" permet de sortir de la fonction pour renvoyer une valeur, il est facultatif, et dans le cas de son absence, la dernière valeur calculée est renvoyée. Cette syntaxe plus complète est utilisée automatiquement par l'éditeur, et pour l'utiliser dans une page de calculs, on utilisera Menu, 9 (Fonctions & programmes), 2 (Func...EndFunc) : cela permet de faire une fonction renvoyant une valeur calculée en plusieurs étapes, à raison de une étape par ligne. Exemple :

Define f(a,b,c) = Func
Disp "Résolution de l'équation ax²+bx+c=0 :"
Local delta,solutions
delta :=-4a*c
Disp "Le discriminant est ", delta
If delta>0 Then
solutions := {(-b-sqrt(delta))/(2*a),(-b+sqrt(delta))/(2*a)}
Disp "Il est positif, il existe donc 2 solutions réelles : ", solutions[1], " et ", solutions[2]
ElseIf delta<0 Then
Disp "Il est négatif, il n'y a donc pas de solution réelle."
solutions := undef
Else
solutions := -b/(2*a)
Disp "Il est nul, l'unique solution est donc ", solutions
EndIf
Return solutions
EndFunc

Pour l'utilisation de variables intermédiaires, le "Local" est obligatoire dans une fonction : il définit une variable comme locale à celle-ci ce qui empêche bien de modifier des variables utilisateur. La seule commande de catégorie I/O utilisable dans une fonction est Disp, ce qui permet d'afficher les étapes d'un calcul.

(à suivre...)


Site anglais recensant divers tutoriels pour programmer en TI-Basic sur les 3 types de calculatrices


(Note : cet article n'est qu'un début d'ébauche et est largement à compléter !)