Rotinas, Parâmetros e Funções

A sintaxe básica para declaração de uma rotina é a seguinte:

Rotina para que se<nome da rotina>:

O nome da rotina começa após o "se".

Parâmetros são indicados pelos artigos indefinidos:

  • um

  • uns

  • uma

  • umas

Exemplos:

Rotina para que se adicione uma cor e um rótulo para um menu:

Nome da rotina: adicione

Parâmetros: cor, rótulo, menu

Preposições e conjunções: e, para.

Rotina para que se crie uma imagem usando uma URL:

Nome da rotina: crie

Parâmetros: imagem, URL

Preposições e conjunções: usando

As preposições e conjunções embora não façam parte do nome da rotina, devem ser utilizadas de forma similar ao declarado. A 1ª rotina acima pode ser chamada de forma similar ao exemplo abaixo:

Adicione a cor preta e "Abrir" para o menu.
Adicione a cor vermelha e "Fechar" ao menu.

A 2ª rotina, por exemplo poderia ser chamada das seguintes formas:

Crie a imagem usando a URL.
Crie a imagem dada a URL.
Crie a imagem com a URL.
Crie a imagem desde a URL.

Perceba que a linguagem suporta:

Contrações em geral*

  • à -> para a

  • ao -> para o

  • deste -> de este

  • destes -> de estes

  • desta -> de estas

  • destas -> de estas

  • desta -> de esta

  • na -> em a

  • nas -> em as

  • no -> em o

  • nos -> em os

  • num -> em um

  • nuns -> em uns

  • numa -> em uma

  • numas -> em umas

  • pelo -> por o

  • pelos -> por os

  • pela -> por a

  • pelas -> por as

Sinônimos (para as preposições).

  • com / contendo / dado / desde / usando

  • em / para / por

Para um melhor entendimento da linguagem iremos converter a função Javascript abaixo para Português Puro:

function FazAlgumaCoisa(numero) {
  if(number < 0){
    return;
    }
  let contador = numero * 2;
  while (true) {
    contador ++;
    if (contador >= 10) {
      break;
    }
  }
}

Dados da função

Nome: FazAlgumaCoisa.

Parâmetros: numero.

Variáveis locais: contador.

Número de linhas: 12*

*sendo que destas 12 linhas, 4 são inteiramente desperdiçadas com colchetes e espaços em branco

A rotina acima ficaria assim:

Para que se faça alguma coisa com um número:

Se o número for menor do que 0, retorne.

Atribua o número vezes 2 para um contador.

Itere.

Adicione 1 para o contador.

Se o contador for maior do que 10, pare.

Reitere.

Dados da rotina

Nome: Faça alguma coisa

Parâmetros: número

Variáveis locais: contador.

Número de linhas: 7

Perceba que ao invés da keyword function nós utilizamos para que se (o termo "Rotina" é opcional).

Perceba que o parâmetros "número" bem como a variável local "contador" foram referenciados com um artigo definido após serem introduzidas no código pela 1ª vez com um artigo indefinido.

Funções de retorno booleano

A linguagem trabalha com o conceito de "funções deliberativas".

Para criar uma função decisória a sintaxe utilize a seguinte sintaxe:

Para que se determine se um número é negativo:

Se o número for menor do que 0, diga sim.

\ Caso contrário

Diga não.

"Diga sim" equivale a um "return true" e "Diga não" é o equivalente de "return false".

As funções deliberativas costumam ser utilizadas dentro de declarações condicionais.

Por exemplo:

Se o número for negativo, retorne.

Os verbos ser/estar (e suas respectivas conjugações) são tratados como sinônimos pelo compilador.

Regras gerais para nomes de rotinas e funções

  • O nome da rotina começa após o "para que se" (ou após o "para que se determine se" no caso de funções deliberativas).

  • Artigos indefinidos indicam um novo parâmetro. Exemplos:

    • um número,

    • uns vértices,

    • uma string,

    • umas formas

  • Parênteses podem ser utilizados para "escapar" strings, parâmetros ou indicar rotinas de um mesmo grupo. Exemplo:

    • Rotina para que se execute um evento (clique - botão direito):

    • Rotina para que se execute um evento (clique - botão esquerdo):

    • Rotina para que se execute um evento (clique duplo):

    • Rotina para que se execute um evento (atualização de tela):

  • Preposições e artigos definidos são permitidos nos nomes das rotinas (porém não exercem nenhuma função especial além de tornar o nome da função mais inteligível). Exemplos:

    • Rotina para que se execute o programa:

    • Rotina para que se ajuste a caixa de diálogo:

    • Rotina para que se adicione um botão para a caixa de diálogo usando uma string:

Perceba nas rotinas logo acima que os artigos definidos não indicam um parâmetro.

Atualizado