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
|
|
|
| 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):
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
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.