Desenvolvendo uma Ferramenta de Auxílio à Aprendizagem de Algoritmos Acadêmica: Andréia Cristina...

Preview:

Citation preview

Desenvolvendo uma Ferramenta de Auxílio à Aprendizagem de

Algoritmos

Acadêmica: Andréia Cristina dos Santos GusmãoOrientador: Prof. Artur Luís Ribas Barbosa

Visão Geral

E agora? como resolver esse problema?

Visão Geral

Ah, agora entendi o que

é lógica!

Visão Geral

E com a lógica, posso escrever meus algoritmos...

Através do Teste de mesa?

Como testar os algoritmos?

E agora? Como saber se meu código está correto?

Exemplo de Teste de Mesa

Através de linguagem de programação?

Como testar os algoritmos?

Exemplo Java

Exemplo C

Exemplo Delphi

Desenvolver uma ferramenta que interprete códigos em algoritmos.

Objetivo

Pesquisa Aplicada

Linguagem Java

Framework ANother Tool for Language Recognition (ANTLR)

Ambiente gráfico ANTLRWorks

Metodologia

• Ferramenta JPortugol e Resultados encontrados até o

momento

Demonstração

Compilador x Interpretador

Um Compilador. Fonte: Aho et al (1995, p. 1)

Estrutura utilizada: Analisador Léxico, Analisador Sintático e Analisador Semântico.

Conceitos Envolvidos

Ferramenta para auxiliar nos testes de algoritmos, como objetivo de contribuir para a

motivação.

Aprender algoritmos para desenvolver em uma linguagem de programação.

Conclusão

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.

CRISTÓVÃO, Henrique Monteiro. Aprendizagem de Algoritmos num Contexto Significativo e Motivador: Um Relato de Experiência. In.: XVI Workshop de Educação em Computação, XXVIII Congresso da Sociedade Brasileira de Computação, Belém do Pará - Pará, 2008. p. 30-40. Disponível em: http://www.prodepa.gov.br/sbc2008/anais/pdf/arq0123.pdf . Acesso em: 07 abr. 2010.

DELAMARO, Márcio Eduardo. Como Construir um Compilador: Utilizando Ferramentas Java. São Paulo: Novatec, 2004.

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.

Referências

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)