NAME

perltugues - pragma para programar usando português estruturado

VERSION

0.19

SYNOPSIS

    use perltugues;
    
    inteiro: i, j;
    texto: k;
    inteiro: l;
    
    para i (de 1 a 100 a cada 5) {
       escreva i, quebra de linha;
       k = "lalala";
       escreva k, quebra de linha;
       escreva j, quebra de linha;
    }
    
    enquanto(i >= j){
       escreva 'i e j => ', i, " >= ", j++, quebra de linha;
    }
    
    escreva quebra de linha; 
    
    escreva de 0 a 50 a cada 10, quebra de linha;

DESCRIPTION

Perltugues é uma forma facil de se aprender algoritmo. Com ele você tem uma "linguagem" (quase) completa em português, o que facilita muito a aprendizagempor pseudocódigo. E a transição para o perl é muito simples.

Declarações

Declarações em Perltugues são separadas por ponto-e-vírgula (;)

Blocos

Podemos criar blocos com chaves:

  {
          ...
  }

ou com declarações de início e fim:

  inicio:
      ...
  fim

O sinal de dois pontos (:) antes de "inicio" é opcional.

Variáveis

Todos os nomes de variáveis em perltugues devem começar com uma letra (/^[a-zA-Z]/). Existem quatro tipos de variáveis que podem ser usados:

caractere

Armazena um único caractere.

texto

Armazena uma sequência (string) de caracteres, de qualquer tamanho.

inteiro

Armazena números inteiros.

real

Armazena números reais (ponto flutuante).

Declaração de variáveis

Variáveis são declaradas da seguinte forma:

    inteiro: i;
    inteiro: j;

    inteiro: i, j;

    texto: str;

    caractere: chr1, chr2;

Entrada e Saída

escreve

escreva

leia

Estruturas condicionais

se

   se a > b {
           ...
   }

Executa o bloco apenas se a expressão fornecida for verdadeira. Note que, em qualquer estrutura do perltugues, parêntesis envolvendo a expressão são opcionais (i.e., no exemplo acima, as expressões a > b e (a > b) são aceitas da mesma forma.

a não ser que

a nao ser que

   TODO

Estruturas de Iteração (laços):

para

A estrutura para atribui a uma variável a sequência de valores definida. Por exemplo, o trecho de código:

    para i (de 1 a 10) {
        ...
    }

realizará o bloco entre chaves 10 vezes e, para cada vez, atribuirá o valor à variável determinada (no caso, i).

Nessa construção é possivel ainda utilizar a expressão 'a cada X', onde X indica quantos elementos serão pulados a cada iteração. Por exemplo:

   para i de 1 a 10 a cada 2 {
           ...
   }

executará com os valores 1, 3, 5, 7 e 9.

enquanto

    enquanto i != j {
        ...
    }

Executa o bloco enquanto a expressão definida for verdadeira.

ateh que

até que

ate que

    ateh que i == j {
        ...
    }

Executa o bloco até que a expressão fornecida seja verdadeira. Note que o "que" é opcional, então:

    até (i == j) {
                ...
        }

produz o mesmo resultado que o exemplo anterior. Para facilitar ainda mais a legibilidade de seus algoritmos, é possível usar apenas o 'q' como um sinônimo para 'que'. As mesmas regras do 'que' valem para todas as expressões do perltugues que a utilize em sua sintaxe.

controlando o fluxo de seus laços

Algumas expressões podem ser usadas para controlar o fluxo dos laços. Em casos de laços aninhados, elas serão aplicadas sempre em relação ao laço mais específico. Para tratar laços externos, é possível rotulá-los e referenciar o rótulo. As expressões são:

saia do laço

saia do laco

saia do loop

sai do laço completamente.

próximo

proximo

inicia a próxima iteração no laço.

de novo

refaça

refaca

executa novamente o laço, mas sem reavaliar a condição.

   enquanto (CONDICAO) {  # <-- "próximo" vem para cá
      # <-- "de novo" vem para cá
      ...
   }
   # <-- "saia do laço" vem para cá

vá para ROTULO

va para ROTULO

posiciona o fluxo do seu código em um local arbitrário do mesmo, definido a partir de um rótulo.

  INICIO: 
  ...
  vá para INICIO;

AUTHOR

Fernando Correa de Oliveira <fco@cpan.org>

CONTRIBUTORS

Breno G. de Oliveira

LICENSE AND COPYRIGHT

Copyright 2008 Fernanco Correa de Oliveira <fco at cpan.org>. All rights reserved.

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic.