Manzano Home Site

Programação - Português Estruturado


O tema “Português Estruturado” não é um assunto inédito, pois a primeira publicação registrada a este respeito ocorreu no ano de 1975 em um artigo intitulado “PDL - A Tool for Software Design”, escrito pelos pesquisadores Stephen H. Caine e E. Kent Gordon, que o apresentaram em uma conferência nacional sobre computação no Estado da Califórnia, nos Estados Unidos da América. Neste artigo os autores apresentam uma forma de escrita que objetiva representar de forma clara as ações a serem executadas em um computador sem levar em consideração o uso de qualquer condição que sugira o uso de uma linguagem formal de programação de computadores. A sigla PDL apresentada por Caine e Gordon significa Program Design Language – Linguagem de Projeto de Programação, ou seja, é uma forma de pseudo-código.

O conceito de pseudocódigo baseia-se uma técnica de codificação de programação que por meio de uma linguagem quase computacional consiga representar na forma escrita do idioma local de um determinado pais a ação lógica a ser executada por um programa de computador. Desta forma, o pseudocódigo caracteriza-se por ser uma linguagem de alto nível (linguagem semelhante a forma escrita humana) de programação de computadores não formal (linguagem que normalmente não possui sua implementação real em um computador). Um pseudocódigo é uma estrutura de escrita que possui uma sintaxe particular (seguindo um estilo computacional), podendo esta estrutura ser representada em qualquer idioma falado no planeta. Não há definido para a representação do pseudocódigo uma forma sintática padronizada, embora normalmente se utilize a influência de uma linguagem formal de programação de computadores, tais como: ALGOL, PASCAL, C, C++, entre outras.

O grande problema no uso do pseudocódigo “Português Estruturado” é a falta de padronização semântica por parte dos vários autores de obras publicadas para o estudo do tema “Algoritmos”. O fato de cada autor ou profissional definir uma forma particular de escrever a estrutura funcional de um código computacional e também de definir um nome de identificação não caracteriza nenhuma espécie de erro, mas acaba por criar uma série de dialetos que se tornam confusos e criam interpretações e discussões desnecessárias sobre qual forma é ou não válida. Por esta razão é que se deve fazer uso de uma forma mais homogênea. A seguir encontra-se uma sugestão de uma estrutura de pseudocódigo (português estruturado):

ATÉ (Preposição)
ATÉ_QUE (Conjunção - de acordo com seu equivalente inglês - until)
CARACTERE (Substantivo Masculino)
CASO (Substantivo Masculino)
CONJUNTO (Adjetivo)
DE (Preposição)
ENQUANTO (Conjunção)
ENTÃO (Advérbio)
ESCREVA (Verbo Imperativo Afirmativo)
FAÇA (Verbo Imperativo Afirmativo)
FIM (Substantivo Masculino)
FIM_CASO (Substantivo Masculino com Substantivo Masculino)
FIM_ENQUANTO (Substantivo Masculino com Conjunção)
FIM_PARA (Substantivo Masculino com Preposição)
FIM_REGISTRO (Substantivo Masculino com Substantivo Masculino)
FIM_SE (Substantivo Masculino com Conjunção)
FUNÇÃO (Substantivo Feminino)
INÍCIO (Substantivo Masculino)
INTEIRO (Adjetivo)
LEIA (Verbo Imperativo Afirmativo)
LÓGICO (Adjetivo)
PARA (Preposição)
PASSO (Substantivo Masculino)
PROCEDIMENTO (Substantivo Masculino)
PROGRAMA (Substantivo Masculino)
REAL (Substantivo Masculino)
REGISTRO (Substantivo Masculino)
REPITA (Verbo Imperativo Afirmativo)
SE (Conjunção)
SEJA (Interjeição)
SENÃO (Conjunção)
TIPO (Substantivo Masculino)
VAR (Variável - Substantivo Feminino)
+ (Operador aritmético de adição para tipo inteiro e real)
- (Operador aritmético de subtração para tipo inteiro e real)
* (Operador aritmético de multiplicação para tipo inteiro e real)
/ (Operador aritmético de divisão para quociente real)
DIV (Operador aritmético de divisão para quociente inteiro)
← (Operador aritmético de atribuição)
↑ (Operador aritmético de exponenciação)
.E. (Operador lógico de conjunção)
.OU. (Operador lógico de disjunção)
.NÃO. (Operador lógico de Negação)
> (Operador relacional maior que)
< (Operador relacional menor que)
>= (Operador relacional maior ou igual a)
<= (Operador relacional menor ou igual a)
= (Operador relacional igual a)
<> (Operador relacional diferente de)