Programação e Matemática: Exitem alguma relação entre elas?

Programação e Matemática: Exitem alguma relação entre elas?

Programação e Matemática: Exite alguma relação entre elas?

Descubra a relação entre matemática e programação, e como isso impacta sua carreira como programador. Continue a leitura aqui.

Tempo de Leitura: < 1 minuto

Muitas são as dúvidas de quem está no início dos estudos relacionados ao desenvolvimento de software e em busca de ingressar na carreira e no mercado de trabalho como programador. 

Durante esse período, alguns questionamentos surgem em nossas mentes e, sem dúvidas, um dos mais frequentes é: “Utilizarei matemática no dia a dia como programador? Existe alguma relação entre a matemática e o desenvolvimento de software?”.

Se essas são as suas dúvidas, continue lendo esse artigo, que nele te explico a influência de alguns conhecimentos matemáticos na programação e te dou exemplos utilizando a linguagem JavaScript, para facilitar a compreensão.

Conheça nosso manifesto

Fundamentos da matemática na programação

1. Operadores e expressões aritméticos

Uns dos conceitos mais básicos da matemática, que aprendemos ainda no ensino fundamental são as expressões e operadores aritméticos.

Basicamente, são as operações que podemos realizar e que formam a base dos cálculos matemáticos, como a soma, subtração, multiplicação, divisão, exponenciação e radiciação, por exemplo, que possuem uma ordem de precedência, ou seja, um critério que define a sequência de suas realizações.

Exemplo de expressão aritmética

Exemplo de expressão aritmética

 

Quanto a isso, as linguagens de programação também possuem os operadores aritméticos, o que nos permite realizar cálculos em nosso software. Estes sinais podem variar conforme as linguagens de programação, mas, em geral, os mais comuns são representados pelos símbolos abaixo.

Soma    +
Subtração    -
Multiplicação    *
Divisão    /
Módulo (resto) da divisão    %

Em Javascript, por exemplo, poderíamos empregar estes operadores da seguinte forma:

var adicao = 10 + 2 //Resultado: 12
var subtracao = 10 - 2 //Resultado: 08
var multiplicacao = 10 * 2 //Resultado: 20
var divisao = 10 / 2 //Resultado: 05
var modulo = 10 % 2 //Resultado: 00

Assim, torna-se possível realizarmos operações matemáticas por meio das linguagens de programação, recurso utilizado na grande maioria dos softwares que utilizamos em nosso cotidiano.

2. Variáveis

Ao avançarmos das expressões aritméticas para as expressões algébricas, é possível percebermos a existência de letras que, na matemática, são chamadas de variáveis (ou incógnitas), exatamente porque seus valores podem variar e a resposta da equação ainda será correta.

Exemplo de expressão álgébrica e variáveis

Exemplo de expressão algébrica e variáveis

 

Na programação, também existem variáveis, tais que também podem ter seus valores modificados se necessário. Em computação, é comum uma variável possuir um nome único, bem descritivo, e um tipo de dado, visto que representam espaços de memória do computador que armazenam valores que possivelmente serão acessados, alterados e manipulados pela linguagem de programação.

Se você reparou bem no exemplo anterior, sobre operadores aritméticos usando Javascript, viu a existência do termo var no início das linhas e de uma palavra logo em seguida, que podem ter seus valores modificados de acordo com o cálculo após o sinal de igual. Abaixo, temos mais alguns exemplo da possibilidade de criarmos variáveis em linguagens de programação.

var temperatura_atual_celsius = 27

var x = -1
var y = 4.5

var resposta = 3 * (x) + 2 * y

console.log(resposta) // resposta = 6

Com isso, percebemos mais uma vez a influência da matemática nos conceitos básicos das linguagens de programação. Com o uso de variáveis durante o desenvolvimento de um software, conseguimos torná-lo mais flexível e capaz de lidar com situações distintas. Mas, não para por aqui! Vamos ver mais alguns (e ainda mais complexos) exemplos de aplicação do conhecimento matemático na programação.

