Portugol

Origem: Wikipédia, a enciclopédia livre.
Portugol
Portugol (Português Estruturado)
Paradigma Programação estruturada, Programação algorítmica
Surgido em 1983
Criado por António Manso - Instituto Politécnico de Tomar;
Estilo de tipagem Múltiplas
Principais implementações VisuAlg, Portugol Studio, Mapler
Dialetos: VisuAlg, Portugol Studio, G-Portugol, Mapler, et al
Influenciada por ALGOL, Pascal e C (ANSI)
Influenciou VisuAlg 3.0, Delégua
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[1], e outras são linguagens completas, livres de contexto, com gramáticas definidas e implementações em editores ou compiladores[2]. 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[editar | editar código-fonte]

A primeira variação (dialeto) de Portugol foi criada por António Manso (Portugal) em 1986, e que originou outras duas variações. O esforço iniciou como uma tradução da linguagem de programação Pascal para a língua portuguesa. Pascal é a descendente direta da linguagem de programação chamada ALGOL, que era usada apenas em mainframes. Os primeiros compiladores da linguagem de programação Pascal foram criados e adaptados para microcomputadores. Esta variação de Portugol baseada em Pascal atualmente é conhecida como Portugol VisuAlg, implementada em seu próprio editor, por Cláudio Morgado de Souza.

Uma segunda variação de Portugol foi criada por António Manso e mantida até 2006[3], 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)[4].

Variações[editar | editar código-fonte]

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[5], 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++[5].

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.[6]. 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[editar | editar código-fonte]

Portugol como método ou pseudolinguagem permite a qualquer pessoa falante de português desenvolver algoritmos estruturados de forma relativamente 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 de forma a 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[1].

É 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[editar | editar código-fonte]

Ver artigo principal: Programa Olá Mundo

Portugol VisuAlg[editar | editar código-fonte]

algoritmo "ola-mundo"
inicio
  escreva ("Olá mundo")
fimalgoritmo

Portugol IPT e Portugol Viana[editar | editar código-fonte]

inicio
  escrever "Olá mundo"
fim

Ver também[editar | editar código-fonte]

Referências

  1. a b Rudek, Marcelo (janeiro de 2012). «Apostilas de Técnicas de Programação» (PDF). Pontifícia Universidade Católica do Paraná. pp. 12 – 27. Consultado em 5 de fevereiro de 2013 
  2. Sanches da Silva, Leonel (fevereiro de 2023). «Catálogo de Padrões de Portugol». Consultado em 5 de fevereiro de 2023 
  3. Manso, António (fevereiro de 2023). «Portugol por Instituto Politécnico de Tomar». Consultado em 5 de fevereiro de 2023 
  4. «Portugol (Português Estruturado) e VisuAlg como tudo começou». Fevereiro de 2023. Consultado em 5 de fevereiro de 2023 
  5. a b «Mapler - Interpretador Portugol». Fevereiro de 2023. Consultado em 5 de fevereiro de 2023 
  6. «Portugol Viana». SourceForge. Consultado em 23 de fevereiro de 2011