PORTUGOL/PLUS: UMA FERRAMENTA DE APOIO AO ENSINO
DE LÓGICA DE PROGRAMAÇÃO BASEADO NO PORTUGOL

ahmed ali abdalla esmin
esmin@unoescjba.rct-sc.br
fax : (049) 566-1422


 
 

Introdução

O ensino da lógica de programação geralmente é tratado nas primeiras fases dos cursos de informática, onde os alunos iniciantes aprendem a desenvolver o raciocino lógico para então escrever algoritmos para solução de problemas. O Portugol é uma pseudo-linguagem algorítmica muito utilizada na descrição de algoritmos, destaca-se pelo uso de comandos em português, o que facilita o aprendizado da lógica de programação, habituando o iniciante com o formalismo de programação.

Apesar de todas essas vantagens, o Portugol apresenta o inconveniente dos algoritmos não poderem ser executados no computador. Dessa forma, o iniciante precisa imaginar a sua execução, o que não é uma tarefa tão fácil para quem está começando.

A lógica para programação consiste em aprender a pensar na mesma seqüência em que o computador executa as tarefas, aprende-se a imaginar como as ações serão executadas partindo-se do estudo de um problema até chegar a construção de um algoritmo (solução). Considere com exemplo o seguinte problema:

"Expressar o resultado da soma de dois valores."

É comum, para uma pessoa pensar em algo assim:

"Pegar os dois valores, somar e dar o resultado."

Após ter adquirido uma certa experiência, a mesma pessoa pode, de forma automática, converter tal pensamento em instruções sem necessidade de especificar detalhadamente os processos que estão implícitos nesta pequena rotina (ver tabela 1):
 
 

Tabela 1: Ações


Ações
Operações
PEGAR Receber os dois valores numérico e armazená-los 
SOMAR Executar a instrução da soma e armazenar o resultado
DAR O RESULTADO Mostrar o resultado, armazená-lo para uso posterior ou para ser visualizado em outra oportunidade

Quanto maior o domínio da lógica de programação, mais fácil será detalhar as tarefas envolvidas na solução do problema proposto e mais eficiente será o algoritmo criado, porém, para um iniciante construir um algoritmo que permita a um computador executar a tarefa proposta não é tão simples.

Segundo (FARRER, 1989, p. 17): "Algoritmo é a descrição de um conjunto de comandos que, obedecidos, resultam numa sucessão finita de ações."

A tabela1, mostra dois algoritmos, um bastante genérico (ações) e outro um pouco mais detalhado (operações), porém, apesar de apresentar um bom nível de detalhamento ainda não pode ser considerado um algoritmo para o computador. Em Portugol, o mesmo algoritmo pode ser escrito da seguinte forma:
 

Algoritmo exemplo;

Var v1 ,v2 , v3 : inteiro;

Inicio

leia (v1);

leia (v2);

v3 ¬ v1 + v2;

escreva (v3);

Fim.

A representação dos algoritmos em Portugol, conhecido também como Pseudocódigo, é muito utilizada, segundo (SALIBA, 1992, p. 6): "Esta forma de representação de algoritmo é rica em detalhes, como a definição dos tipos das variáveis usadas no algoritmo e, por assemelhar-se bastante à forma em que os programas são escritos, encontra muita aceitação."

A tradução de um algoritmo escrito em Portugol para um programa de computador numa linguagem de programação é muito fácil e clara, facilitando assim o ensino e aprendizado da linguagem de programação. O Portugol é a forma mais utilizada para escrever algoritmos por ser uma linguagem simples e permitir o detalhamento dos algoritmos.

O ensino do Portugol, hoje, é feito de maneira manual (utilizando folhas de papel), o que não estimula os alunos em aprender e exercitar o desenvolvimento de algoritmos.

Este trabalho apresenta um ambiente para o desenvolvimento de algoritmo em Portugol com o auxilio do computador.
 
 

A Ferramenta Portugol/Plus
 

O Objetivo principal do sistema Portugol/Plus é fornecer uma ferramenta de apoio ao ensino da lógica de programação baseado no Portugol, sem reduzir o estudo teórico. Com esta ferramenta pretende-se proporcionar uma forma de estimular os alunos a praticar e exercitar o desenvolvimento de algoritmos em Portugol.

