Desenvolvimento de um sistema de computação algébrica
multiplataforma para o auxilio do ensino de matemática
1
Victor Fernando Conti; 1Elvio Gilberto da Silva; 1Patrick Pedreira Silva; 1Rosane
Maria Lima Araújo
Universidade do Sagrado Coração, Bauru/SP
[email protected]; [email protected]; [email protected]; [email protected]
Apresentação em pôster
Pesquisa Concluída
Introdução
A educação constitui a base de um país, sendo responsável tanto por sua
sustentação quanto desenvolvimento, assim para promover o crescimento de uma
nação se faz necessária uma educação de qualidade, fomentada a partir de
investimentos financeiros, científicos, novas técnicas e metodologias de ensino.
Boa parte da base educacional de um indivíduo é formada na infância e
adolescência, através das disciplinas do ensino fundamenta e médio, dentre as
quais a matemática é a que normalmente apresenta maior dificuldade de
aprendizagem.
Porém a mesma contribui para o desenvolvimento da capacidade de
resolução de problemas, de investigação, de enfrentar novas situações, da
criatividade e a criação de uma visão ampla e científica. (LINTZ, 1999).
Ainda assim é frequente os professores ouvirem lamentos de alunos que não
gostam de matemática, e tem dificuldades de resolverem operações risórias. (PAZ
JÚNIOR, 2008). O relatório “De Olhos nas Metas” comprova que a grande maioria
dos estudantes não aprende matemática como esperado. Que pode ser um grande
problema, já que sendo uma área cumulativa, uma defasagem em determinado
conteúdo prejudica os aprendizados futuros relacionados a este. (GONZATTO,
2012).
Um dos possíveis motivos para esse desinteresse é o modelo clássico do
ensino que visa a aprendizagem por repetição, sendo muito criticado pelos
1
defensores da matemática moderna que buscam ensino pela compreensão dos
fundamentos lógicos. (PAZ JÚNIOR, 2008).
Uma forma de promover este interesse no ensino é a utilização de recursos
tecnológicos como material de apoio as aulas, sendo um deste os sistemas de
computação algébrica.
Estes sistemas manipulam símbolos matemáticos com as regras abstratas da
matemática simbólica. (ALVES; AMARAL; MENDEIROS NETO, 2002). Manipulação
esta realizada por uma determinada linguagem de programação, que não sendo
ambígua permite a representação computacional de funções matemáticas.
Uma das vantagens destas ferramentas é a compreensão que os alunos têm
dos códigos que criam, além das respostas rápidas do computador que permitem
testarem diversos aspectos de um tema. Além da diversão proporcionada, também
aumenta o interesse dos alunos e promove a interação entre os mesmos.
Existem ferramentas complexas que permitem a implantação de metodologias
como esta em cenários universitários, porém as mesmas encontram-se longe da
realidade do ensino fundamental e médio, devido aos conhecimentos prévios que
requerem e a dificuldade de ensiná-las.
Com base neste contexto, este trabalho propôs o desenvolvimento de um
sistema de computação algébrica que possa ser utilizado para aprimorar o ensino de
matemática no ensino fundamental, para isso contando com uma sintaxe própria,
que seja construída visando clareza, fácil aprendizagem, e ao mesmo tempo, a
facilidade para demonstrar expressões matemáticas e leitura do código.
O software proposto foi desenvolvido para os sistemas operacionais
Windows, e, Linux, e devido ao baixo requerimento computacional necessário sua
execução é viável, mesmo em computadores mais antigos.
Metodologia e desenvolvimento
Primeiramente foi realizada uma análise dos parâmetros curriculares
nacionais referentes aos ciclos 1, 2, 3 e 4 do ensino fundamental, de forma a
verificar os conteúdos ministrados nesta etapa e realizar a elaboração da sintaxe da
linguagem.
2
A sintaxe foi inicialmente criada de modo descritivo, exibindo e explicando a
mesma em notação livre, para em seguida ser realizada na notação BNF (Backus
Normal Form), representando-a de forma clara e consistente, auxiliando sua
implementação.
A etapa seguinte consistiu na modelagem do sistema, para isso foram
utilizados os diagramas da UML (Unified Modeling Language). Como o sistema
consiste de dois módulos, o interpretador e o editor, foram utilizados diagramas
diferentes para cada módulo.
Para o interpretador foi utilizado o Diagrama de Atividade, demonstrando seu
comportamento, e elucidando as atividades que são realizadas para interpretar as
entradas do usuário, facilitando assim sua codificação.
Já para o editor, foram realizados os Diagramas de Caso de Uso e de
Atividades. O primeiro demonstrando de forma gráfica as possíveis interações dos
usuários com o sistema, enquanto que o segundo elucida as ações do usuário de
forma mais específica.
Por fim foi escolhida a técnica utilizada para o desenvolvimento do
compilador, a recursiva descendente, que interpreta o código derivando as
expressões mais gerais, para sub-expressões específicas, de maneira recursiva,
para então interpretá-las.
Para o desenvolvimento do interpretador foi escolhida a linguagem de
programação C, devido a aspectos que a torna ideal para o desenvolvimento deste
tipo de programa, como por exemplo: o fato da linguagem apresentar poucas
restrições, ser amigável e estruturada, oferecer portabilidade, geração de códigos
executáveis
compactos
e
rápidos,
interação
com
o
sistema
operacional,
confiabilidade e simplicidade.
O interpretador foi dividido em três módulos que são unidos para gerar o
programa executável. O “parser”, que executa operações aritméticas; a “biblioteca”,
que contêm as bibliotecas internas do sistema, e as localizações e chamadas das
externas; e o “interpretador” em si, que trata os tokens, e executa os comandos da
linguagem.
As bibliotecas são separadas entre as internas e as externas, que são
programas compilados e unidos separadamente, chamados pelo interpretador,
passando os parâmetros e obtendo o valor de retorno que é utilizado pelo mesmo,
de forma a flexibilizar os parâmetros e facilitar a manutenção das bibliotecas.
3
Em seguida foram criados dois editores de texto, um utilizando a linguagem
C++ com o framework QT visando maior desempenho do que usabilidade. E outro
criado em Java com o framework JavaFX enfocando maior usabilidade do que
desempenho. Este último além de utilizar uma tecnologia mais pesada, também
utiliza técnicas de programação mais lentas, mas que facilitaram o desenvolvimento,
como é o caso das expressões regulares.
Resultados e Discussão
O interpretador foi criado para ambiente multiplataforma, sendo compilado e
testado com sucesso para os sistemas operacionais Windows e Linux. As funções
escolhidas para a biblioteca da linguagem foram:

area_cilindro

area_circulo

area_cubo

area_esfera

area_paralelepipedo

area_piramide_3

area_piramide_4

area_triangulo

media

mediana

moda

pi

volume_paralelepipedo

volume_cilindro volume_piramide_4

volume_piramede_3

volume_cubo

volume_esfera
As mesmas foram escolhidas tendo como base os objetivos apresentados nos
3º e 4º Ciclos dos Parâmetros Curriculares Nacionais de matemática.
4
Por sua vez a interface em Java pode ser vista na Figura 1, onde é executado
um algoritmo fatorial na linguagem desenvolvida. Enquanto que a interface em C++
é apresentada na Figura 2, executando um teste condicional.
Figura 1 - Interface principal executando um algoritmo fatorial.
Fonte: Elaborada pelo autor.
5
Figura 2 - Interface secundária executando um teste condicional.
Fonte: Elaborada pelo autor.
Considerações Finais
Durante a pesquisa realizada, foi possível constatar as vantagens que a
utilização de ferramentas tecnológicas pode oferecer aos professores, como forma
de auxilio ao ensino, permitindo a demonstração da matéria de forma mais atrativa,
aumentando a interação com o conteúdo, e a socialização entre os alunos, gerando
uma aproximação da realidade dos mesmos, e em alguns casos até promovendo a
diversão.
Sendo a matemática uma das áreas de menor interesse por parte dos
alunos, pode ser uma das maiores beneficiadas por estas ferramentas, uma vez que
uma possível solução são os sistemas de computação algébrica. Porém existem
outras ferramentas que podem auxiliar o ensino de matemática, dentre elas:
sistemas de simulação computacional, ferramentas de modelagens e jogos
educativos.
6
Consequentemente existe uma vasta área de pesquisa que pode ser utilizada
para auxiliar o ensino de matemática, entretanto um empecilho é a resistência que
alguns professores apresentam quanto à adoção destas ferramentas em sala de
aula, que pode ser vencida com aulas sobre a utilização da tecnologia e
demonstrações de suas vantagens.
PALAVRAS-CHAVE: Sistema de computação algébrica; auxílio no ensino de
matemática; interpretadores; ferramentas de auxílio ao ensino, linguagens de
programação
Referências
ALVES, D. T.; AMARAL, J. V.; MENDEIROS NETO, J. F. Aprendizagem de
electromagnetismo via programação e computação simbólica. Revista Brasileira
de Ensino de Física, São Paulo, v. 24, n. 2, p. 201-213, jun. 2002. Disponível em:
<http://www.scielo.br/pdf/rbef/v24n2/a17v24n2.pdf>. Acesso em: 24 mai. 2012.
GONZATTO, M. Por que 89% dos estudantes chegam ao final do Ensino Médio
sem aprender o esperado em matemática?. 2012. Disponível em:
<http://zerohora.clicrbs.com.br/rs/geral/noticia/2012/10/por-que-89-dos-estudanteschegam-ao-final-do-ensino-medio-sem-aprender-o-esperado-em-matematica3931330.html>. Acesso em: 24 mai. 2012.
LINTZ, R. G. História da Matemática. 3. ed. Blumenau: FURB, 1999.
PAZ JÚNIOR, G. T. As dificuldades no Ensino de Matemática. 2008. Disponível
em: <http://www.webartigos.com/artigos/as-dificuldades-no-ensino-dematematica/5488/>. Acesso em: 24 mai. 2012.
7
Download

Desenvolvimento de um sistema de computação algébrica