Portugol Online - Software livre para facilitar o estudo de algoritmos

Este artigo apresenta um interpretador online para a linguagem Portugol, desenvolvido com o intuito de facilitar o processo de ensino-aprendizagem de programação de computadores.

[ Hits: 92.437 ]

Por: Antônio Vinícius Menezes Medeiros em 17/03/2015 | Blog: https://antoniomedeiros.dev/


Meu primeiro programa



Vamos digitar e executar nosso primeiro programa em Portugol, utilizando a ferramenta Portugol Online. Vou usar o mesmo exemplo que apresentei na primeira página. Vou até repeti-lo aqui para nossa conveniência:

ALGORITMO
DECLARE x, y, z NUMERICO
ESCREVA "Digite dois números:"
LEIA x, y
z <- x + y
ESCREVA "Soma = ", z
FIM_ALGORITMO

Você pode copiar e colar esse código, mas recomendo que não faça isso. Se digitá-lo, você perceberá melhor as facilidades oferecidas pela ferramenta.

Quero observar, de início, que escrevi as palavras reservadas utilizando maiúsculas apenas como efeito gráfico, não é realmente necessário digitá-las assim. A linguagem é insensível à capitalização, ou seja, a palavra algoritmo pode ser digitada como ALGORITMO, algoritmo, Algoritmo ou AlGoRiTmO, por exemplo, sendo reconhecida da mesma maneira.

Assim que inicia a digitação, você já percebe uma facilidade: são as sugestões que a ferramenta oferece para completar o código com palavras reservadas, funções pré-definidas e estruturas da linguagem.

Você pode alternar entre as sugestões usando as teclas de seta pra cima e pra baixo do teclado:
Linux: Portugol Online - Software livre para facilitar o estudo de algoritmos   Linux: Portugol Online - Software livre para facilitar o estudo de algoritmos   Linux: Portugol Online - Software livre para facilitar o estudo de algoritmos
Selecione a sugestão "algoritmo" e tecle Enter. Perceba que ele insere a estrutura básica de um algoritmo, completando a palavra "algoritmo", acrescentando ao final "fim_algoritmo" e posicionando o cursor em uma nova linha entre essas palavras reservadas. Você pode continuar a digitar a partir daí.
Linux: Portugol Online - Software livre para facilitar o estudo de algoritmos
Sempre a ferramenta tenta casar o que você está digitando com as palavras reservadas da linguagem:
Linux: Portugol Online - Software livre para facilitar o estudo de algoritmos
Aceite a sugestão "declare" apertando Enter. Essa sugestão, assim como algumas outras, vem acompanhada de um modelo:
Linux: Portugol Online - Software livre para facilitar o estudo de algoritmos
Vamos agora declarar as variáveis que utilizaremos. Você deve sempre declarar no início do algoritmo todas as variáveis que for utilizar (exceção feita às variáveis utilizadas apenas dentro de sub-rotinas, que podem ser declaradas no início das sub-rotinas).

Variáveis de um mesmo tipo podem ser declaradas em conjunto. Insira as variáveis x, y, z:
Linux: Portugol Online - Software livre para facilitar o estudo de algoritmos
Você pode passar de um campo para outro do modelo apertando a tecla Tab:
Linux: Portugol Online - Software livre para facilitar o estudo de algoritmos
Insira o tipo numérico (a ferramenta sugere a palavra quando você começa a digitar):
Linux: Portugol Online - Software livre para facilitar o estudo de algoritmos
Tecle Enter para passar para a próxima linha, saindo do modelo:
Linux: Portugol Online - Software livre para facilitar o estudo de algoritmos
Vamos inserir agora o comando de saída, que solicitará ao usuário digitar os dois números a serem somados:
Linux: Portugol Online - Software livre para facilitar o estudo de algoritmos
Perceba que a ferramenta confere a cada elemento da linguagem (palavra reservada, identificador, cadeia de caracteres, entre outros) uma formatação diferente. Isso facilita a visualização e a localização desses elementos no código-fonte.

