Portugol
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
[editar | editar código-fonte]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
[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[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]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
- ↑ 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
- ↑ a b António Manso. «Portugol 2.1». Consultado em 26 de abril de 2024
- ↑ 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
- ↑ 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
- ↑ Sanches da Silva, Leonel (fevereiro de 2023). «Catálogo de Padrões de Portugol». Consultado em 5 de fevereiro de 2023
- ↑ a b «Mapler - Interpretador Portugol». Fevereiro de 2023. Consultado em 5 de fevereiro de 2023
- ↑ «Portugol Viana». SourceForge. Consultado em 23 de fevereiro de 2011