JPortugol: Uma Ferramenta de Auxílio à Aprendizagem de Algoritmos Nome: Andréia Cristina dos Santos Gusmão Orientador: Prof. Artur Luís Ribas Barbosa
Visão Geral Lógica Problema E com a lógica, posso escrever meus algoritmos...
Como testar os algoritmos? E agora? Como saber se meu código está correto? Através do Teste de mesa?
Exemplo de Teste de Mesa
Exemplo Linguagem Java
Exemplo Linguagem C
Desenvolver uma ferramenta que interprete códigos em algoritmos. Objetivo Desenvolver uma ferramenta que interprete códigos em algoritmos.
Metodologia Pesquisa Aplicada Linguagem Java ANother Tool for Language Recognition – (ANTLR) Ambiente gráfico ANTLRWorks
Compilador x Interpretador Fonte:Aho et al (1995, p. 1) Interpretador Estrutura utilizada: Análise Léxica Análise Sintática Análise Semântica
Demonstração Ferramenta JPortugol
Conclusão Espera-se que realmente essa ferramenta possa servir de incentivo e motivação para a prática de testes de algoritmos. Aprender algoritmos para aprender a programar.
Referências AHO, Alfred V.; SETHI, Ravi; ULLMAN, Jeffrey D. Compiladores: princípios, técnicas e ferramentas. Tradução Daniel de Ariosto Pinto. Rio de Janeiro: LTC, 1995. ANTLR v3. Disponível em: http://www.antlr.org. Acesso em: 08 abr. 2010. DELAMARO, Márcio Eduardo. Como Construir um Compilador: Utilizando Ferramentas Java. São Paulo: Novatec, 2004. HOSTINS, Higor; RAABE, André. Auxiliando a Aprendizagem de Algoritmos com Ferramenta WebPortugol. In.: XV Workshop de Educação em Computação, XXVII Congresso da Sociedade Brasileira de Computação, Rio de Janeiro – Rio de Janeiro, 2007. p. 96-105. Disponível em: http://www.de9.ime.eb.br/~sousamaf/cd/pdf/arq0011.pdf. Acesso em: 07 abr. 2010. MANZANO, José A. N. G.; OLIVEIRA, Jayr F. Estudo dirigido de Algoritmos. 11. ed. São Paulo: Érica, 2007. p.1-18. PARR, Terence. The Definitive ANTLR Reference: Building Domain-Specific Languages. EUA: Pragmatic Programmer, 2007.
Obrigada! “Existe a crença de que só se pode programar o que se compreende perfeitamente. Essa crença ignora a evidência de que a programação, como qualquer outra forma de escrita, é um processo experimental. Programamos como redigimos, não porque compreendemos, mas para chegar a compreender.” (Joseph Weizenbaum)