Documentação
  • Bem-vindo
  • Biblioteca Padrão
  • Características da linguagem
  • Comentários
  • Declaração e inicialização de variáveis
    • Inferência automática de tipos
  • Tipos de dados
    • Valores numéricos
    • Estruturas e Uniões de dados
      • Acessando os valores dos campos de estruturas
    • Strings e caracteres
      • Subtextos
      • Percorredores
    • Listas duplamente vinculadas
    • Conversão de tipos
  • Laços e Desvios condicionais
    • Lidando com vazamentos de memória em laços
  • Operadores
    • Precedência e Ordem de avaliação de operadores
  • Rotinas, Parâmetros e Funções
  • Trabalhando com Bibliotecas externas
  • Trabalhando com Instruções Hexadecimais
  • Callbacks
  • Introduzindo as palavras-chave "Preserve" e "original"
  • Usando a preposição "de"
  • Cores
  • Gráficos de Tartaruga (Turtle Graphics)
  • Algoritmos de Exemplo
    • Olá Mundo
    • A + B
    • Agenda Telefônica
    • Animação de sprites
    • Fatorial
    • 100 Portas
    • Dó Ré Mi Fá
    • API Win32 - GdipImageRotateFlip
    • Pintando como Claude Monet
    • Exemplo de interface
    • Evitando problemas de cintilação (Flickering)
    • Desenhando e pintando retângulos e caixas
    • Cofrinho Virtual
Fornecido por GitBook
Nesta página
  • Funções de retorno booleano
  • Regras gerais para nomes de rotinas e funções
  • Cálculos de campos em tempo de execução

Isto foi útil?

Editar no GitLab

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 invocadas de forma similar ao declarado no cabeçalho da rotina.

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

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

Note que o parâmetro "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".

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

Função para que se determine se<expressão a ser avaliada>:

O nome da função começa após o "Função para que se determine se".

Exemplo:

Função 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".

Toda função booleana precisa terminar com um "Diga sim" ou "Diga não".

O cabeçalho de funções booleanas devem ser iniciado da seguinte forma "Função para que se determine se"

As funções deliberativas devem, obrigatoriamente ser invocadas a partir de expressões condicionais.

As expressões condicionais somente podem ser incluídas dentro do escopo do corpo de uma rotina.

Para utilizar uma função de retorno booleano em uma rotina, basta usar o restante do cabeçalho da função (ou seja, o nome da função sem o trecho "Função para que se determine").

Exemplo:

Rotina para que se escreva o fatorial de um número:

Se o número for negativo, retorne.

Se o número for 1, atribua 1 ao número.

[...]

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.

Cálculos de campos em tempo de execução

AnteriorPrecedência e Ordem de avaliação de operadoresPróximoTrabalhando com Bibliotecas externas

Atualizado há 12 dias

Isto foi útil?