π
<-

Fonctionnement interne du mode numérique et du mode CAS

Nouveautés, projets, mises à jour.

Fonctionnement interne du mode numérique et du mode CAS

Unread postby Adriweb » 05 Oct 2013, 23:40

Sur MoHPC ( http://www.hpmuseum.org/cgi-sys/cgiwrap ... 111#252111 , lien qui ne sera plus valide d’ici quelques semaines à cause de leur système d’archivage), Cyrille de Brébisson, développeur HP qui a déjà posté ici sur TI-Planet, a posté une excellente explication du fonctionnement interne du mode numérique et du mode CAS en interaction. Nous la relayons ici, après traduction, car ça donne un éclairage sur certains comportements qui peuvent sembler inhabituels / peu naturels, et ça évite que chacun doive redécouvrir ces infos dans son coin :)

Voici comment les choses fonctionnent :
En mode numérique, la plupart des fonctions sont insensibles à la casse, mais utilisent un affichage en majuscules.
Le "parser" (analyseur) fait la distinction entre les noms complets ("My_Program.MyVariables") et ceux non qualifiés ("FOO")
L'ordre de priorité dans la résolution de nom pour un nom non-qualifié est le suivant:
  1. les noms des programmes localement connus (fonctions ou vars)
  2. fonctions et variables intégrées (certaines sont insensibles à la casse)
  3. les fonctions et les vars de l'application actuelle
  4. vars, fonctions exportées, et programmes mis en global
  5. Toutes les fonctions/variables standards de l'application, dont le nom n'est pas complet (nom non qualifié) (F1 par exemple. Voilà pourquoi, comme vous l'avez sans doute découvert, vous pouvez appeler F1 même si la fonction n'est pas de l'application actuelle)
  6. variables utilisateur (celles qui sont créées lorsque vous faites abc:=1 par exemple)
  7. CAS (fonctions et variables)

Avoir le CAS en 7ème position est utile, de la même façon qu'il est utile de permettre l'utilisation de F1 même si la fonction n'est pas l'application actuelle... Toutefois, c'est "dangereux" (surtout pour les utilisateurs avertis), car cela peut conduire à des résultats étranges quand utilisé dans des cas non triviaux, ou peut prêter à confusion, ou peut être redéfini...
Si vous voulez utiliser une commande CAS, le mieux est de l'écrire pleinement, donc en écrivant : CAS.nomDeLaFonction(params) ...
Notons que la plupart des fonctions numériques, avant d'être appelées, évalueront tous leurs paramètres.
Lorsque vous appelez une fonction du CAS à partir du mode numérique, les paramètres seront transformés en un objet CAS (non évalué), de sorte que le CAS va s'en débrouiller par la suite. Cela signifie toutefois que ces objets doivent être des objets valides en mode numériques... Si vous voulez appeler une fonction du CAS depuis le numérique et que les paramètres ne sont pas valides en numérique (tel que des variables indéfinies ou une matrice symbolique), vous devez utiliser CAS.fonction("paramètre") : le "paramètre" est une chaîne qui sera analysée par le mode CAS et non pas par le numérique, et les règles du CAS lui seront appliquées.
En règle générale, le CAS a accès à toutes les fonctions / variables du mode numérique, à l'exception des variables locales... En conséquence, et en tant qu'exception à la règle ci-dessus, les variables locales dans les paramètres des fonctions du CAS sont remplacées par leurs valeurs avant que le CAS soit appelé…

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 79.9%
 
Posts: 14837
Images: 1131
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Return to Actualités

Who is online

Users browsing this forum: ClaudeBot [spider] and 2 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
2494 utilisateurs:
>2436 invités
>52 membres
>6 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)