Informações Principais
     Resumo
     Abstract
     Introdução
     Conclusão
     Download
  
  
  
 
Introdução
 
 
Acadêmico(a): Silvano Lohn
Título: Ambiente na Web para Execução e Depuração de Programas com Sintaxe Java
 
Introdução:
Os algoritmos fazem parte do dia-a-dia das pessoas: instruções para o uso de
medicamentos, ou indicações de como montar um aparelho eletrodoméstico são exemplos de
algoritmos. Um algoritmo pode ser visto como uma seqüência de ações executáveis para a
obtenção de uma solução para um determinado problema. Segundo Ziviani (2004, p. 1), um
algoritmo corresponde a uma descrição de um padrão de comportamento, expresso em termos
de um conjunto de ações. Ziviani (2004, p. 1) relata que o estudo dos algoritmos tem um
papel decisivo para o desenvolvimento de boas aplicações e na busca da resolução de
problemas.
Com a programação1 de algoritmos cada vez maiores e mais complexos é comum o
surgimento de erros de lógica. Uma maneira de encontrar e acabar com os erros é o uso de
uma ferramenta chamada de depurador. Severo (2005, p. 151) define depurador como sendo
uma ferramenta que permite a verificação do fluxo de execução de um programa, linha a
linha, à medida que o programa é executado, na busca de possíveis erros na lógica de
construção de um algoritmo. Como relatado, o depurador é uma ferramenta de grande ajuda,
que possibilita facilitar e tornar mais rápido o trabalho do desenvolvedor que precisa tanto
eliminar os erros do seu código fonte como também testar a sua lógica de programação.
A atividade de depuração ocorre no processo de desenvolvimento de um software em
três momentos distintos: durante a codificação, depois dos testes e durante a sua manutenção.
Chaim, Jino e Maldonado (2002) relatam que durante a codificação, a depuração é uma
ferramenta complementar à programação. O programador codifica parte da especificação e
prepara um teste para verificar o novo código. Se o resultado do teste está incorreto o novo
código deve ser depurado.
A depuração que ocorre depois da atividade de teste possui características diferentes. O
objeto da depuração neste momento é o software obtido depois de completada a fase de
implementação e que, supostamente, já possui todas as funções estabelecidas na
especificação. Além disso, a depuração recebe como entrada não somente o código e a
1 Horstmann (2006, p. 20) relata que o programa \'diz\' ao computador a seqüência de etapas necessárias para
realizar uma tarefa. O ato de projetar e implementar esses programas denomina-se programação.
especificação, mas também os resultados da atividade de teste (CHAIM; JINO;
MALDONADO, 2002).
Chaim, Jino e Maldonado (2002) informam que durante a manutenção, novamente há a
necessidade de depuração do software onde o conjunto de casos de teste disponível para
depuração é definido pelo conjunto originalmente desenvolvido durante o teste.
Segundo Almeida (2003, p. 327), com a evolução da Internet e sua disseminação em
todo o mundo, novas tecnologias e ferramentas de desenvolvimento foram criadas, permitindo
com isso uma maior integração entre o usuário e os recursos disponíveis nos ambientes web.
Entre estes recursos pode-se citar o de acesso, onde o usuário deverá possuir como requisito
apenas um computador com acesso a Internet. Outro recurso muito importante é o de
compartilhamento, onde vários usuários podem estar acessando o sistema ao mesmo tempo,
trocando e disponibilizando informações.
As disciplinas de algoritmos e programação de computadores nos primeiros semestres
apresentam alto grau de reprovação. Para o sucesso no aprendizado de algoritmos, exige-se
um forte comprometimento por parte dos alunos em praticar os exercícios fornecidos pelo
professor, assim como outras tarefas extras. Porém, exige-se também do professor uma
atenção personalizada ao aluno para respeitar seu ritmo individual de aprendizado, seja
corrigindo vários exercícios como complementando com seus comentários.
Seguindo o raciocínio apresentado, este trabalho relata o desenvolvimento de um
ambiente na web onde é possível simular a programação estruturada de programas com
sintaxe Java. O usuário desenvolve seu programa como está apresentado no Quadro 1. O
ambiente incorpora o programa do usuário dentro do método principal de uma classe Java
conforme apresentada no Quadro 2. A classe Java é abstraída do usuário, mas é utilizada pelo
ambiente para compilar, executar ou depurar o programa.
Quadro 1 – Exemplo do programa desenvolvido pelo usuário
int z = 0;
for (int x=0;x<10;x++){
z = (z * z) + x;
}
Quadro 2 – Exemplo do programa interpretado pelo ambiente
Mesmo com a linguagem Java sendo orientada a objetos, não é esse o foco do
ambiente e sim a programação baseada em objetos2. O usuário não cria classes Java ou
objetos, mas cria o seu programa de forma estruturada usando os objetos disponíveis na
biblioteca java.util da própria plataforma Java. Também foi criada uma biblioteca de
objetos para que o usuário possa realizar a entrada e a apresentação dos dados do seu
programa.
Como o programa do usuário é tratado pelo ambiente como se fosse uma classe Java,
foi realizada a integração com as ferramentas java, javac e jdb disponíveis na plataforma
Java. As ferramentas citadas foram utilizadas para realizar a compilação, execução e
depuração do programa do usuário. Também foi disponibilizado ao usuário recursos para que
ele possa carregar, editar e salvar os seus programas.