Portugol
|
Portugol (Português Estruturado)
|
Paradigma
|
Programação estruturada, Programação algorítmica
|
Surgido em
|
1980-1983 (como método), 1996 (VisuAlg)[1], 2004 (IPT)[2]
|
Criado por
|
Antonio Carlos Nicolodi - Uniasselvi-Fameblu, Furb, CedupHH/Blumenau e Instituto Federal de Santa Catarina (como método de ensino) [3]; Claudio Morgado de Souza (VisuAlg); António Manso - Instituto Politécnico de Tomar (Portugol IPT);
|
Estilo de tipagem
|
Múltiplas
|
Principais implementações
|
|
Influenciada por
|
|
Influenciou
|
|
Licença
|
Múltiplas
|
Portugol, também conhecido como Português estruturado, é uma família de linguagens de programação que possui como base a língua portuguesa. Algumas de suas variações podem ser consideradas pseudocódigo[4], e outras são linguagens completas, livres de contexto, com gramáticas definidas e implementações em editores ou compiladores[5]. São usadas tanto para o estudo de algoritmos e estruturas de dados quanto para a criação de compiladores, interpretadores e ferramentas de diagramação, como geradores de fluxogramas.
História
Há divergências de informação sobre os criadores oficiais de Portugol, tanto como método como quanto implementação. Segundo arquivo do blog do site do dialeto Portugol VisuAlg[3], o esforço foi iniciado como uma tradução da linguagem de programação Pascal para a língua portuguesa, entre 1980 e 1983, pelo professor Antonio Carlos Nicolodi, sendo Pascal a descendente direta da linguagem de programação chamada ALGOL, que era usada apenas em mainframes. Na época, o dialeto era apenas chamado de "Portugol" e não tinha uma implementação.
Portugol teve sua primeira implementação criada em 1996, por Cláudio Morgado de Souza[1]. Esta variação de Portugol baseada em Pascal é conhecida como Portugol VisuAlg, implementada em seu próprio editor. Atualmente, é mantida por Nicolodi.
Uma segunda variação de Portugol foi criada por António Manso em 2004 e mantida até 2006[2], e é bastante diferente da variação do VisuAlg, tanto na sintaxe quanto nos comandos básicos. Por exemplo, para um algoritmo que escreve na tela "Olá mundo", devemos escrever:
algoritmo "ola-mundo"
inicio
escreva ("Olá mundo")
fimalgoritmo
Já para a variação do Instituto Politécnico de Tomar (IPT), escrevemos da seguinte forma:
inicio
escrever "Olá mundo"
fim
O nome Portugol é uma mistura das três palavras: Português, Algol e Pascal, (PORTUguês, ALGOL e PascaL)[3].
Variações
Portugol tem variações inspiradas em outras linguagens de programação além de Pascal, como a linguagem C, C++ e Java. O Portugol Studio, implementada pelo núcleo de tecnologia da Universidade Federal do Vale do Itajaí (UNIVALI) e a Mapler[6], desenvolvida por alunos do Instituto Federal do Maranhão, são implementações baseada em Java, e também escritas inteiramente em Java. Outras variações conhecidas são:
- G-Portugol
- Portugol Viana
- P&G editor
Variações como a IPT e Mapler possuem funcionalidades em que o usuário pode desenhar fluxogramas e traduzir esses diagramas para código em Portugol. Mapler também possui a capacidade de traduzir algoritmos Portugol para linguagens de alto nível como Java, Python e C++[6].
Portugol Viana é uma variação de Portugol que continua a implementação de Portugol IPT, com comandos, operadores, funções, funções recursivas, estruturas e construtores de estruturas complexas tais como stacks, queues, listas ligadas e listas duplamente ligadas.[7]. A autoria é da Escola Superior de Tecnologia e Gestão de Viana do Castelo.
G-Portugol é um compilador de Portugol para executáveis. Possui um compilador para Windows e um para Linux.
O Método Portugol
Portugol como método ou pseudolinguagem permite a qualquer pessoa falante de português desenvolver algoritmos estruturados de forma mais simples e intuitiva, independentemente da sintaxe de linguagens de programação verdadeiras. O método pode ser descrito da seguinte forma:
- Um algoritmo é descrito como uma série de passos, como, por exemplo, uma receita de bolo;
- Emprega-se a técnica de refinamentos sucessivos, ou seja, cada passo é refinado para se parecer com uma instrução que uma máquina pode executar;
- Após o refinamento final, o algoritmo é codificado em alguma linguagem livre de contexto.
Por exemplo: um algoritmo para imprimir uma série de números de 1 a 15 pode ser descrita abaixo por linguagem natural:
- Defina uma variável com o valor 1;
- Escreva a variável;
- Adicione 1 à variável;
- Repita os dois últimos passos até que a variável tenha o valor 15.
Fazendo uma transcrição para Portugol, teríamos:
inteiro variavel;
variavel <- 1;
enquanto variável <= 15
escreva(variavel);
variavel <- variavel + 1;
fim enquanto;
A implementação de algoritmos desenvolvidos em Portugol é feita com facilidade a partir de um mapeamento para a linguagem de programação desejada. O método existe desde a década de 1970, sendo utilizado para o aprendizado de algoritmos e estruturas de dados. Está presente em muitos materiais didáticos de programação[4].
É também usado em conjunto com os diagramas em blocos (como o Fluxograma ou Diagrama de Chapin). Algumas variações de Portugol podem gerar código a partir de fluxogramas e vice-versa.
Exemplos de código
Portugol VisuAlg
algoritmo "ola-mundo"
inicio
escreva ("Olá mundo")
fimalgoritmo
Portugol IPT e Portugol Viana
inicio
escrever "Olá mundo"
fim
Ver também
Referências