NCL (limba)

NCL
Data primei versiuni 1987
Paradigmă Programarea evenimentelor
Dezvoltator Nat System
Tastare Static , puternic
Influențată de C / C ++
Sistem de operare Microsoft Windows
Site-ul web www.natsystem.fr

NCL ( acronimul lui Nat System's Command Language ) este un limbaj de programare a 4- a  generație , creat de Nat System pentru Mediul de Dezvoltare Integrat NSDK și folosit ulterior în Natstar .

Prezentare

Sintaxă

Cuvinte rezervate, primitive și literale

Structuri de control

Colecții de obiecte Extrageți un șir

Pentru a extrage un șir, folosim funcția COPY, care permite, după cum sugerează și numele, să copieze.

var = "Hello World!"

var2 = ""

var3 = ""

var2 = COPY $ (var, 0,5); pentru a recupera Hello

var3 = COPY $ (var, 6,5); pentru a recupera Lumea

În cazul unei variabile a cărei dimensiune nu o cunoaștem, folosim o variabilă care își recuperează dimensiunea

var4 = LUNGIME var

var3 = COPY $ (var, 0, var4)

Construiește un lanț

Luând aceleași variabile ca mai sus:

var4 = ""

var4 = var2 & var3

Acest lucru oferă: HelloWorld

var4 = var2 && var3

Acest lucru oferă: Hello World

„&” Se lipeste fără spațiu, „&&” se lipeste cu un spațiu.

Puneți o propoziție sau un cuvânt în majuscule sau minuscule

Pentru a face acest lucru, folosim funcțiile UPCASE și LOWCASE.

UPCASE pentru a valorifica:

upcase var4

Acest lucru oferă: BUNĂ LUME

Minuscule pentru a introduce minuscule

Catarame

Deși toate au un rol similar, fiecare buclă este totuși adaptată unei situații:

  • Structura în timp ce (potrivit pentru efectuarea operațiunilor atâta timp cât nu este îndeplinită o condiție):
While <expression booléenne> instruction(s) EndWhile
  • Structura face ... ca (adaptată pentru a efectua operațiuni care necesită aceeași stare originală cu fiecare iterație):
Repeat instruction(s) Until <expression booléenne>

Buclă necondiționată la început sau la sfârșit (când afecțiunea se află în mijlocul tratamentelor):

Loop instruction(s) If <expression booléenne> instruction(s) Break EndIf instruction(s) EndLoop
  • Structura pentru (adecvată atunci când o colecție trebuie complet căutată pentru procesare):
For <expression de type numérique> = <valeur de début> To <valeur de fin> Step <expression dincrémentation> Instruction(s) EndFor Structuri condiționate

Structura dacă: condiție simplă

If <expression booléenne> instruction(s) EndIf

Structură dacă ... altfel: condiție cu alternativă unică

If <expression booléenne> instruction(s) Else instruction(s) EndIf

Structură dacă ... sau dacă ... sau dacă ...: condiție cu alternative multiple

If <expression booléenne> instruction(s) ElseIf <expression booléenne> instruction(s) ElseIf <expression booléenne> instruction(s) Else instruction(s) EndIf

Acoperire structură ... caz x ... caz y ... ": ramificație către un bloc enumerat de instrucțiuni

Evaluate <expression> Where <expression> instruction(s) EndWhere Where <expression1>, <expression2> To <expression3>, <expression4> instruction(s) EndWhere [...] Else instruction(s) EndEvaluate

Evaluați lucrările cu tipuri întregi, flotante și șiruri (precauție, "A" ≠ "a"). Expresiile în Unde pot fi în mod arbitrar complexe, dar codul este mai eficient atunci când se utilizează doar o expresie întreagă în constantele literale Evaluare și întregi simple (12, $ 7F) evitând intervale mari (n1 până la n2 când n2 - n1> = 16) în În cazul în care .

Comanda Break iese imediat din bucla curentă ( For , While , Repeat sau Buclă ), chiar dacă apare într-o Evaluare .

La fel, Continue revine la începutul buclei (trecând la următoarea iterație în cazul unei bucle For).

Instrucțiunile Exit sau Return renunță la o funcție, instrucțiune sau eveniment, returnând valoarea implicită (0, 0.0 sau "") în funcție de tipul returnat în cazul funcțiilor și evenimentelor.

Cu Return aValue , aValue va fi returnat la metoda de apelare (dacă suntem într-o funcție sau un eveniment apelat de Send cu variabila return).

Exemple

Funcție care returnează aria unui cerc:

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²."

Ultima linie a exemplului de mai sus va afișa o fereastră cu titlul "AreaDuCircle" și propoziția: "Aria unui cerc cu raza de 2,4 cm este de 18,0864 cm²."

Note și referințe

  1. http://www.natsystem.fr/actualites/produits/cible-java.html#contenu