Skip to content

➗ • Repositório com conteúdos de Matemática Computacional, utilizando o RStudio e a linguagem R como ferramentas de aprendizado.

License

Notifications You must be signed in to change notification settings

juletopi/Matematica_Computacional

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Licence-badge

ComputerMath-pic

Matemática Computacional ➗

• Este é um repositório com o conteúdo das aulas de Matemática Computacional,
ministradas pelo professor Gleison Guardia, utilizando o RStudio
e a linguagem R como ferramentas de aprendizado.

Sumário 🧾



Readme Quotes

👨‍🏫 Professor:

GleisonGuardia-pic

Gleison Guardia - Pesquisador da Matemática e Ciência de Dados | Professor de Curso Técnico e Superior | Diretor de Ensino
IFRO Campus Ji-ParanáAtuando desde Julho de 2013
Linguagens & Tecnologias: RStudioR (Linguagem)Google ColabPython
Contato: gleison.guardia@ifro.edu.br


📚 Conceitos Aprendidos:

1. Comentários, variáveis, operadores e funções "print(  )" e "remove(  )"

[!NOTE]
Retirado da aula 01 de Matemática Computacional

Nesta aula foram aprendidos:

  • Conceitos básicos para o uso do RStúdio
  • Utilização do RStúdio para conceitos matemáticos
  • Criação de algoritmos simples de definição de números Pares, Ímpares, Sucessores e Antecessores

Demais exemplos presentes no RPubs: https://rpubs.com/Gleison_Guardia/mc_aula01

?print( ) # <- Executa o argumento de um valor
?remove( ) # <- Remove um valor

#Exemplo: Algoritmo para descobrir número par ↴

#Todo número inteiro que é divisível por 2 é par, logo:
n = 7
par = 2*n
print(par)

remove(n) # <- Removido a variável "n"
remove(par) # <- Removido a variável "par"

2. Função "abs(  )"

[!NOTE]
Retirado da aula 02 de Matemática Computacional

Nesta aula foram aprendidos:

  • Operações que trabalham com deslocamento, usando o comando "abs(  )"
  • Conceitos de divisão de números inteiros
  • Conceitos de resto da divisão

Demais exemplos presentes no RPubs: https://rpubs.com/Gleison_Guardia/mc_aula02

?abs( ) # <- Devolve o valor absoluto de um número inteiro.

#Exemplo: |3| e |−3| ↴
abs(3)
abs(-3) # <- A função sempre retornará um número positivo

#Tipos de divisão em R:
5/5 # <- "Divisão Inteira"
5/2 # <- "Divisão Exata"
5/3 # <- "Divisão Infinita"

#Na "Divisão Infinita", quando dividimos 5/3, não obtivemos
#um valor exato e inteiro, quando queremos só a parte
#inteira dessa divisão, fazemos "%/%":
5%/%3
8%/%3  
11%/%3

3. Raízes multiplas, π(pi) e função "sqrt(  )"

[!NOTE]
Retirado da aula 03 de Matemática Computacional

Nesta aula foram aprendidos:

  • Operações que trabalham com raízes quadradas, usando o comando "sqrt(  )"
  • Conceitos de operação de pontências
  • Conceitos de operação utilizando o π(pi)

Demais exemplos presentes no RPubs: https://rpubs.com/Gleison_Guardia/mc_aula03

?sqrt( ) # <- Determina uma raiz quadrada de um número.

#Exemplo: A raíz de 9 ↴
sqrt(9) # <- A raiz quadrada de 9 é 3, porque 3 x 3 = 9

#Mas quando precisamos encontrar uma raiz que seja maior que
#a quadrada, exemplo, cúbica, quarta e etc, podemos 
#utilizar o seguinte recurso matemático:

2**(1/3) # <- Raíz cúbica de 2
2**(1/4) # <- Raíz quarta de 2
50**(1/5) # <- Raíz quíntopla de 50
1024**(1/10) # <- Raíz décima de 1024

#Operações com o π(pi):
?pi # <- O pi é uma constante que já vem dentro da linguagem R, 
              # não sendo necessário a sua declaração
2 + 3 * pi

4. Números complexos e funções "Re(  )" e "Im(  )"

[!NOTE]
Retirado da aula 04 de Matemática Computacional

