Introduzindo as palavras-chave "Preserve" e "original"

Já que todos os parâmetros são passados por referência, inevitavelmente haverão situações onde a alteração do valor do parâmetro se tornará indesejada. Eis o que fazer nestes casos.

O comando "Preserve" cria uma cópia da variável original, para que você possa alterá-la sem maiores preocupações.

Exemplos:

Função para que se determine se uma string possui alguma vogal acentuada:
  Preserve a string.
  Itere.
    Se a string estiver em branco, diga não.
    Se o conteúdo deste caractere final desta string for alguma vogal acentuada, diga sim.
    Subtraia 1 desde o caractere final desta string.
  Reitere.

Rotina para que se adicione uma fração para uma segunda fração:
  Preserve a fração.
  Simplifique a fração e a segunda fração.
  Adicione o numerador desta fração para o numerador desta segunda fração.
  Reduza a segunda fração.

Rotina para que se acrescente um byte para uma string usando uma contagem:
  Preserve a contagem.
  Itere.
    Se a contagem for menor do que 1, retorne.
    Acrescente o byte para a string.
    Subtraia 1 desde a contagem.
  Reitere.

Caso você deseje manipular a variável original, basta acrescentar a palavra chave "original" após o nome da variável preservada.

Exemplos de uso:

Rotina para que se inverta uma string:
  Preserve a string.
  Limpe a string original.
  Itere.
    Se a string estiver em branco, pare.
    Obtenha um caractere desde a string (regressivamente).
    Acrescente o caractere para a string original.
  Reitere.

Atualizado

Isto foi útil?