JavaScript não suportado

 

Docente da UFRPE desenvolve aplicativo de matemática

Para muitos jovens e adultos a matemática é algo complexo e difícil. Sua lógica parece, muitas vezes, "embaralhar os neurônios" daqueles que tentam resolver seus problemas. MMC, MDC, análise combinatória, permutações, médias são verdadeiros bichos de sete cabeças para uma parcela da população, mas não para o professor Ricardo Machado, do Departamento de Matemática da UFRPE. O Docente criou o aplicativo Calculadora Discreta para facilitar o uso destas operações matemática; funciona como uma calculadora voltada para cálculos relacionados à teoria dos números e combinatória.  A teoria dos números é o estudo dos números naturais ou inteiros positivos e suas propriedades. São a primeira criação matemática. a análise combinatória ou combinatória é a parte da Matemática que estuda métodos e técnicas que permitem resolver problemas relacionados com contagem.

O docente concedeu uma entrevista para no noticiário da Sociedade Brasileira de Matemática número 47 que é composto por Notícias da atualidade, Premiações, Entrevistas, Resenhas de livros, divulgação de eventos, entre outros. O noticiário pode ser baixado através do link: https://sbm.org.br/noticiario-eletronico/  

ENTREVISTA

Esse mês tivemos uma conversa muito agradável com o professor Ricardo Machado (UFRPE), co-autor do livro Elementos de Computação Matemática com SageMath publicado na série Textos Universitários da Editora SBM. O professor Ricardo desenvolveu um aplicativo muito interessante, uma calculadora voltada para cálculos relacionados à teoria dos números e combinatória. Nesta entrevista o professor apresenta detalhes dessa iniciativa, compartilhando com a gente um pouco sobre essa experiência.
 

Qual foi a principal motivação para você iniciar esse projeto de desenvolver esse aplicativo?
Foi a vontade de ter disponível no bolso algo tão simples de ser usado quanto uma calculadora científica, mas com funções de teoria dos números e análise combinatória. Como eu não encontrei um aplicativo que me deixasse satisfeito, tive a ideia de criá-lo.

Quais as principais funções e utilidades desta calculadora?
Na parte de Teoria dos Números, calcular MDC, MMC, a função φ de euler, o resto da divisão de a por b (a,b inteiros) o resto da divisão de a^b por c (a,b,c inteiros), resolve congruências do tipo ax ≡ b mod c, resolve equação diofantina linear do tipo ax+by=c (a,b,c inteiros) e fatorar números inteiros como produto de primos. Na parte de análise combinatória, calcular o número de permutações simples, permutações com repetições, combinações simples, combinações completas, arranjos, permutações caóticas e os dois lemas de Kaplansky. Além disso, pode ser usada para o cálculo de probabilidade discreta, combinando essas funções. Por exemplo, em probabilidade, é interessante ter uma noção de o quando um evento é provável de ocorrer ou não. Sendo assim, obter o resultado numérico é bastante útil. Vejamos o problema conhecido como o paradoxo dos aniversários, que possui o seguinte enunciado: Em um grupo de n pessoas, escolhidas aleatoriamente, qual é a probabilidade de que pelo menos duas pessoas façam aniversário no mesmo dia? Quando eu era estudante, com os recursos disponíveis na época, depois de usar o raciocínio combinatório, era necessário realizar diversas operações algébricas envolvendo logaritmos, para, depois, usar uma calculadora científica para obter um valor aproximado dessa probabilidade. Com a Calculadora Discreta, depois de escrever a parte de combinatória, o cálculo pode ser feito diretamente. Por exemplo, para n=50, basta digitar “1-A(365,50)/365^50” e apertar no botão “=” para obter 0.9704…. Ou seja, a probabilidade é superior a 97%.

Quais são os conhecimentos básicos, além dos conceitos Matemáticos, que você precisou aprender para desenvolver um projeto como esse?
Em todo aplicativo é necessária a implementação da interface gráfica e a implementação da parte lógica. Quanto à parte lógica, eu já tinha experiência com o Python, pois já utilizava o SAGE, e Python é a linguagem de programação deste software. Para a implementação do aplicativo, eu precisei procurar pelas linguagens de programação mais viáveis para gerar o aplicativo efetivamente. Em 2019, cheguei a implementar esse aplicativo em Python + Kivy, mas não consegui gerar um instalador; ele ficou disponível apenas no PC, no ambiente de desenvolvimento. Então, em 2022, resolvi procurar outras opções e aceitei o fato de que seria mais fácil aprender outras linguagens de programação. Então, depois de pesquisar algumas opções, percebi que usar a combinação React-Native (para interface gráfica) + Javascript (para a lógica) poderia dar certo. Comprei cursos on-line e aprendi o necessário para desenvolver o aplicativo que eu já tinha em mente. A parte mais complicada foi o React-Native, pois em relação ao Javascript foi mais uma adaptação, toda a lógica e experiência, aproveitei do Python/SAGE.

