Obs: não muito diferente das linguagens atuais. Nota: 0,5 Linguagem NaturalCode Nesta linguagem um código de programa começa com a palavra Program seguida de funções sendo a função principal chamada de "main". * Operações: As operações são feitas de modo próximo ao da linguagem natural e cada comando termina com um ponto e virgula. Ex: //a é igual à soma de b com c, multiplicado por d a = + b c * d ; São aceitos os operadores : +, *, -, /, % (resto), =, ^ (elevado), =/=, >, <, >=, <=, and e or. * Repetições: Repetições determinísticas: Palavras reservadas: "do" e "times". //faça 10 vezes: a é igual à soma de b com c, multiplicado por d do 10 times : a = + b c * d ; OBS: Pode ser utilizado o { e } para um bloco de comandos : do 10 times : { a = + b c * d ; a = 0; } Repetições não deterministicas : Palavras reservadas: "until" e "do" //até que a seja maior que 10 faça : a é igual à soma de a com 1 until a > 10 do : a = + a 1 ; OBS:Pode ser utilizado o { e } para um bloco de comandos. * Declarações de variáveis : //a é um inteiro a isa integer ; Sendo "isa" uma palavra reservada significando "is a" (é um). No caso acima o correto seria "isan" (is an), mas foi adotado "isa" como uma padrão. //b é um real b isa real; //c é uma instancia de Pilha c isa instanceof Stack; Sendo "instanceof" uma palavra reservada significando "instance of" (é uma instancia de). O correto seria c aponta para uma instancia de Pilha, mas uma palavra chave "pointtoainstanceof" ficaria muito longa, então foi abreviado para apenas "instanceof". * Funções Uma função pode retornar ou não um valor, as palavras reservadas são "function", "uses" e "return". Ex: function Media uses : a isa integer, b isa integer ; begin c isa real; c = + a b / 2 ; return c; end Utilizando a função: m = media a b; * Condicional //Se a maior que b então c é igual a a senão c é igual a b if a > b then c = a; else c = b; OBS:Pode ser utilizado o { e } para um bloco de comandos.