Saltar para o conteúdo

Portugol

Origem: Wikipédia, a enciclopédia livre.
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.

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].

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

[editar | editar código-fonte]

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

[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

Referências

  1. a b Thaís Ferraz (junho de 2017). «Professor brasileiro desenvolve método e aplicativo que facilitam o aprendizado de programação». Consultado em 26 de abril de 2024 
  2. a b António Manso. «Portugol 2.1». Consultado em 26 de abril de 2024 
  3. a b c Nicolodi, Antonio Carlos (junho de 2017). «PORTUGOL (Português Estruturado) e VisuAlg como tudo começou». Consultado em 26 de abril de 2024 
  4. 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 
  5. Sanches da Silva, Leonel (fevereiro de 2023). «Catálogo de Padrões de Portugol». Consultado em 5 de fevereiro de 2023 
  6. a b «Mapler - Interpretador Portugol». Fevereiro de 2023. Consultado em 5 de fevereiro de 2023 
  7. «Portugol Viana». SourceForge. Consultado em 23 de fevereiro de 2011