3. Matrizes e Vetores

Na matemática, os vetores são estruturas que representam um conjunto de números de forma ordenada e unidimensional, ou seja, são formados por somente uma linha ou uma coluna. Cada elemento possui a sua posição, o que nos permite encontrar os números de maneira simples, graças à sua estrutura e organização.

Representação matemática de vetores coluna e linha, respectivamente

Representação matemática de vetores coluna e linha, respectivamente

 

Além disso, as matrizes podem ser consideradas vetores bidimensionais, já que a sua representação é formada por múltiplas linhas e colunas, como uma espécie de tabela. Dessa forma, podemos armazenar ainda mais informações de maneira organizada nessa estrutura, visto que, assim como os vetores, cada elemento também possui a sua posição específica nas matrizes.

Representação matemática de uma matriz

Representação matemática de uma matriz

 

Nas linguagens de programação, as matrizes e vetores fazem parte das chamadas estruturas de dados, o que nos permite utilizá-las para armazenar e organizar os dados na memória do computador, assim como as variáveis.

Podemos representar um vetor e uma matriz no Javascript da seguinte maneira:

var vetor = [2, 4, 6, 8]

var matriz = [
[2, 4, 6, 8],
[5, 6, 7, 8],
[9, 7, 5, 3],
[1, 2, 3, 4]
]

Dessa forma, as matrizes e vetores são poderosas para armazenarmos valores de forma estruturada e colaboram com a resolução de problemas matemáticos, tornando-se amplamente utilizados em várias áreas da ciência e da tecnologia, incluindo a programação.

4. Álgebra Booleana e Lógica Proposicional

Dominar lógica de programação é uma das habilidades que todo desenvolvedor de software deve possuir. Os conceitos lógicos utilizados na programação também possuem como fundamentação alguns conhecimentos matemáticos, como a álgebra booleana e a lógica proposicional.

Na álgebra booleana, uma variável pode assumir somente dois valores, como verdadeiro ou falso para a compreensão humana e ligado ou desligado quando nos referimos aos circuitos elétricos. Já na programação, utilizamos true ou false para indicarmos o estado de uma variável, que no sistema binário, representam 1 e 0 , respectivamente.

Somado a isso, a álgebra booleana possui dois operadores amplamente utilizados, que são E e OU (AND e OR, em inglês), empregados principalmente na lógica proposicional, validações condicionais e na teoria dos conjuntos, um dos tópicos que ainda serão abordados.

Na lógica proposicional, uma proposição pode ser definida como sentença verdadeira ou falsa, ou seja, que nunca assumirá estas duas condições simultaneamente. Nessa mesma linha, baseiam-se as variáveis com dados do tipo boolean que, como dito anteriormente, terá como valor true ou false.

Quanto aos operadores lógicos, de forma simplificada, funcionam da seguinte maneira:

  • AND (E)
    • Resultará em true se e somente se TODAS as proposições forem verdadeiras. Caso contrário, o resultado será false.
  • OR (OU)
    • Resultará em true se AO MENOS UMA das proposições for verdadeira. Caso contrário, o resultado será false

Abaixo, segue um esquema, conhecido como “Tabela Verdade”, que mostra o resultado das condições utilizando proposições e operadores lógicos.

Exemplo de Tabela Verdade

Exemplo de Tabela Verdade - Fonte: treinaweb.com.br

 

Nas linguagens de programação, também utilizamos esses conceitos. Em javascript, podemos testar a tabela verdade mostrada anteriormente da seguinte maneira:

// Operador AND -> &&
console.log(true && true) // true
console.log(true && false) // false
console.log(false && true) // false
console.log(false && false) // false

// Operador OR -> ||
console.log(true || true) // true
console.log(true || false) // true
console.log(false || true) // true
console.log(false || false) // false