Digite o resto do algoritmo e clique em "Executar":
Linux: Portugol Online - Software livre para facilitar o estudo de algoritmos
Se você digitou algo errado, a ferramenta irá notificá-lo, indicando onde você errou (aqui me refiro a erros em relação às regras da linguagem, claro que se você digitou algo errado, mas que faz sentido para a ferramenta, ela não tem como adivinhar que você não quis digitar aquilo, por isso, tome cuidado).

Se você digitou tudo certo, ela deve iniciar o console do interpretador, exibindo a mensagem que solicita a digitação de dois números:
Linux: Portugol Online - Software livre para facilitar o estudo de algoritmos
Até aqui, a ferramenta já reservou espaço na memória para as variáveis que declaramos e executou o primeiro comando de saída. Perceba o cursor piscando na caixa de texto na parte inferior da janela.

O comando que está sendo executado agora é o comando de entrada, por isso a ferramenta espera que você digite dois números. Digite um número e aperte Entrar (ou tecle Enter). Depois, faça o mesmo para o segundo número:
Linux: Portugol Online - Software livre para facilitar o estudo de algoritmos
Após receber os números, o interpretador executa a soma, armazena seu resultado e, por fim, executa o segundo comando de saída, que informa o resultado da soma. Esse é o último comando, então a execução do programa é finalizada:
Linux: Portugol Online - Software livre para facilitar o estudo de algoritmos
Parabéns! Você executou seu primeiro programa em Portugol utilizando o Portugol Online! :)

Você pode salvar seu primeiro programa, se desejar (lembrando que essa opção não está disponível na execução via applet):
Linux: Portugol Online - Software livre para facilitar o estudo de algoritmos   Linux: Portugol Online - Software livre para facilitar o estudo de algoritmos
Página anterior     Próxima página

Páginas do artigo
   1. Apresentação
   2. Do que preciso para usar o Portugol Online?
   3. Iniciando o Portugol Online
   4. Um pequeno problema
   5. Meu primeiro programa
   6. Próximos passos
Outros artigos deste autor

Desmistificando a instalação do Dazuko

Guia de referência do ISOLINUX (parte 2)

Incrementando o visual do KDE 4

Guia de referência do ISOLINUX (parte 1)

Instalação do ClamAV com DazukoFS

Leitura recomendada

Transforme seu celular em terminal sem fio SSH/Telnet

JlGui - Java Media Player

Gerando arquivos PDF com Java e iText

Introdução ao framework Mentawai

Introdução ao Desenvolvimento Android

  
Comentários
[1] Comentário enviado por fabio em 17/03/2015 - 14:54h

Excelente projeto! Meus parabéns pelo trabalho.

[2] Comentário enviado por mcnd2 em 17/03/2015 - 20:17h

10!

Comecei a estudar algoritmo e esse seu projeto com certeza me ajudará.

Parabéns pelo ótimo trabalho.

[3] Comentário enviado por hrcerq em 17/03/2015 - 21:30h

Olá, Antônio.

Gostei muito do seu artigo, primeiramente porque está muito bem escrito, de forma clara, bem estruturado e com as devidas referências. "Segundamente" eu também gostei porque o seu projeto ficou bem bacana. A primeira linguagem de programação com que tive contato foi o Portugol e ela me ajudou muito a entender como funcionam os algoritmos.

A maioria das linguagens de programação usam a língua inglesa como base e para algumas pessoas isso pode até ser uma barreira. O Portugol, além de quebrar essa barreira é uma linguagem bem simples e fácil de escrever, com um mínimo de burocracia para facilitar o aprendizado. Dessa forma, separa-se a preocupação de conhecer a sintaxe da linguagem da preocupação de entender a lógica do programa.

Iniciativas como essa são sempre louváveis porque fomentam o aprendizado da programação por mais e mais brasileiros. Enfim, parabéns pelo artigo e pelo projeto.
---

Atenciosamente,
Hugo Cerqueira

[4] Comentário enviado por danniel-lara em 18/03/2015 - 08:25h


Parabéns ótimo artigo

[5] Comentário enviado por mathiasaulo em 24/03/2015 - 00:01h

