Programação Funcional Para Ensino de Matemática

Marcio Henrique
4 min readOct 2, 2021

--

imagem:google

Talvez pareça meio contraintuivo pensar que programação e matemática estejam juntos, mas a matemática que é uma das mães da ciência básica deu origem para todos os avanços que temos hoje e teremos futuramente. Sua contribuição está acima do campo númerico, podemos ver em biologia, alguns problemas sociais, Física, e a própria computação . De fato, a matemática é um grande ferramental para resolucao de problemas.

-Tá, beleza, mas Márcio onde entra a programação Funcional?

Calma,pequeno Sith(referência Star Wars), vamos primeiro entender o que é uma função matemática

Sabe quando estudamos conjuntos númericos no ensino fundamental? Inteiros, reais,irracionais etc.

Uma função matemática é a relação entre conjuntos de entrada e um conjunto de saídas possiveis, onde cada entrada é mapeada exatamente para uma saída. O exemplo acima é um exemplo , onde x é o domínio e y é a imagem.

Trazendo para o paradigma funcional , são funcões que ajudaram em contruções de softwares e ajudam a resolver problemas , assim abordando de forma diferente.

Nos exemplos usaremos a linguagem Elm , mas existem outras de linguagem de teor funcional como Haskell.

A linguahem Elm é uma Linguagem Funcional que busca respeitar todo o formalismo matemático que é pregado. Uma das coisas legais do Elm, é que ele pode ser executado em ambiente web (assim não precisa baixar nem um software, mas caso tenha interesse o Visual Studio Code suporta uma extensão do Elm).

Exemplo 1- funcão para realizar o produto de 2 números

Nesse exemplo , temos um produto simples de dois valores , onde primeiramente definimos “produto” como uma função que receberá dois valores reais /float e vai me retornar um valor do mesmo tipo.

Abaixo definimos as variaveis x e y e sua saída que é o produto x*y, e no “main”, chamamos a funcao passando os valores que queros o produto.

TIPOS DE DADOS

Em programação funcional os tipos de dados númericos tem representa toda a ideia dos números em matemática

Números Inteiros :Z = {… -4, -3, -2, -1, 0, 1, 2, 3, 4…},em Elm Int

Números reais(R) é formado pela união (U) de outros quatro conjuntos numéricos: naturais (N), inteiros (Z), racionais (Q) e irracionais (I)., Em Elm Float

Existe também as strings, mas como o artigo foca na matemática não abordaremos. mas existe sim o tipo de dado string em linguagens funcionais

Exemplo-2

Nesse exemplo 2, vamos calcular a área do circulo, definimos “pi” e o valor de “r ”, onde a minha saída da função é “pi * r²”.

OPERADORES

Os operadores que geralmente a gente conhece em matemática , também usamos em programação Funcional

>(maior),<(menor),=<(menor igual),etc

FUNÇÕES PURAS

Para uma função f ser considerada pura, o resultado da mesma depende apenas dos argumentos que são passados ​​para ela, ou seja, ao chamar f duas vezes com o mesmo valor para um argumento x produz o mesmo resultado f(x) em ambas as execuções, isso está em contraste com procedimentos que dependem de um estado local ou global, podendo produzir resultados diferentes em momentos diferentes.

e chegamos ao fim , claro que é uma pequena introdução , mas que ajuda a entender melhor que nada é desvingulado e tudo tem uma aplicabilidade.

Nesse artigo, eu tentei ao máximo puxar para o lado matemático , por isso alguns conceitos relacionado a computação pode ter sido deixado de lado,para de fato seguir o ensino de funcional para matemática.

como diria Noah, na série Dark “ontem, hoje e amanhã não são consecutivos, eles estão conectados em um círculo sem fim. Tudo está conectado.”

Valeu , Sith até a próxima.

Agradecimentos

Obrigado por ler e chegar até aqui!! Bons Estudos

Link do site para executar os códigos:https://elm-lang.org/examples/hello

documentação Elm:https://elm-lang.org/docs

qualquer coisa podem entrar em contato comigo pelo email.

--

--

Marcio Henrique
Marcio Henrique

Written by Marcio Henrique

Computing student-UFS, Computer technician-IFS. Passionate about science, technology, programming, computer systems architecture.

Responses (1)