Nesta aula foram aprendidos:

  • Operações que trabalham com números complexos, usando os comandos "Re(  )" e "Im(  )"
  • Conceitos de operação de Adição, Subtração e Multiplicação com números complexos

Demais exemplos presentes no RPubs: https://rpubs.com/Gleison_Guardia/mc_aula04

?Re( ) # <- Extrai a parte real de um número complexo
?Im( ) # <- Extrai a parte imaginária de um número complexo

#Exemplo: z = 2+3i ↴
z1 = 2 + 3i
Re(z) # <- Retorna "2" como a parte real
Im(z) # <- Retorna "3" como a parte imaginária

?cat( ) # <- Usada para mostrar os valores na tela.

cat("z1=",z1)

5. Variáveis matemáticas e utilização de "{  }"

[!NOTE]
Retirado da aula 05 de Matemática Computacional

Nesta aula foram aprendidos:

  • Operações que trabalham com a utilização de variáveis usando vetores
  • Utilização de "{  }" para seleção de operações matemáticas específicas

Demais exemplos presentes no RPubs: https://rpubs.com/Gleison_Guardia/mc_aula05

{ } # <- As chaves são comumente usadas na lógica de programação para delimitar uma instrução

#As equações podem ser feitas utilizando-se de variáveis
#das quais, tem a finalidade de armazenar valor:
{
  x = 2
  y = 2 * x     # <- Toda a equação está sendo declarada dentro das chaves, fazendo com que os
  print(y)                  # valores de equações anteriores não se sobreponham
}

6. Fórmula de bhaskara e função "If/Else"

[!NOTE]
Retirado da aula 06 de Matemática Computacional

Nesta aula foram aprendidos:

  • Operações que trabalham com fórmula de bhaskara, usando o comando "cat(  )"
  • Utilização da lógica de programação "If e Else" para a criação de algoritmos matemáticos

Demais exemplos presentes no RPubs: https://rpubs.com/Gleison_Guardia/mc_06

#Equações de segundo grau podem ser feitas utilizando o software r.
#Por exemplo: x^2 − 7x + 10 = 0 ↴
{
  a = 1
  b = -7
  c = 10
  cat("a = ", a, "\n")
  cat("b = ", b, "\n")
  cat("c = ", c, "\n")
  
  #Agora vamos encontrar o valor de Δ:
  delta = b ** 2 - 4 * a * c
  print(delta)
  
  x_1 = (-b - (delta)**(1/2))/(2*a)
  print(x_1)
  x_2 = (-b + (delta)**(1/2))/(2*a)
  print(x_2)
  cat("x_1 = ", x_1, "x_2 = ", x_2)
  
  #Introduzindo o conceito de "if e else":
  if(delta < 0){
    print("O seu número é Complexo!")
  }else{
    print("O seu número é Real!")
  }
}

7. Áreas, volumes e função "readline(  )"

[!NOTE]
Retirado da aula 07 de Matemática Computacional

Nesta aula foram aprendidos:

  • Operações que trabalham com a área e volume de formas geométricas, usando o comando "readline(  )"
  • Criação de algoritmos com entrada e saída de valores de cálculo fornecidos pelo usuário

Demais exemplos presentes no RPubs: https://rpubs.com/Gleison_Guardia/mc_07

#Ao trabalharmos com áreas e volumes de uma forma, normalmente há aquele que irá definir
#as suas dimensões de acordo com a fórmula. Para isso, utilizamos os comandos:

?readline( ) # <- Retorna uma string para acomodar toda a linha.
?sprintf( ) # <- Formata uma string e guarda o resultado em um array.

#Exemplo: Área do Losango ↴
{
  print("Digite o valor de D → diagonalmaior:")
  D = as.numeric(readline())
  D
  print("Digite o valor de d → diagonalmenor:")
  d = as.numeric(readline())
  d
  A = D * d / 2
  sprintf("A área da figura é %s!", A )
}

8.1. Algoritmo Financeiro (Juros e Porcentagem)

[!NOTE]
Retirado da aula 08.1 de Matemática Computacional

Nesta aula foram aprendidos:

  • Entendimento sobre conceitos matemáticos financeiros
  • Criação de um algoritmo complexo com conceitos matemáticos financeiros de juros e porcentagem

Demais exemplos presentes no RPubs: https://rpubs.com/Gleison_Guardia/mc_08

