Oi pessoal. Meu nome é Antônio.
Sou graduando do curso de Ciência da Computação da Universidade Federal de Sergipe (UFS) e estou aqui para apresentar pra vocês um pouco do meu "Trabalho de Conclusão de Curso" (TCC). Eu desenvolvi um interpretador online para a linguagem
Portugol, proposta no livro Fundamentos da
Programação de Computadores [1]. Quem já fez um curso de programação, muito provavelmente, deve ter começado com essa linguagem ou alguma semelhante.
Como o Viva o
Linux é a maior comunidade sobre software livre do Brasil e da América Latina, imaginei que iniciar a divulgação dele por aqui seria uma excelente escolha. :)
O interpretador se chama
Portugol Online e pode ser encontrado nessa página:
Motivação e alguns conceitos básicos
Os computadores são máquinas bastante versáteis. Hoje, eles não apenas realizam cálculos, sua finalidade original, eles são capazes de fazer quase tudo que se possa imaginar: textos, imagens, vídeos, músicas, jogos, aplicações multimídia, pesquisas, comunicação instantânea com qualquer lugar do mundo a qualquer dia e qualquer hora.
O que conferiu ao computador tamanha versatilidade, foi o programa armazenado em memória, introduzido pela arquitetura proposta por John von Neumann, em 1945. O computador trabalha conforme as instruções contidas no programa [2]. Quando um usuário de computador deseja que ele realize uma computação, deve, portanto, fornecer-lhe um programa.
Um programa contém uma sequência de instruções ordenadas de maneira lógica, que o computador deve executar para cumprir uma tarefa específica. Elaborar um programa consiste em representar a solução de uma tarefa por meio de operações que a máquina possa realizar. O raciocínio embutido na sequência de instruções, é conhecido por algoritmo [1, 2, 3].
Um algoritmo pode ser tão simples quanto o apresentado a seguir, para somar dois números:
- Início
- Obter do usuário, através do teclado numérico, o valor do primeiro operando
- Obter do usuário, através do teclado numérico, o valor do segundo operando
- Somar os dois operandos
- Informar ao usuário, através da tela, o resultado da operação
- Fim
Qualquer ser humano que compreenda a língua portuguesa, é capaz de compreender esse algoritmo. No entanto, para que o computador o compreenda e execute, o usuário deve escrevê-lo em uma linguagem que tanto o computador quanto o usuário entendam. Essa linguagem é chamada de linguagem de programação [1].
O algoritmo anterior pode ser escrito usando, por exemplo, a linguagem de programação Pascal:
program soma;
var x, y, z: integer;
begin
write('Digite dois números: ');
read(x, y);
z := x + y;
write('Soma = ', z);
end
A linguagem Pascal foi desenvolvida em 1968 por Niklaus Wirth, na Suíça, como ferramenta de ensino. Por ser uma linguagem de fácil compreensão, ela é muito utilizada nos cursos técnicos de nível médio e nos cursos superiores de áreas tecnológicas para ensinar programação [1, 3].
As disciplinas de programação normalmente são consideradas desafiadoras para alunos e professores [3, 4, 5, 6, 7]. As dificuldades podem ocasionar desinteresse e aversão a essas disciplinas e acarretam uma quantidade expressiva de reprovações e evasões ao final de cada semestre [5].
Uma das dificuldades enfrentadas pelos programadores iniciantes, são os formalismos das linguagens de programação profissionais, que podem desviar sua atenção do principal objetivo das disciplinas de programação, que é desenvolver soluções para os problemas propostos em sala [3, 7].
As professoras Ascencio e Campos, propõem em seu livro
Fundamentos da Programação de Computadores [1], uma linguagem acadêmica para a escrita de algoritmos que elas chamam de pseudocódigo ou Portugol. Assim como a linguagem Pascal é próxima da língua inglesa, a linguagem Portugol é próxima da língua portuguesa, o que a torna vantajosa no ensino de programação a estudantes brasileiros.
Veja agora o mesmo algoritmo para somar dois números escrito usando a linguagem Portugol:
ALGORITMO
DECLARE x, y, z NUMERICO
ESCREVA "Digite dois números:"
LEIA x, y
z <- x + y
ESCREVA "Soma = ", z
FIM_ALGORITMO
Os conceitos básicos de programação, apreendidos mais facilmente com o uso de uma linguagem como o Portugol, podem ser transpostos posteriormente para linguagens profissionais [7]. A passagem do algoritmo escrito em Portugol para qualquer linguagem de programação é quase imediata, bastando conhecer as regras da linguagem que será utilizada [1].
No meu TCC, analisei e formalizei a linguagem Portugol, como proposta por Ascencio e Campos em seu livro, e desenvolvi um pequeno ambiente de desenvolvimento online para a escrita e execução de programas em Portugol, com foco nos estudantes iniciantes na programação e seus professores.
Vale observar que a linguagem Portugol já é utilizada, com variações, em muitos cursos brasileiros de computação [7]. A ferramenta apresentada aqui suporta uma linguagem bastante próxima (o mais que consegui) daquela apresentada no livro
Fundamentos da Programação de Computadores [1].