Les commandes sont en réalité des fonctions au sens mathématique du terme. Celles-ci renvoient un résultat qui peut être une liste de nombres complexes et/ou de chaînes de caractères ou bien Nil .
Certaines commandes permettent un minimum de programmation : affectation d’une valeur à une variable, et structures de contrôles (alternative, boucles).
Exemple(s) :
Supposons que l’on veuille construire un triangle (ABC) avec ses trois médianes comme un seul élément graphique, alors
on saisit la commande :
Les fonctions Ligne et Droite renvoient la valeur Nil mais elles ont un effet graphique dans le contexte Utilisateur,
Chaque objet de TeXgraph est identifié à l’aide d’un identificateur (ou nom), celui-ci doit respecter les règles suivantes :
Afin de simplifier la saisie, les structures suivantes ont été introduites :
Signalons aussi que :
si x est une variable contenant une liste, la commande Copy(x, n, 1) qui renvoie la valeur du n-ième élément de la liste x, peut être remplacée par : x[n], plus généralement la syntaxe est : x[départ, nombre] avec la convention que si nombre=0 alors on va jusqu’à la fin de la liste, et si départ=−1 alors on part de la fin de liste et on remonte.
NB : l’instruction x[n] :=1 ne changera pas le n-ième élément de la liste x, car x[n] est une valeur! C’est la macro replace qui permet de modifier les éléments d’une liste : replace(x, n, 12) remplacera le n-ième élément de la liste x (qui doit être une variable) par la valeur 12, la valeur de remplacement peut être également une liste.
C’est l’équivalent de la commande Si. C’est une fonction qui renvoie la valeur Nil.
Exemple(s) : définition d’une fonction de t, par morceaux :
pour tracer une telle fonction il est préférable de créer une macro qui représente la fonction, on peut par exemple créer une macro appelée f et définie par la commande if %1<=0 then 1-%1 elif %1<pi/2 then cos(%1) else %1^2 fi, le caractère %1 représente le premier paramètre de la macro. On peut ensuite créer un élément graphique Courbe en lui donnant un nom et le paramétrage suivant : t+i*f(t) ou t+i*∖f(t), dans cette deuxième version, f(t) est directement remplacée par son expression.
C’est une version de la commande Loop.
Exemple(s) : Liste des cubes inférieurs à 1000 :
l’exécution de cette commande (dans la ligne de commande en bas de la fenêtre) donne : [0, 1, 8, 27, 64, 125, 216, 343, 512, 729, 1000]. La première instruction de la boucle (x) renvoie la valeur de x, la deuxième (Inc) ajoute 1 à la variable k et renvoie Nil, la troisième ( :=) affecte le cube de k à la variable x et renvoie la valeur Nil.
C’est une version des commandes Seq et Map. Il y a deux syntaxes :
Description : Pour chaque valeur de la variable prise dans la liste, les instructions sont exécutées. Le pas est de 1 par défaut ce qui signifie que les valeurs de la liste sont parcourues en 1 en 1. L’option by (ou By) permet de lire les valeurs par paquets en traitant le cas de la constante jump : avec l’option by la structure renvoie un jump lorsqu’il est rencontré dans la liste, avec l’option By le jump n’est pas renvoyé. Lorsque le dernier paquet n’est pas complet, il n’est pas traité.
Pour parcourir une liste par composante (deux composantes sont séparées par un jump), on utilise by jump ou By jump. Par exemple : for z in [1,2,jump,3,4,5] by jump do sum(z) od renvoie [3,jump,12], alors que for z in [1,2,jump,3,4,5] By jump do sum(z) od renvoie [3,12].
Description : Pour chaque valeur de la variable allant de la valeur initiale à la valeur finale, les instructions sont exécutées. La valeur est incrémentée du pas (1 par défaut), celui-ci peut-être négatif et réel non entier. L’option by/By est identique à ci-dessus.
NB : on ne peut pas utiliser by et step en même temps.
NB : lors du parcours d’une liste par composante (by/By jump), la constante sep contient la valeur du jump qui termine la composante en cours. Cette valeur est en fait un complexe particulier, c’est uniquement la partie réelle qui lui donne le statut de jump (1E308), la partie imaginaire quant à elle, peut être utilisée pour stocker une information numérique.
Exemple(s) :