#Reajustes Sucessivos (Algoritmo):
{
  valor <- as.numeric(readline("Digite o valor do produto: "))
  parcelas <- as.numeric(readline("Digite a quantidade de parcelas: "))
  reajuste <- 1
  for (i in 1:parcelas) {
    taxa = as.numeric(readline(sprintf("Digite a %sª parcela: ", i)))
    reajuste = reajuste * (1+ taxa/100)
  }
  novo_valor = valor * reajuste
  sprintf("O novo valor do produto é R$%s!", novo_valor)
}

#O algoritmo acima ↑ faz com que sejam pedidos o valor, a quantidade de parcelas
#e o nº da parcela de um produto, resultando no valor final do produto.

8.2. Algoritmo Financeiro (Juros Simples e Compostos)

[!NOTE]
Retirado da aula 08.2 de Matemática Computacional

Nesta aula foram aprendidos:

  • Criação de um algoritmo complexo com conceitos matemáticos financeiros de juros simples e compostos

Demais exemplos presentes no RPubs: https://rpubs.com/Gleison_Guardia/mc_08

#Juros Simples e Compostos (Algoritmo):
{
  c = as.numeric(readline("Digite o valor da capital: ")) 
  i = as.numeric(readline("Digite o valor da taxa de juros: "))
  t = as.numeric(readline("Digite o tempo da aplicação: "))
  sn = as.numeric(readline("Escolha entre os juros, (1)simples ou (2)composto: "))
  if(sn == 1){
    m = c * (1 + (i/100) * t)
    sprintf("Seu montante será de R$%s!", m)
  }else{
    m = c * (1 + (i/100)) ^(t)
    sprintf("Seu montante será de R$%s!", m) 
  }
}

#O algoritmo acima ↑ faz com que sejam pedidos o valor da capital, taxa de juros,
#o tempo da aplicação e a escolha entre os juros simples ou composto.

8.3. Algoritmo Financeiro (Parcelas e Dívidas)

[!NOTE]
Retirado da aula 08.3 de Matemática Computacional

Nesta aula foram aprendidos:

  • Criação de dois algoritmos complexos com conceitos matemáticos financeiros de valores de parcelas e dívidas

Demais exemplos presentes no RPubs: https://rpubs.com/Gleison_Guardia/mc_08

#Valor Atual de uma Parcela (Vap) (Algoritmo 1):
{
  vn = as.numeric(readline("Digite o valor do bem: "))
  i = as.numeric(readline("Digite a taxa de juros: "))
  n = as.numeric(readline("Digite o número de parcelas: "))
  vap = (vn/ (1 + i/100) ^n)
  sprintf("O valor atual total de uma parcela será: R$%s!", vap) 
}
#Valor Atual total de uma Dívida (Vat) (Algoritmo 2):
{
  r = as.numeric(readline("Digite o valor do bem: "))
  i = as.numeric(readline("Digite a taxa de juros: "))
  n = as.numeric(readline("Digite o número de parcelas: "))
  
  numerador = (1 + i/100) ^n - 1
  denominador = i/100 * (1 + i/100) ^n
  vat = r * (numerador/denominador)
  sprintf("O valor atual total de uma dívida será: R$%s!", vat) 
}

#Os algoritmos acima ↑ fazem com que sejam pedidos o valor do bem, 
#taxa de juros e o nº da parcela de um produto.

9. Teoria dos Conjuntos e Banco de Dados

[!NOTE]
Retirado da aula 09 de Matemática Computacional

Nesta aula foram aprendidos:

  • Conceitos principais da "Teoria dos Conjuntos"
  • Raciocínio de funções de análises estatísticas para manipulação de banco de dados

Demais exemplos presentes no RPubs: https://rpubs.com/Gleison_Guardia/mc_09

#A Teoria dos Conjuntos é conceito muito importante para a construção do
#raciocínio de funções e principalmente análises estatísticas.
#Suas leis são a base de funcionamento dos Banco de Dados, e
#nenhum sistema funciona sem trabalhar com este conceito.

#Exemplo: Manuseando um conjunto de variáveis ↴
A <- c(0,1,2,3)
B <- 0:3
C <- 1:5
A == B

A[A>3] # <- Nenhum valor presente no vetor A satisfaz a condição estabelecida.
             # Assim dizemos que a resposta a essa solicitação será vazia.

