Vous êtes sur la page 1sur 5

Linguagem de Projecto de Programao Proposta sintctica em idioma portugus JOS AUGUSTO NAVARRO GARCIA MANZANO INTRODUO Este artigo

prope e discute um formato padro para a elaborao da documentao escrita da linha de raciocnio lgico do cdigo de programao de computadores em lngua portuguesa, por meio do uso de uma Linguagem de Projecto de Programao (LPP), de maneira que possa tal cdigo textual ser traduzido para qualquer linguagem formal estruturada de programao de computadores. O tema aqui exposto no assunto indito, pois j foi discutido em 1975 no artigo PDL - A Tool for Software Design 1, escrito pelos investigadores Stephen H. Caine e E. Kent Gordon. Neste artigo os autores apresentam uma forma de escrita que objectiva representar, de forma clara, as aces a serem executadas em um computador sem levar em considerao o uso especfico de uma linguagem formal de programao de computadores. No se trata de apresentar uma traduo da proposta PDL, mas sim formatar e propor critrios que permitam o uso de uma nomenclatura em lngua portuguesa mais equilibrada e homognea em relao forma que vem sendo utilizada. Deseja-se assim sugerir algumas regras de escrita que possam evitar a multiplicidade de dialectos encontrados. O factor que motivou a elaborao desta discusso decorre do facto de vrios profissionais da rea de desenvolvimento de programas de computadores principalmente no Brasil ao fazerem (quando fazem) uso de alguma tcnica semelhante a tcnica PDL no o fazem segundo uma regra ou forma nica, cada qual, quando a usa, f-lo de uma forma particular e diferente, ocasionando dificuldades no uso da tcnica. LINGUAGEM DE PROJECTO DE PROGRAMAO LPP Uma das questes aqui discutidas o facto de se definir um formato textual padro e homogneo para a utilizao dos comandos de pseudocdigo portugus a ser utilizado na documentao do cdigo de um programa de computador. Alm da preocupao em relao s palavras de comandos a serem definidas, existe a questo relacionada com o nome da tcnica em portugus, pois vrios so os nomes sugeridos, como: portugol (GUIMARES & LAGES, 1994), linguagem de descrio (VELOSO, et. al., 1996), linguagem universal de programao (TERADA, 1991), linguagem de leitura simples (SZWARCFITER & MARKENZON, 1994), e outras tantas formas encontradas e definidas no sentido de tentar representar e indicar a mesma ideia. O facto de cada autor ou profissional definir uma forma particular de escrever a estrutura funcional de um cdigo computacional e tambm o seu nome de identificao no caracteriza nenhuma espcie de erro, mas estabelece uma srie de dialectos que se tornam confusos e geram interpretaes e discusses desnecessrias sobre que forma ou no vlida. A tabela 1 mostra as palavras-chave de pseudocdigo usadas pelos autores pesquisados e suas correlaes com as linguagens formais de programao de
1 PDL significa Program Design Language.

computadores PASCAL2 e STRUCTURED BASIC 3 e tambm a proposta de comandos da Linguagem de Projecto de Programao. Para melhor interpretao da tabela considere o nome de cada coluna segundo a legenda:

BAS Cdigo em Structured BASIC; GUL Guimares e Lages; LPP Linguagem de Projecto de Programao; PAS Cdigo Pascal; SZM Szwarcfiter & Markenzon; TER Terada; VEL Veloso, et. al.

A indicao das linguagens formais de programao PASCAL e STRUCTURED BASIC so consideradas no sentido de ajudar a demonstrar o motivo em propor a definio de uma regra de codificao mais genrica para a forma LPP em relao ao formato utilizado pelos demais autores. Note que a LPP engloba um conjunto maior de instrues em relao ao conjunto de instrues das linguagens PASCAL e STRUCTURED BASIC e tambm do conjunto proposto no trabalho particular de cada um dos autores apontados. Os campos da tabela que se encontram grafados em branco em qualquer uma das formas apresentadas mostram a ausncia de comandos referentes s aces indicadas pelos autores de cada obra consultada. Quanto aos campos relacionados com as linguagens formais de programao PASCAL e STRUCTURED BASIC que esto em branco, estes indicam a ausncia da aco na linguagem em si. Alm da proposta de padronizao do conjunto de palavras reservadas, h a necessidade de definir um padro para a representao genrica de uso dos operadores aritmticos, operadores lgicos e operadores relacionais. Assim sendo, segue-se na tabela 2 a apresentao e as comparaes entre as vrias definies dos operadores aritmticos, lgicos e relacionais a serem utilizados pela LPP. Definida a proposta de estrutura de codificao a ser utilizada pela LPP cabe mostrar na tabela 3 a relao dos comandos propostos e sua classificao sintctica dentro da esfera da lngua portuguesa, de acordo com a representao da aco a ser executada por cada um dos comandos. Uma linguagem de programao de computadores de alto nvel (mesmo que seja uma linguagem de documentao como a proposta da LPP) formada por um conjunto de preposies, conjunes, substantivos, adjectivos, advrbios, verbos e interjeies e devido a estas caractersticas recebe o nome de linguagem de programao, que o conjunto de instrues e regras de composio e encadeamento, pelo qual se expressam aces que so executadas por um computador. Assim sendo, passa-se a ter um instrumento eficiente e eficaz de comunicao.

