Bonjour,
le fait que Xcas soit un langage non typé a des avantages et des inconvénients. Je ne sais pas vraiment comment fonctionne ce type de langage.
Je viens de découvrir (après quelques années) la fonction debug, bien utile pour le mode pas à pas. Dans ce mode, on voit l'évolution après chaque instruction de la valeur des variables. C'est vraiment super.
Au départ, toutes les valeurs sont à zéros. Ce sont des nombres ? Ensuite, on peut les affecter à des points, et d'autres choses.
Quand on écrit dans un programme :
local a;
Que représente a ? Que fait le programme ? Et la gestion de la mémoire ?
J'aimerais bien ne pas dire de bêtises à mes élèves.
D'avance merci.
Xcas, langage non typé
Re: Xcas, langage non typé
En interne, les objets de giac sont presque tous représentés par une variable C++ de type "gen" qui contient des champs pour représenter différents types d'objets: entier, réel, complexe, nom de variable, expression, etc. Donc quand on écrit local a; a est un nom de variable. La déclaration local provoque la création d'une table de correspondance variables -> valeurs (mathématiquement c'est une fonction des noms de variables dans l'ensemble des "gen") avec initialisation à 0. Ensuite l'assignation a:= ou l'évaluation de a remplacera ou utilisera la valeur correspondant à a. En-dehors de local, c'est une table globale de correspondance qui est utilisée (la liste des variables globales, comme quand on assigne un nom de variable en mode interactif).