Portugol: diferenças entre revisões

1 523 bytes adicionados ,  31 de outubro de 2017
m
Foram revertidas as edições de 177.181.208.115 para a última revisão de Contreiras45, de 11h52min de 30 de outubro de 2017 (UTC)
(Desfeita a edição 50317433 de Contreiras45)
Etiqueta: Remoção considerável de conteúdo
m (Foram revertidas as edições de 177.181.208.115 para a última revisão de Contreiras45, de 11h52min de 30 de outubro de 2017 (UTC))
{{mais notas|data=junho de 2017}}
{{Info/Linguagem de computador
|nome = PORTUGOL
|logotipo =Portugol (Português Estruturado)
|paradigma = [[Programação estruturada]], [[Algoritmo|Programação algorítmica]]
|ano = 1983
|ultima_versao =
|criador = António Mannso - Instituto Politécnico de Tomar ;
Professor Antonio Carlos Nicolodi - Uniasselvi-Fameblu, Furb, CedupHH/Blumenau e Instituto Federal de Santa Catarina
|tipagem =
|compiladores =VISUALG, [[Portugol Studio]]
|dialetos =ALGOL 68, PASCAL e C (ansi)
|influenciada_por =Linguagem de programação ALGOL (p/ MainFrames) e Linguagem de programação PASCAL (p/ microcomputadores)
|influenciou =VISUALG 3.0
|licença =GPL
|Outros sites oficiais=}}
'''Portugol''', também conhecido como '''Português estruturado''', é um [[pseudocódigo]] escrito em [[Língua portuguesa|português]].<ref name="pucpr">{{Citar web |url=http://www.las.pucpr.br/rudek/Aulas/arquivos/Apostila_TP.pdf |título=Apostilas de Técnicas de Programação |páginas=12 - 27 |autor=Rudek, Marcelo |data=janeiro de 2012 |publicado=[[Pontifícia Universidade Católica do Paraná]] |acessodata=12 de outubro de 2013}}</ref>
 
== Descrição ==
Na verdade, o '''''PORTUGOL''''' não é uma Linguagem de programação e sim uma '''pseudo linguagem ou um método'''. Criada pelos professores: [http://visualg3.com.br/ '''Antonio Carlos Nicolodi (Brasil)'''], que em 1980-83 e '''Antonio Mannso (Portugal)''' em 1986 foram os dois que praticamente iniciaram o seu uso, o que originalmente iniciou-se como apenas uma tradução da '''linguagem de programação PASCAL''' para a nossa língua portuguesa, porque o Pascal é o descendente direto da linguagem de programação chamada '''[[ALGOL]]''' mas que era usada apenas em mainframes (computadores de grande porte) e o Compilador da Linguagem de programação Pascal foi criado e adaptado para os microcomputadores. O Portugol também tem outros derivados, pois já foi adaptado para as outras linguagens de programação, como a linguagem C, C++ e Java. O seu nome é uma mistura das três palavras: P''ortuguês'', das linguagens de programação ''Algol'' e ''Pascal'', ('''''PORTU'''''guês, [[ALGOL|AL'''''GO'''''L]] e [[Pascal (linguagem de programação)|Pasca'''''L''''']]). Assim nasceu o método "'''PORTUGOL'''", ou seja, é um '''algoritmo todo escrito em português''', mas estruturado e interpretado em um computador. Por isso também é conhecido como '''''Português Estruturado'''''.
Portugol é uma pseudolinguagem que permite ao leitor desenvolver algoritmos estruturados em português de forma simples e intuitiva, independentemente de linguagem de programação. Emprega-se a técnica de refinamentos sucessivos. Após o refinamento final, o algoritmo é codificado em alguma linguagem. A implementação de algoritmos desenvolvidos em portugol é feita com facilidade a partir de um mapeamento para a linguagem de programação desejada.
 
O portugolPortugol é bastante utilizado para ensinar [[lógica]] de programação e [[algoritmos]],. estandoEstá presente em muitos materiais didáticos de programação, é todo escrito em [[Língua portuguesa|português]].<ref Àsname="pucpr" vezes/> é utilizadoExistem alguns interpretadores de variantes de pseudo código utilizando o português estruturado. É comumente usado em conjunto com os diagramas em blocos (como o famoso ([[fluxograma|Fluxograma ou Diagrama de Chapin)]]. Dentre os interpretadores mais conhecidos, estão o [http://visualg3.com.br/ VISUALG 3.0], o [http://lite.acad.univali.br/portugol/ Portugol Stúdio], o G-Portugol, o Portugol Vianna, o P&G editor, etc, sendo que o [http://visualg3.com.br/ Visualg 3.0] também foi criado pelo professor [http://visualg3.com.br/ Antonio Carlos Nicolodi].
 
O Portugol consiste em uma extensão da linguagem com [[Sub-rotina|comandos, operadores, funções]], [[Função recursiva|funções recursivas]], estruturas e construtores de estruturas complexas tais como ''[[stack]]s'', ''[[FIFO|queues]],'' [[Lista ligada|listas ligadas]] e [[Lista duplamente ligada|listas duplamente ligadas]].<ref>{{Citar web |url=http://sourceforge.net/projects/portugolviana/ |título=Portugol Viana |publicado=[[SourceForge]] |acessodata=23 de fevereiro de 2011}}</ref>
O processo natural é, uma vez finalizado o algoritmo, que o mesmo seja codificado em alguma linguagem existente. Entretanto, para aqueles que estão aprendendo a programar, a complexidade das principais IDE atuais mais dificulta do que facilita o aprendizado. Foram então criadas algumas ferramentas (compiladores e interpretadores) para facilitar a validação dos algoritmos criados. Dentre essas ferramentas estão G-Portugol, Portugol IDE, Portugol Studio, Portugol Vianna, Visualg etc. Embora algumas utilizem a denominação "Portugol", elas não possuem a mesma liberdade de criação disponível no portugol, estando carregadas de restrições e exigências como é natural nas linguagens de programação.
 
Portugol já era utilizado em apostilas de Técnicas de Programação, publicadas em meados da década de 1970 pela [http://www2.camara.leg.br/legin/fed/decret/1970-1979/decreto-70370-5-abril-1972-418827-publicacaooriginal-1-pe.html CAPRE] (Comissão de Coordenação das Atividades de Processamento Eletrônico), no Programa Nacional de Treinamento em Computação. O Departamento de Ciência da Computação (DCC) da [[Universidade Federal de Minas Gerais]] (UFMG) participou da elaboração desse material.
 
== Exemplo de código ==
== Ver também ==
* [[Algoritmo]]
* [[G-Portugol]]
* [http://www.dei.estt.ipt.pt/portugol/ Portugal IDE]
* [[Portugol Studio]]
* [[G-Portugol]]
* [[Pseudocódigo]]
* [[Visualg|Visualg 3.0]]
 
{{Esboço-programação}}
 
[[Categoria:Algoritmos]]
[[Categoria:Invenções do Brasil]]
[[Categoria:Linguagens de programação em português]]
[[Categoria:Linguagens de programação procedurais]]