Meus parabéns Antônio, iniciativa muito boa e sem contar que já podemos introduzir um ambiente linux nas instituições de ensino, visando o aprendizado da lógica de programação com base no Portugol.

Meus parabéns!!

"Ninguém além de nós mesmos pode libertar nossa mente." - Bob Marley

[6] Comentário enviado por luisroo em 25/03/2015 - 13:49h

Parabéns Vínicius, muito bom o software, ajuda bastante, porém alguns 'alunos' vão se aproveitar para fins não didáticos kkkk ... mas faz parte.
Vou baixar o fonte e dar uma estuda para ver como foi o desenvolvimento, curti muito.

[7] Comentário enviado por pherde em 28/03/2015 - 11:17h

Parabéns!! Funciona perfeitamente e é muito bom!!!

[8] Comentário enviado por pherde em 31/03/2015 - 00:09h

Viny,

Estou tentando executar o .jar num notebook com processador arm, a versão do java é a seguinte:
java version "1.7.0_75"
OpenJDK Runtime Environment (IcedTea 2.5.4) (7u75-2.5.4-1~precise1)
OpenJDK Zero VM (build 24.75-b04, mixed mode)

Quando eu executo: java -jar portugol.jar
aparece o seguinte erro:
(precise)fernando@localhost:~/Downloads$ java -jar portugol.jar
Exception in thread "main" java.lang.ExceptionInInitializerError
at org.fife.ui.rsyntaxtextarea.RSyntaxTextAreaUI.<clinit>(RSyntaxTextAreaUI.java:37)
at org.fife.ui.rsyntaxtextarea.RSyntaxTextArea.createRTextAreaUI(RSyntaxTextArea.java:740)
at org.fife.ui.rtextarea.RTextAreaBase.init(RTextAreaBase.java:647)
at org.fife.ui.rtextarea.RTextArea.init(RTextArea.java:854)
at org.fife.ui.rsyntaxtextarea.RSyntaxTextArea.init(RSyntaxTextArea.java:1838)
at org.fife.ui.rtextarea.RTextAreaBase.<init>(RTextAreaBase.java:118)
at org.fife.ui.rtextarea.RTextArea.<init>(RTextArea.java:215)
at org.fife.ui.rsyntaxtextarea.RSyntaxTextArea.<init>(RSyntaxTextArea.java:372)
at br.com.vinyanalista.portugol.ide.TelaPrincipalMinima.<init>(TelaPrincipalMinima.java:129)
at br.com.vinyanalista.portugol.ide.TelaPrincipalCompleta.<init>(TelaPrincipalCompleta.java:38)
at br.com.vinyanalista.portugol.ide.TelaPrincipalCompletaDesktop.<init>(TelaPrincipalCompletaDesktop.java:14)
at br.com.vinyanalista.portugol.ide.Aplicativo.<init>(Aplicativo.java:21)
at br.com.vinyanalista.portugol.ide.Aplicativo.main(Aplicativo.java:47)
Caused by: java.util.MissingResourceException: Can't find bundle for base name org.fife.ui.rsyntaxtextarea.RSyntaxTextArea, locale en_US
at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1499)
at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1322)
at java.util.ResourceBundle.getBundle(ResourceBundle.java:721)
at org.fife.ui.rsyntaxtextarea.RSyntaxTextAreaEditorKit.<clinit>(RSyntaxTextAreaEditorKit.java:76)
... 13 more
Caused by: java.lang.ClassCastException: org.fife.ui.rsyntaxtextarea.RSyntaxTextArea cannot be cast to ResourceBundle
at java.util.ResourceBundle$Control.newBundle(ResourceBundle.java:2574)
at java.util.ResourceBundle.loadBundle(ResourceBundle.java:1436)
at java.util.ResourceBundle.findBundle(ResourceBundle.java:1400)
at java.util.ResourceBundle.findBundle(ResourceBundle.java:1354)
at java.util.ResourceBundle.findBundle(ResourceBundle.java:1354)
at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1296)
... 15 more

Alguma orientação do que pode estar ocorrendo errado!?


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts