NCL (idioma)

NCL
Data da primeira versão 1987
Paradigma Programação de eventos
Desenvolvedor Sistema Nat
Digitando Estático , forte
Influenciado por C / C ++
Sistema operacional Microsoft Windows
Local na rede Internet www.natsystem.fr

NCL ( sigla de Nat System's Command Language ) é uma linguagem de programação de 4ª  geração , criada pela Nat System para o Integrated Development Environment NSDK e posteriormente utilizada no Natstar .

Apresentação

Sintaxe

Palavras reservadas, primitivas e literais

Estruturas de controle

Coleções de objetos Extraia uma string

Para extrair uma string usamos a função COPY, que permite, como o próprio nome sugere, copiar.

var = "Olá, mundo!"

var2 = ""

var3 = ""

var2 = COPY $ (var, 0,5); para recuperar Olá

var3 = COPY $ (var, 6.5); para recuperar o mundo

No caso de uma variável cujo tamanho não sabemos, usamos uma variável que recupera seu tamanho

var4 = COMPRIMENTO var

var3 = COPY $ (var, 0, var4)

Construir uma corrente

Pegando as mesmas variáveis ​​acima:

var4 = ""

var4 = var2 & var3

Isso dá: HelloWorld

var4 = var2 && var3

Isso dá: Olá, mundo

O "&" fica sem espaço, o "&&" fica com um espaço.

Coloque uma frase ou uma palavra em maiúsculas ou minúsculas

Para fazer isso, usamos as funções UPCASE e LOWCASE.

UPCASE para capitalizar:

upcase var4

Isso dá: OLÁ, MUNDO

LOWCASE para colocar em minúsculas

Fivelas

Embora todos tenham uma função semelhante, cada loop é, no entanto, adaptado a uma situação:

  • Estrutura while (adequada para realizar operações, desde que uma condição não seja atendida):
While <expression booléenne> instruction(s) EndWhile
  • Estrutura do ... as (adaptada para realizar operações que requerem o mesmo estado original em cada iteração):
Repeat instruction(s) Until <expression booléenne>

Loop incondicional no início ou no final (quando a condição está no meio dos tratamentos):

Loop instruction(s) If <expression booléenne> instruction(s) Break EndIf instruction(s) EndLoop
  • Estrutura para (adequada quando uma coleção deve ser completamente pesquisada para processamento):
For <expression de type numérique> = <valeur de début> To <valeur de fin> Step <expression dincrémentation> Instruction(s) EndFor Estruturas condicionais

Estrutura se: condição simples

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

Estrutura se ... caso contrário: condição com alternativa única

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

Estrutura se ... ou se ... ou se ...: condição com várias alternativas

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

Alcance da estrutura ... caso x ... caso y ... ": desvio para um bloco enumerado de instruções

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

O Evaluate funciona com os tipos inteiro, float e string (cuidado, "A" ≠ "a"). Expressões em Onde podem ser arbitrariamente complexas, mas o código é mais eficiente ao usar apenas uma expressão de número inteiro em Avaliar e constantes literais inteiras simples (12, $ 7F) evitando grandes intervalos (n1 a n2 quando n2 - n1> = 16) em o Onde .

O comando Break sai imediatamente do loop atual ( For , While , Repeat ou Loop ), mesmo que apareça em um Evaluate .

Da mesma forma, Continue retorna ao início do loop (indo para a próxima iteração no caso de um loop For).

As instruções Exit ou Return encerram uma função, instrução ou evento, retornando o valor padrão (0, 0,0 ou "") dependendo do tipo retornado no caso de funções e eventos.

Com Return aValue , aValue será devolvido ao método de chamada (se estivermos em uma função ou evento chamado por Send com variável return).

Exemplos

Função que retorna a área de um círculo:

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

A última linha do exemplo acima exibirá uma janela com o título "AreaDuCircle" e a frase: "A área de um círculo de raio de 2,4 cm é 18,0864 cm²."

Notas e referências

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