E
INATEL - CIENTÍFICA
INICIAÇÃO
DE DO
CIENTÍFICA
INCIAÇÃO
XXII ENCONTRO
INICITEL 2010
TECNOLÓGICA DO INATEL - INCITEL 2010
Desenvolvendo uma Ferramenta
de Auxílio à Aprendizagem de
Algoritmos
Acadêmica:
Orientador:
Andréia Cristina dos Santos Gusmão
Prof. Artur Luís Ribas Barbosa
E
INATEL - CIENTÍFICA
INICIAÇÃO
DE DO
CIENTÍFICA
INCIAÇÃO
XXII ENCONTRO
INICITEL 2010
TECNOLÓGICA DO INATEL - INCITEL 2010
Visão Geral
E agora? como
resolver esse
problema?
E
INATEL - CIENTÍFICA
INICIAÇÃO
DE DO
CIENTÍFICA
INCIAÇÃO
XXII ENCONTRO
INICITEL 2010
TECNOLÓGICA DO INATEL - INCITEL 2010
Visão Geral
Ah, agora
entendi o que
é lógica!
E
INATEL - CIENTÍFICA
INICIAÇÃO
DE DO
CIENTÍFICA
INCIAÇÃO
XXII ENCONTRO
INICITEL 2010
TECNOLÓGICA DO INATEL - INCITEL 2010
Visão Geral
E com a lógica,
posso escrever
meus
algoritmos...
E
INATEL - CIENTÍFICA
INICIAÇÃO
DE DO
CIENTÍFICA
INCIAÇÃO
XXII ENCONTRO
INICITEL 2010
TECNOLÓGICA DO INATEL - INCITEL 2010
Como testar os algoritmos?
E agora? Como
saber se meu
código está
correto?
Através do Teste de mesa?
E
INATEL - CIENTÍFICA
INICIAÇÃO
DE DO
CIENTÍFICA
INCIAÇÃO
XXII ENCONTRO
INICITEL 2010
TECNOLÓGICA DO INATEL - INCITEL 2010
Exemplo de Teste de Mesa
E
INATEL - CIENTÍFICA
INICIAÇÃO
DE DO
CIENTÍFICA
INCIAÇÃO
XXII ENCONTRO
INICITEL 2010
TECNOLÓGICA DO INATEL - INCITEL 2010
Como testar os algoritmos?
Através de linguagem de
programação?
E
INATEL - CIENTÍFICA
INICIAÇÃO
DE DO
CIENTÍFICA
INCIAÇÃO
XXII ENCONTRO
INICITEL 2010
TECNOLÓGICA DO INATEL - INCITEL 2010
Exemplo Java
E
INATEL - CIENTÍFICA
INICIAÇÃO
DE DO
CIENTÍFICA
INCIAÇÃO
XXII ENCONTRO
INICITEL 2010
TECNOLÓGICA DO INATEL - INCITEL 2010
Exemplo C
E
INATEL - CIENTÍFICA
INICIAÇÃO
DE DO
CIENTÍFICA
INCIAÇÃO
XXII ENCONTRO
INICITEL 2010
TECNOLÓGICA DO INATEL - INCITEL 2010
Exemplo Delphi
E
INATEL - CIENTÍFICA
INICIAÇÃO
DE DO
CIENTÍFICA
INCIAÇÃO
XXII ENCONTRO
INICITEL 2010
TECNOLÓGICA DO INATEL - INCITEL 2010
Objetivo
Desenvolver
uma
ferramenta
que interprete
códigos em
algoritmos.
E
INATEL - CIENTÍFICA
INICIAÇÃO
DE DO
CIENTÍFICA
INCIAÇÃO
XXII ENCONTRO
INICITEL 2010
TECNOLÓGICA DO INATEL - INCITEL 2010
Metodologia
Pesquisa Aplicada
Linguagem Java
Framework ANother Tool for Language Recognition
(ANTLR)
Ambiente gráfico ANTLRWorks
E
INATEL - CIENTÍFICA
INICIAÇÃO
DE DO
CIENTÍFICA
INCIAÇÃO
XXII ENCONTRO
INICITEL 2010
TECNOLÓGICA DO INATEL - INCITEL 2010
Demonstração
Ferramenta JPortugol e
Resultados encontrados até o
momento
•
E
INATEL - CIENTÍFICA
INICIAÇÃO
DE DO
CIENTÍFICA
INCIAÇÃO
XXII ENCONTRO
INICITEL 2010
TECNOLÓGICA DO INATEL - INCITEL 2010
Conceitos Envolvidos
Compilador x Interpretador
Um Compilador. Fonte: Aho et al (1995, p. 1)
Estrutura utilizada: Analisador Léxico, Analisador
Sintático e Analisador Semântico.
E
INATEL - CIENTÍFICA
INICIAÇÃO
DE DO
CIENTÍFICA
INCIAÇÃO
XXII ENCONTRO
INICITEL 2010
TECNOLÓGICA DO INATEL - INCITEL 2010
Conclusão
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.
E
INATEL - CIENTÍFICA
INICIAÇÃO
DE DO
CIENTÍFICA
INCIAÇÃO
XXII ENCONTRO
INICITEL 2010
TECNOLÓGICA DO INATEL - INCITEL 2010
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.
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.
E
INATEL - CIENTÍFICA
INICIAÇÃO
DE DO
CIENTÍFICA
INCIAÇÃO
XXII ENCONTRO
INICITEL 2010
TECNOLÓGICA DO INATEL - INCITEL 2010
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)
Download

JPortugol – Apresentação INCITEL