CONCLUSO Este artigo no pode ser conclusivo, uma vez que abre a proposta de discusso em
2 Da linguagem PASCAL esto sendo considerados os seus principais comandos. 3 Da linguagem STRUCTURE BASIC est sendo considerado o uso do ambiente QuickBASIC.

apresentar uma forma de documentao que seja oficializada para uma representao mais formal e homonea do formato escrito da linha de raciocnio computacional. Sugere-se assim uma forma mais homognea de escrita que seja til para os profissionais de desenvolvimento de software, professores, alunos e demais interessados.
GUL
AT AT CARACTER VETOR/MATRIZ DE ENQUANTO ENTO IMPRIMA() FAA FIM FIM_ENQUANTO FIM_PARA FIM_REGISTRO FIM_SE INCIO INTEIRO LEIA() LGICO PARA PASSO PROCEDIMENTO REAL REGISTRO REPITA SE SENO TIPO

VEL
AT AT CAR VET DE ENQUANTO ENTO ESCREVA() FAA FIM

TER
AT FIM-REPITA

SZM

PAS
TO UNTIL STRING CASE ARRAY := WHILE THEN WRITE() DO END END END ; BEGIN INTEGER READ() BOOLEAN FOR PROCEDURE PROGRAM REAL RECORD REPEAT IF OF ELSE TYPE VAR

BAS
TO LOOP STRING SELECT DIM = WHILE THEN PRINT END SELECT WEND NEXT END TYPE END IF AS INTEGER INPUT FOR STEP SUB AS SINGLE DO IF CASE ELSE TYPE DIM

LPP
AT AT_QUE CARACTERE CASO CONJUNTO DE ENQUANTO ENTO ESCREVA FAA FIM FIM_CASO FIM_ENQUANTO FIM_PARA FIM_REGISTRO FIM_SE INCIO INTEIRO LEIA LGICO PARA PASSO PROCEDIMENTO PROGRAMA REAL REGISTRO REPITA SE SEJA SENO TIPO VAR

ENQTO ENTO PARE-COM-SADA() FAA PARE FIM-ENQTO FIM-PARA FIM-SE

ENQUANTO ENTO FAA

PARE

INCIO INT LEIA() LOG PARA INCR PROC REAL REG REPITA SE SENO TIPO VAR

PARA

PARA PROCEDIMENTO ALGORITMO

REPITA SE SENO

SE SENO

Tabela 1 Comparativo das Formas de Sintaxe

GUL
+ * / DIV ** E OU NO > < =

VEL
+ * / DIV & V > < = + * /

TER

SZM

PAS
+ * / DIV := AND OR NOT > < >= <= = <> + * /

BAS

LPP
+ * / DIV .E. .OU. .NO. > < >= <= = <>

:=

> < =

> < =

= ^ AND OR NOT > < >= <= = <>

Tabela 2 Comparativo entre Operadores Aritmticos, Lgicos e Relacionais


LPP AT AT_QUE CARACTERE CASO Classificao Sintctica Preposio Conjuno (de acordo com seu equivalente ingls - until) Substantivo Masculino Substantivo Masculino

CONJUNTO DE ENQUANTO ENTO ESCREVA FAA FIM FIM_CASO FIM_ENQUANTO FIM_PARA FIM_REGISTRO FIM_SE FUNO INCIO INTEIRO LEIA LGICO PARA PASSO PROCEDIMENTO PROGRAMA REAL REGISTRO REPITA SE SEJA SENO TIPO VAR (varivel)

Adjectivo Preposio Conjuno Advrbio Verbo (Imperativo Afirmativo) Verbo (Imperativo Afirmativo) Substantivo Masculino Substantivo Masculino com Substantivo Masculino Substantivo Masculino com Conjuno Substantivo Masculino com Preposio Substantivo Masculino com Substantivo Masculino Substantivo Masculino com Conjuno Substantivo Feminino Substantivo Masculino Adjectivo Verbo (Imperativo Afirmativo) Adjectivo Preposio Substantivo Masculino Substantivo Masculino Substantivo Masculino Substantivo Masculino Substantivo Masculino Verbo (Imperativo Afirmativo) Conjuno Interjeio Conjuno Substantivo Masculino Substantivo Feminino

Tabela 3 Comandos LPP

REFERNCIAS BIBLIOGRFICAS CAINE, S. H.; GORDON, E. K. PDL: A Tool for Software Design. In PROCEEDINGS OF THE I975 NATIONAL COMPUTING CONFERENCE, 1975, Anaheim, CA. Montvale, NJ: AFIPS Press, 1975, 271-276. GUIMARES, A. de M.; LAGES, A. de C. Algoritmos e Estruturas de Dados. 18. ed. Rio de Janeiro: Livros Tcnicos e Cientficos, 1994, 216 p. SZWARCFITER, J. L.; MARKENZON, L. Estruturas de Dados e seus Algoritmos. Rio de janeiro: Livros Tcnicos e Cientficos, 1994, 320 p. TERADA, R. Desenvolvimento de Algoritmos e Estruturas de Dados. So Paulo: Makron Books, 1991, 255 p. VELOSO, P. et. al. Estruturas de Dados. Rio de Janeiro: Campus, 1996, 228 p.

Vous aimerez peut-être aussi