Vamos fazer um teste? Em um computador, tecle F12 no navegador, que abrirá uma janela com o título console. Nela, cole o código acima, tecle Enter e veja o resultado!

4. Funções

As funções matemáticas de primeiro grau também influenciaram na idealização das funções utilizadas durante o desenvolvimento de software. Na imagem a seguir, a função de primeiro grau retorna o dobro de um valor, menos cinco, que possui algumas resoluções como:

  • f(1) = 2x1 - 5f(1) = -3
  • f(2) = 2x2 - 5f(2) = -1
  • f(3) = 2x3 - 5f(3) = 1
Exemplo de função de primeiro grau.

Exemplo de função de primeiro grau.

Enquanto na matemática as funções de primeiro grau definem uma relação entre duas variáveis, na programação uma função pode ser definida como um bloco de código reutilizável que, idealmente, possui uma única responsabilidade.

Embora sejam conceitos diferentes, suas estruturas são semelhantes. Para exemplificação, podemos criar uma função em Javascript que retorne o dobro de um número, menos 5, como o código abaixo:

function f(x) { return 2*x - 5}

f(1) // Resultado: -3
f(2) // Resultado: -1
f(3) // Resultado: 1

No exemplo anterior, utilizamos a palavra reservada function do Javascript para criarmos uma função que, nesse caso, possui o nome de f e recebe como parâmetro uma variável x, além de realizar o cálculo e retornar o valor conforme o esperado, como a função de primeiro grau.

6. Teoria dos conjuntos

Um dos conceitos fundamentais da matemática utilizada durante o desenvolvimento de software, mais precisamente relacionado aos banco de dados, é a teoria dos conjuntos. Ela visa explicar a relação entre elementos de grupos distintos, utilizando principalmente a união, interseção e diferença entre os conjuntos. O “Diagrama de Venn”, a seguir, nos ajuda a entender melhor essa teoria, onde os conjuntos são representados por círculos.

Diagrama de Venn

Diagrama de Venn - Fonte: grupo.semcodar.com.br

 

Os bancos de dados relacionais, que utilizam principalmente linguagens baseadas em SQL (Structured Query Language, em português, Linguagem de Consulta Estruturada), utilizam as operações da teoria dos conjuntos para relacionar os dados presentes em diferentes tabelas. Nesse caso, podemos utilizar os operadores JOIN, como no exemplo abaixo.

Exemplos de aplicação dos operadores JOIN do SQL

Exemplos de aplicação dos operadores JOIN do SQL - Fonte: jsequeiros.com

 

Assim, torna-se possível agruparmos dados que, mesmo em tabelas (conjuntos) distintas, possuem alguma relação, como uma possível tabela de Itens e Pedidos , que mesmo sendo dados em conjuntos separados, podem fazer parte de um grupo em comum.

Conclusão

Com base em todos os exemplos anteriores, fica claro a grande influência da matemática nas linguagens de programação e desenvolvimento de software. Muitos dos conceitos básicos da programação são baseados em teorias matemáticas e, ao dominarmos estes assuntos da matemática básica, nossa curva de aprendizagem da programação tende a ser menor comparada a quem não conhece estes conceitos.

Enfim, lembre-se que a matemática não deve ser uma barreira para você iniciar os seus estudos de programação. Se você não conhece essas teorias que mostrei, fique tranquilo, você terá a oportunidade de aprendê-los em conjunto com as linguagens de programação e perceberá o quão importantes elas serão no dia a dia de um desenvolvedor de software.

Vamos continuar a conversar sobre lá no fórum? Clique no botão abaixo e participe da comunidade de desenvolvedores que mais cresce no Brasil!

Texto originalmente postado neste link.
Jean Paula
Jean Paula
Graduando em Bacharelado em Engenharia de Software, desenvolvedor back-end e entusiasta de testes de software.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

Pular para o conteúdo