O ambiente foi desenvolvido para operar em microcomputador do tipo PC (Personal Computer), sob o sistema operacional DOS (Disk Operating System), e divide-se em duas partes principais:


 

1) Editor de Algoritmos
 
 

Figura 1: Visão Geral do Ambiente





O editor de algoritmos, permite a digitação e a manipulação dos arquivos que contém os algoritmos utilizando uma interface dirigida por menus. Numa visão geral (figura 1) vê-se os diversos menus (Arquivo, Editar, Localizar, Compilar, Janela e Opções):


Figura 2 : Visão do Menu Compilar

 
 

2) Compilação

O conhecimento sobre a construção de compiladores, segundo (AHO, 1995; JOSÉ NETO, 1987) remonta do início da década de 50, não se sabendo precisamente o seu início. A construção de compiladores foi motivada pela complexidade de programar em computadores na época, quando usava-se código de máquina ou assembler, o que além de difícil, forçava a execução do programa no equipamento para o qual o mesmo havia sido escrito, pois em outros o código precisava ser reescrito, o que resultava em versões do mesmo programa para cada tipo de equipamento.

Os compiladores são programas que recebem com entrada um programa fonte, analisam-no o conteúdo e o contexto, caso encontrem erros informam ao usuário, do contrário, convertem o programa fonte para um programa objeto geralmente em linguagem da máquina.

O compilador trabalha sobre uma gramática, que é um conjunto de palavras (instruções) limitado por ele e reconhecidas como comandos, que tem regras fixas e não conflitantes de uso, o que significa que uma instrução tem apenas um significado para um compilador, não havendo ambigüidade.
 
 

Figura 3: O Compilador





Durante o processo de compilação como mostrado na figura 3, o compilador do ambiente Portugol/Plus faz uma verificação da sintaxe das instruções usadas no algoritmo, caso não sejam encontrados erros, um programa objeto é gerado na linguagem de programação Pascal (FARRER, 1995). Através de um compilador Pascal executa-se o programa objeto.
 


Conclusões

A programação de computador, não é algo muito complexo de ser aprendida, no entanto, para o seu aprendizado é necessário dominar a lógica de programação. O ensino da lógica depara-se hoje com uma problemática, que é a falta de experimentar na prática o que é estudado na teoria. A falta de prática desestimula os alunos iniciantes a aprofundar no conteúdo a ser aprendido.

Visando a melhoria do ensino da lógica foi desenvolvido o Portugol/Plus, que é um sistema que auxilia na tarefa de ensinar e estudar a lógica de programação. Ele estimula o aluno a praticar e exercer o desenvolvimento de algoritmos, facilitando assim o trabalho do professor e também ajudando o aluno a ter um domínio melhor sobre o assunto.

O principal público alvo são os alunos iniciantes dos cursos de Informática, onde se espera, com a utilização desta ferramenta, um aumento no domínio do conteúdo da lógica.

Atualmente, o Portugol/Plus está sendo utilizado em caráter experimental pelo professor da matéria (Introdução à Computação), onde será avaliada a sua utilidade prática.

O ambiente foi desenvolvido em PC para o sistema operacional DOS, utilizando a linguagem de programação Pascal. Pretende-se desenvolver um nova versão para a plataforma Windows.
 
 

REFERÊNCIAS
 
 

AHO, Alfred V., SETHI, Ravi, ULLMAN, Jeffrey D. Tradução de Daniel de Ariosto Pinto. Compiladores: princípios, técnicas e ferramentas. Rio de Janeiro : LTC, 1995. 344 p. Traduzido de: Compilers, principles, techiniques and tools.

FARRER, Harry, [et al.]. Pascal estruturado. 2. ed. Rio de Janeiro : Guanabara Koogan, 1995. 255 p.

FARRER, Harry, [et al.]. Algoritmos estruturados. Rio de Janeiro : Guanabara Koogan, 1989. 259 p.

JOSÉ NETO, João. Introdução a compilação. Rio de Janeiro : LTC, 1987. 222 p.

SALIBA, Walter Luiz Caram. Técnicas de programação: uma abordagem estruturada. São Paulo : Markon, 1992. 141 p.