- NCL (langage)
-
NCL (langage) Apparu en 1987 Développeur Nat System Paradigme Programmation évènementielle Typage Statique, fort Influencé par C/C++ Système d'exploitation Microsoft Windows Site web www.natsystem.fr NCL (sigle de Nat System’s Command Language[1]) est un langage de programmation de 4e génération, créé par Nat System pour l'Environnement de développement intégré NSDK et plus tard utilisé dans Natstar.
Sommaire
Présentation
Syntaxe
Mots réservés, primitifs et littéraux
Structures de contrôle
Les collections d'objets
Boucles
Bien qu’elles aient toutes un rôle similaire, chaque boucle est pourtant adaptée à une situation :
- Structure tant que (adaptée pour effectuer des opérations tant qu’une condition n’est pas rencontrée) :
While <expression booléenne> instruction(s) EndWhile
- Structure faire … tant que (adaptée pour effectuer des opérations qui demandent le même état d’origine à chaque itération) :
Repeat instruction(s) Until <expression booléenne>
Boucle sans condition au début ou à la fin (quand la condition est au milieu des traitements):
Loop instruction(s) If <expression booléenne> instruction(s) Break EndIf instruction(s) EndLoop
- Structure pour (adaptée lorsqu'une collection doit être parcourue en totalité pour traitement) :
For <expression de type numérique> = <valeur de début> To <valeur de fin> Step <expression d’incrémentation> Instruction(s) EndFor
Structures conditionnelles
Structure si : condition simple
If <expression booléenne> instruction(s) EndIf
Structure si … sinon : condition avec alternative unique
If <expression booléenne> instruction(s) Else instruction(s) EndIf
Structure si … ou si … ou si … : condition avec alternatives multiples
If <expression booléenne> instruction(s) ElseIf <expression booléenne> instruction(s) ElseIf <expression booléenne> instruction(s) Else instruction(s) EndIf
Structure atteindre … cas x … cas y …" : embranchement vers un bloc d’instructions énuméré
Evaluate <expression> Where <expression> instruction(s) EndWhere Where <expression1>, <expression2> To <expression3>, <expression4> instruction(s) EndWhere [...] Else instruction(s) EndEvaluate
Evaluate fonctionne avec les types entiers, flotants et chaîne (attention, "A" <> "a"). Les expressions dans les Where peuvent être arbitrairement complexes, mais le code est plus efficace quand on utilise uniquement une expression entière dans l'Evaluate et de simples constantes litérales entières (12, $7F) en évitant les grands intervalles (n1 To n2 quand n2 - n1 >= 16) dans les Where.
La commande Break sort immédiatement de la boucle en cours (For, While, Repeat ou Loop), même si elle apparaît dans un Evaluate.
De même, Continue ramène au début de la boucle (en passant à l'itération suivante dans le cas d'une boucle For).
Les instructions Exit ou Return font quitter fonction, instruction ou évènement, en retournant la valeur par défaut (0, 0.0 ou "") selon le type retourné dans le cas des fonctions et évènements.
Avec Return uneValeur, uneValeur sera renvoyée à la méthode appelante (si l'on est dans une fonction ou un évènement appelé par Send avec variable de retour).
Exemples
Fonction qui retourne l’aire d’un cercle :
Function AireDuCercle#(Num Rayon) Return Num Return 3.14159265 * Rayon * Rayon ; Il est possible d'utiliser la valeur PI# qui est définie dans NSMATH.NCL EndFunction Message "AireDuCercle", "L'aire d'un cercle de rayon 2.4cm est :" && String$(AireDuCercle#(2.4)) && "cm²."
La dernière ligne de l'exemple ci-dessus va afficher une fenêtre ayant pour titre "AireDuCercle" et pour contenu la phrase : "L'aire d'un cercle de rayon 2.4cm est 18.0864 cm²."
Notes et références
Wikimedia Foundation. 2010.