Desenvolvimento de aplicativos é uma área de atuação muito interessante, existe uma demanda para desenvolvimento de aplicativos na linha de Matemática?
Na minha percepção, já existem muitos aplicativos voltados para matemática básica, e para disciplinas que são mais comuns para as engenharias. Quando falamos de aplicativos para áreas mais específicas da matemática, não conheço muitos. Normalmente, os que estão disponíveis são adaptações de softwares de computadores ou necessitam da internet, fazendo todos os cálculos na nuvem. Na minha opinião, em ambos os casos, a experiência poderia ser melhor, se os aplicativos fossem pensados e desenvolvidos especificamente para os smartphones.

A Matemática também é importante na elaboração de aplicativos que não estão diretamente relacionados a cálculos?
Na verdade, a matemática é muito importante para a computação, pois a matemática está presente na compressão de imagens (arquivos JPEG), compressão de música, (arquivos MP3), no sistema do GPS, em algoritmo de busca (tipo google), em criptografia etc. Os detalhes matemáticos de todas essas aplicações, e muitas outras, estão disponíveis nos livros: Matemática e Atualidade, volumes 1 e 2 da coleção Profmat da SBM.

Você é co-autor de um livro sobre programação em SAGE e aplicações em várias linhas da matemática. Você poderia falar um pouco mais sobre esse livro sobre o SAGE?
O SAGE é um software matemático muito bem aceito mundialmente e é gratuito, tornando-o viável para nossa realidade, pois softwares como o Maple e o Mathematica custam a partir de 1.295 dólares para cada máquina (para professores e pesquisadores) e o mesmo software pode custar 3.433 dólares para empresas; além disso, existirá um custo adicional posterior, para se manter atualizado. O SAGE pode ser instalado em computadores com Windows, MAC ou Linux (site oficial para download e documentação: 11 http://www.sagemath.org/). Pode ser usado on-line (criamos um site para o livro e deixamos disponível a página: https://sagectu. com.br/sagecell.html contendo alguns exemplos que podem ser executados diretamente de lá). Além disso, existe a opção de utilizá-lo on-line através do CoCalc (https://cocalc.com/), basta se cadastrar para ter acesso. E, para melhorar a experiência, existem opções pagas, a partir de 2,18 dólares mensais. Quanto ao livro, ele é uma publicação da coleção Textos Universitários da SBM, intitulado: Elementos de Computação Matemática com SageMath. O livro é bem completo, quanto aos conteúdos abordados; ele mostra como usar o SAGE desde o básico, e chega a mostrar de forma detalhada os tópicos: programação, álgebra linear, plotagem de gráficos 2D e 3D, cálculo e EDO, além de possuir diversos problemas sugeridos em cada capítulo, todos com solução na parte final. Além desses tópicos, o software possui muitas outras funcionalidades.

Álgebra computacional é uma área que tem crescido muito atualmente. Dentro da estrutura curricular dos nossos cursos de matemática, você acha que seria importante mais disciplinas, ou maior aplicação de recursos computacionais em disciplinas já existentes para que nossos alunos tenham maior contato com essa área?
Eu acho que seria importante a existência de pelo menos uma disciplina sobre álgebra computacional/software matemático,. Além disso, seria bom tornar maior a aplicação de recursos computacionais nas disciplinas já existentes. Dessa maneira, o foco será o raciocínio e compreensão matemáticos, encaminhando mais os cálculos para as máquinas. Nos casos em que o foco é o cálculo, os softwares podem ser utilizados para conferir os resultados; assim, podemos conferir respostas e testar algumas ideias. Quanto à aplicação de recursos computacionais em disciplinas já existentes, existe uma ferramenta excelente e gratuita que permite a criação de materiais didáticos que podem integrar os conteúdos das disciplinas com softwares como o Geogebra, o SAGE e muitos outros. Ele é chamado de PreTeXt. A Associação Americana de Matemática publicou um artigo sobre ele, com o título: PreTeXt – O Futuro dos Livros Didáticos. (http://digitaleditions.walsworthprintgroup.com/publication/?i=638453&art... id=3546966&view=articleBrowser). No próximo link, tem uma galeria de livros em PreTeXt: https://pretextbook.org/gallery.html

Você poderia deixar uma dica para quem tem interesse em tentar desenvolver algum projeto como o seu?
Se o objetivo for desenvolver uma espécie de calculadora com algumas funções específicas, meu conselho é usar softwares matemáticos, aprender a programar esses softwares para resolver diversos problemas, criando funções que automatizam todo o processo (uma boa forma de fazer isso é lendo o livro: Elementos de Computação Matemática com SageMath, da SBM). Depois disso, pensar nas funções específicas desejadas para o aplicativo e implementá-las usando apenas os recursos mais básicos, no caso do SAGE, usando apenas o Python, sem importar qualquer biblioteca. Daí, será necessário decidir quais linguagens de programação serão utilizadas na criação do aplicativo. E caso seja necessário aprender as linguagens escolhidas, procurar por cursos on-line, existem diversas plataformas que possuem muitas opções de cursos, como Coursera, KhanAcademy, Udemy e muitas outras.

Onde e como podemos adquirir seu aplicativo?
O aplicativo está disponível apenas para Android na loja Google Play e pode ser encontrado fazendo a pesquisa por "Calculadora Discreta", custa apenas R$ 3,99. Além disso, no aplicativo há um botão que abre uma descrição e sintaxe de cada função.