A[A == 3] # <- Neste caso, a solicitação é classificada como unitária, 
                  # ou seja, possui apenas um valor como retorno.

A[A < 10] # <- E neste caso, o retorno é satisfatório para todos os valores
# possíveis, com nossa resposta sendo igual o nosso conjunto universo de estudo.

10. Conceito, estrutura e aplicação de Funções

[!NOTE]
Retirado da aula 10 de Matemática Computacional

Nesta aula foram aprendidos:

  • Conceitos de aplicação de funções
  • Aplicação de funções com 1 ou 2 variáveis

Demais exemplos presentes no RPubs: https://rpubs.com/Gleison_Guardia/mc_10

#O conceito de função é a relação entre dois conjuntos.
#Temos o conjunto de entrada ou domínio da função e o
#conjunto de saída ou imagem. Em suma, caracteriza-se
#pela relação entre duas ou mais estruturas dependentes.

#Exemplo: Função com UMA variável ↴
{
  par <- function(x){
    calculo_par <- 2*x
    sprintf("O valor par do índice %s é %s!", x, calculo_par)
  }
}
par(x) # <- No final é substituido o x por qualquer valor, afim de
                 # apresentaro índice do valor par

#Exemplo: Função com DUAS variáveis ↴
{
  area_retangulo <- function(largura, comprimento){
    area_calculada <- largura*comprimento
    sprintf("A área do retângulo de largura %s e comprimento %s é de %sm²", largura, comprimento, area_calculada)
  }
}
area_retangulo(largura = x, comprimento = x)

11. Funções compostas e de retorno

[!NOTE]
Retirado da aula 11 de Matemática Computacional

Nesta aula foram aprendidos:

  • Conceitos de funções compostas e de retorno
  • Função de equação quadrática
  • Função de progressão aritmética

Demais exemplos presentes no RPubs: https://rpubs.com/Gleison_Guardia/mc_11

#Função com Retorno ↴

#Usado para situações onde o valor gerado será aproveitado por outra função.
#Ela não é uma função que vai imprimir um resultado na tela, apenas 
#fará um cálculo que poderá ser utilizado em outro momento.
{
  dobro <- function(x){
    f_dobro <- 2*x
    return(f_dobro)
  }
  dobro(2)
}

#Função Composta ↴

#A característica de uma função composta é poder aplicar uma função
#dentro de outra função. Por exemplo: "O Dobro do Dobro de x"
{
  sprintf("O dobro do dobro de 5 é %s!", dobro(dobro(5)))
}

12. Função de Progressão Geométrica

[!NOTE]
Retirado da aula 12 de Matemática Computacional

Nesta aula foram aprendidos:

  • Estrutura de equação geométrica
  • Função de progressão geométrica

Demais exemplos presentes no RPubs: https://rpubs.com/Gleison_Guardia/mc_11

#Algoritmo de Progressão Geométrica:
{
  an <- function(a_1, n, q){
    f_an = (a_1 * q**(n-1))
    return(f_an)
  }
  sn <- function(a_1, n, q){
    f_sn = (a_1 * (((q**n)-1)/(q-1)))
    return(f_sn)
  }
  sprintf("Calculadora do Termo Geral e da Soma dos Termos da Progressão Geométrica")
  
  a_1 = as.numeric(readline(sprintf("Digite o valor do primeiro termo (a1): ")))
  q = as.numeric(readline(sprintf("Digite o valor da razão da progressão (q): ")))
  n = as.numeric(readline(sprintf("Digite o valor do termo procurado (n): ")))
  
  sprintf("O valor do termo geral é %s e o valor da soma dos termos é %s!",an(a_1, n, q),sn(a_1, n, q))
}

#O algoritmo acima ↑ calcula o termo geral e a soma de uma "Progressão Geométrica".
#A progressão aritmética tem como formulas os seguintes valores:

#Termo Geral "An = a1 ⋅ q^n−1", onde:
a1 # <- é o primeiro termo da série.
n # <- é o termo desejado.
q # <- é a razão da progressão geométrica

👤 Autor



Feito com 💙 por Juletopi.

About

➗ • Repositório com conteúdos de Matemática Computacional, utilizando o RStudio e a linguagem R como ferramentas de aprendizado.

Topics

Resources

License

Stars

Watchers

Forks

Languages