Você está na página 1de 22

FERRAMENTAS MATEMÁTICAS

APLICADAS
AULA 1

Prof. Ricardo Alexandre Deckmann Zanardini


CONVERSA INICIAL

O Python é uma importante linguagem de programação de altíssimo nível


utilizada na Internet, em jogos eletrônicos, na análise de dados, machine
learning1, Data Science2, Big Data3, internet das coisas e muito mais. É uma
linguagem simples e muito poderosa, que roda em uma quantidade grande de
sistemas.
A linguagem foi criada em 1991, no Centrum Wiskunde & Informatica,
(CWI), um centro de matemática e computação localizado em Amsterdam, na
Holanda. O pioneiro no desenvolvimento da linguagem foi o matemático Guido
Van Rossum, e o objetivo principal era a criação de uma linguagem interpretada,
mas com comandos simples de entender. Atualmente a linguagem é utilizada
por muitas das mais importantes e famosas empresas do mundo tais como
Google, Microsoft, Netflix, Spotify, YouTube e muitas outras.
Nesta disciplina, nosso objetivo não é trabalhar com a programação, mas
sim com as bibliotecas matemáticas disponíveis para essa linguagem e
desenvolvidas para serem utilizadas na resolução de problemas de engenharia
que incluem cálculo numérico, cálculo diferencial e integral, sistemas lineares
entre outros temas relevantes.
Para que você possa se familiarizar com a linguagem e com os ambientes
de desenvolvimento, iremos concentrar nossos esforços na abordagem e na
resolução de problemas relacionados às operações elementares, construção de
gráficos, funções, derivadas, integrais, interpolação, regressão linear e
problemas envolvendo matrizes. No entanto, há uma grande quantidade de
bibliotecas desenvolvidas para a resolução de problemas relacionados à
estatística, análise de sinais, banco de dados, aprendizado de máquina,
mineração de dados e muito mais, tais como NumPy, SciPy, Panda, StatsModel,
Matplotlib, Eli5 e Keras. É um grande universo a ser explorado.
Iniciaremos com conceitos elementares e, a cada aula, avançaremos para
temas e aplicações mais sofisticados, sempre respeitando o processo de
evolução dos temas e do seu conhecimento.

1 Em tradução livre: aprendizado de máquina.


2 Em tradução livre: Ciência de Dados.
3 O termo Big Data não tem tradução direta em português, mas refere-se a sistemas que usam
quantidades enormes de dados.
2
O nosso principal objetivo é ensinar a utilizar o Python na resolução de
problemas reais relacionados à engenharia e ao cotidiano. Para isso, vamos
utilizar um ambiente interativo chamado Jupyter Notebook, que está disponível
gratuitamente no Google Colab e no Microsoft Azure Notebooks.

TEMA 1 – TEXTOS

Para que possamos desenvolver nossas atividades no Microsoft Azure


Notebooks, o primeiro passo é acessar o endereço presente nas referências e
clicar em “Sign In”.

Em seguida, digitar nome de usuário e senha da sua conta Microsoft


(Hotmail ou Outlook). Caso não tenha uma conta, será preciso criar uma.
Após efetuar o login, podemos iniciar nossos estudos.
O primeiro passo é criar um projeto. Em “My Projects”, precisamos clicar
em “New Project”.

3
Nomeie o projeto, decida se será público ou não, e clique em “Create”.

Após criarmos o projeto, precisamos clicar em “New” e depois em


“Notebook”.

Escolhemos um nome, a versão desejada do Python e, em seguida,


clicamos em “New”.

4
Finalmente clicamos no arquivo recém criado e agora podemos começar
a aprender a trabalhar com Python.

Nesse ambiente podemos inserir textos, códigos, gráficos e desenvolver


diversos projetos, desde os mais simples até os mais sofisticados.
Como nosso propósito é utilizar o Python e algumas de suas bibliotecas
para a resolução de problemas de engenharia, inicialmente vamos aprender a

5
escrever comentários e textos. Os comentários são precedidos de “#” e não
aparecem quando o código é executado.
É possível adicionar comentários nos códigos “Code”.

Logo vamos falar um pouco a respeito de comentários feitos no código,


mas antes vamos ver que também é possível adicionar textos e comentários por
meio da opção “Markdown”, que converte o texto em HTML. Com isso é possível
criar títulos em diferentes níveis, adicionar links, além de outras opções. Essa
opção está localizada no mesmo menu anterior, conforme a imagem que
veremos a seguir.

Selecionando a opção “Markdown” e colocando um sinal “#” e um espaço


antes do texto, temos um título de nível 1 com o seguinte resultado sendo
apresentado após clicarmos em “Run” (comando que também pode ser
executado pelo atalho Ctrl + Enter.

Com dois sinais de cerquilha “#” no começo da linha, teremos um texto de


nível 2 com o seguinte resultado mostrado na célula, após a execução do
comando “Run”.

6
Dependendo do número de cerquilhas utilizadas, temos os seguintes
níveis de títulos:

 # Título nível 1
 ## Título nível 2
 ### Título nível 3
 #### Título nível 4
 ##### Título nível 5

Se escrevermos uma linha de texto em uma célula do tipo “Markdown”


sem o uso de cerquilhas, temos um texto com o formato padrão.
Para colocarmos uma quebra de linha em um lugar específico, basta
utilizar “<br />”, sem as aspas, no ponto em que a quebra será inserida.

Fazendo isso, temos o seguinte resultado:

Em relação ao campo “Code”, também é possível inserir comentários.


Os comentários são interessantes para fazermos anotações nos códigos
ou explicar o significado de variáveis e de expressões.

7
O procedimento segue a mesma ideia: na célula do tipo “Code” basta
colocarmos uma cerquilha antes do texto. Observe que o uso dos comandos de
“Markdown” não são aceitos em uma célula do tipo “Code”.

Vimos como é possível adicionar texto e comentários. Agora vamos falar


um pouco sobre código, começando com variáveis. As variáveis são nomes que
damos a valores. Esses nomes são muito importantes para desenvolvermos
atividades utilizando o Python.

TEMA 2 – VARIÁVEIS

As variáveis, nomes que damos a valores em linguagem de programação,


são utilizadas para que possamos armazenar um valor numérico, um caractere
ou algum outro tipo de informação. Por meio das variáveis é possível armazenar
e acessar essas informações facilmente. No Python podemos armazenar strings
(palavras ou sequências de caracteres denominados por “str”), números inteiros
(chamados de “int”) ou números reais (chamados de “float”).
A criação de uma variável é feita por meio de uma atribuição. Por exemplo,
se queremos armazenar o número “2” na variável “a”, basta escrevermos na linha
de código “a=2”. Para que o Python apresente na tela o valor atribuído à variável
“a”, podemos utilizar o comando print, escrevendo “print(a)”.

8
As variáveis podem ser nomeadas por meio de letras, números e
símbolos, de acordo com o que for mais conveniente. No entanto, não é possível
utilizar palavras reservadas da linguagem. Essas palavras são:

false class finally is return


none continue for lambda try
true def from nonlocal while
and del global not with
as elif if or yield
assert else import pass
break except in raise

Ao atribuir valores às variáveis, podemos fazer uma a uma.

Também é possível fazer atribuições múltiplas, ou seja, em uma mesma


linha podemos separar as variáveis por vírgulas e após o sinal de atribuição “=”,
colocamos os respectivos valores dessas variáveis. Observe que nesse caso a
vírgula entre 2 e 5 separa esses dois valores, ou seja, a=2 e b=5.

O mesmo pode ser feito em relação ao comando print. Podemos escrever


um print para cada variável ou então um único comando print com as variáveis
separadas por vírgulas.

9
Agora que já sabemos trabalhar com variáveis, vamos começar nossos
estudos referentes às operações elementares que podem ser feitas no Python.

TEMA 3 – ADIÇÃO E SUBTRAÇÃO

Vamos iniciar a parte de operadores matemáticos falando a respeito da


soma e da subtração. Em Python, a soma é realizada por meio do sinal de adição
“+” e a subtração pelo sinal “-”. Podemos utilizar o Python como uma calculadora
para resolver problemas.
Para compreendermos melhor o uso do operador de adição, vamos
resolver um exemplo relacionado ao custo total para a aquisição de matéria-
prima. Imagine que uma indústria de copos descartáveis teve, no mês de janeiro,
um custo de R$ 27.936,10 referente à aquisição de matéria-prima e R$ 1.243,90
referente ao frete. Qual foi o custo total?
Para resolvermos esse problema com o Python, basta digitarmos:
27936.10+1243.90 em uma das células do ambiente. Observe que utilizamos
obrigatoriamente o ponto “.” para separar as casas decimais:

O custo total corresponde a R$ 29.180,00.


Uma outra possibilidade é atribuirmos os valores às variáveis e em
seguida somar essas variáveis. Essa abordagem é interessante principalmente
quando precisamos utilizar o mesmo valor repetidas vezes.

10
Considerando “MateriaPrima” como sendo a variável que recebe o custo
referente à matéria-prima e “Frete” como a variável associada ao frete, podemos
escrever:
MateriaPrima=27936.10
Frete=1243.90
MateriaPrima+Frete
Isso significa que a variável “MateriaPrima” recebeu o valor “27936.10” e
a variável “Frete” o valor “1243.90”. Em seguida, a expressão
“MateriaPrima+Frete” soma os valores e apresenta o resultado 29180.00, que
corresponde a R$ 29.180,00, o custo total.

Podemos ainda denominar o custo total de “CustoTotal”, por exemplo, e


armazenarmos o resultado da soma “MateriaPrima+Frete”.

Nesse caso o resultado é armazenado, mas não é apresentado na tela.


Para podermos visualizar o valor armazenado na variável “CustoTotal”,
precisamos utilizar o comando “print()”. A sintaxe é “print(CustoTotal)”.

11
Vimos algumas maneiras diferentes de resolver o mesmo problema. Qual
delas é a mais indicada? Depende da necessidade. Se quisermos obter apenas
a soma, “27936.10+1243.90” é suficiente, mas se precisarmos trabalhar com
situações que exijam mais detalhes ou mais cálculos, é interessante utilizarmos
variáveis. Vamos abordar um exemplo simples relacionado ao desenho técnico,
utilizando variáveis para armazenar e apresentar os resultados.
Determine a dimensão mínima e a dimensão máxima do diâmetro do eixo
representado na figura a seguir.

Para resolvermos esse exercício precisamos fazer 84.728+0.077 para


obtermos o diâmetro máximo e fazermos 84.728-0.054 para o diâmetro mínimo.
Em seguida iremos utilizar o comando “print()” para escrevermos os diâmetros
mínimo e máximo. Os comandos são:

 Diametro=84.728
 a=-0.054
 b=0.077
 DiametroMinimo=Diametro+a
 DiametroMaximo=Diametro+b
 print('Diâmetro mínimo: ', DiametroMinimo)
 print('Diâmetro máximo: ', DiametroMaximo)

12
No comando “print”, o que está entre aspas é texto. Os termos
“DiametroMinimo” e “DiametroMaximo” precisam estar fora das aspas e são
utilizados para que sejam apresentados os respectivos valores.
Podemos escrever o mesmo código e adicionarmos os comentários
explicando o significado de cada passo:

 Diametro=84.728 #Diâmetro da peça


 a=-0.054 #Variação da peça
 b=0.077 #Variação da peça
 DiametroMinimo=Diametro+a #Cálculo do diâmetro mínimo
 DiametroMaximo=Diametro+b #Cálculo do diâmetro máximo
 print('Diâmetro mínimo: ', DiametroMinimo) #Apresentação do diâmetro
mínimo
 print('Diâmetro máximo: ', DiametroMaximo) #Apresentação do diâmetro
máximo

Os resultados foram apresentados com 14 casas decimais cada, mas é


possível controlar o número de casas decimais a serem apresentadas. Basta
utilizarmos dentro das aspas “%.2f” para duas casas decimais, “%.3f” para 3

13
casas decimais e assim por diante e “%” fora das aspas. Os demais comandos
são os mesmos:

 Diametro=84.728
 a=-0.054
 b=0.077
 DiametroMinimo=Diametro+a
 DiametroMaximo=Diametro+b
 print('Diâmetro mínimo: %.2f ' % DiametroMinimo)
 print('Diâmetro máximo: %.2f ' % DiametroMaximo)

Como a variável “a” recebeu a tolerância com o sinal negativo, calculamos


o diâmetro mínimo somando “Diametro” e “a”, pois 84.728+(-0.054) é equivalente
a 84.728-0.054.
A seguir vamos abordar mais duas importantes operações, a multiplicação
e a divisão.

TEMA 4 – MULTIPLICAÇÃO E DIVISÃO

Em Python, para multiplicarmos dois números, utilizamos o asterisco “*” e


para dividirmos utilizamos a barra “/”. O procedimento para realizarmos as
operações segue o mesmo princípio da adição e da subtração. Veremos alguns
exemplos que nos mostram como podemos realizar multiplicação e divisão.
Imagine que um trabalhador recebe R$ 2.324,00 por mês e utiliza 1/3 do
salário para alimentação e transporte. Qual é o valor, em reais, utilizado para
esses fins?
Para calcularmos 1/3 de 2324,00, basta dividirmos 2324,00 por 3, ou seja:

14
O resultado apresentado possui 14 casas decimais. Vimos que podemos
determinar o número de casas decimais a serem apresentadas utilizando “%.2f”,
“%.3f” e assim por diante. Outra possibilidade é utilizarmos o comando “round()”
com dois parâmetros: o primeiro é a variável a ser apresentada e o segundo
parâmetro indica o número de casas decimais.
AlimentacaoETransporte=2324/3
round(AlimentacaoETransporte,2)

Nesse caso temos o resultado da divisão armazenado na variável


denominada de “AlimentacaoETransporte”, com duas casas decimais.
Vamos resolver um novo exemplo, com operações de multiplicação e
divisão em um mesmo problema. Imagine que um dentista cobra 240,00 por
consulta. Desse valor, 27,5% se refere ao imposto de renda. Qual é o imposto
de renda pago para um total de 80 consultas mensais?
O primeiro passo é escrevermos 27,5% de forma equivalente como sendo
27.5/100. Para calcularmos a porcentagem de imposto sobre cada consulta, é
preciso multiplicar 240 por 27.5/100. Como queremos o imposto pago para um
total de 80 consultas, precisamos ainda multiplicar por 80 consultas. Logo, a
expressão que representa o total de imposto a ser pago é 240*27.5/100*80.

15
O resultado obtido corresponde a R$ 5.280,00.
Agora imagine que um lojista vende suas mercadorias com 37% de
acréscimo sobre o preço de custo. Por quanto deverá vender uma mercadoria
cujo preço de custo foi de R$ 320,00?
Nesse exemplo temos um aumento de 37% sobre o preço de custo. Como
o preço de custo corresponde a 100% e o aumento é de 37%, podemos fazer
100%+37% para obtermos o preço já com o aumento. Em porcentagem, esse
preço é dado por 100%+37%=137%. Como 137% corresponde a 137/100 e
como precisamos multiplicar esse valor por 320,00 para obtermos o preço com
aumento, a expressão a ser utilizada é: 320*137/100.

O preço de venda da mercadoria deve ser de R$ 438,40.


Um boleto no valor de R$ 566,00 foi pago com 6 meses de atraso,
resultando em um montante de R$ 614,30. Supondo que o juro cobrado é
calculado sobre o valor inicial da dívida e, consequentemente, constante a cada
mês, qual foi a taxa mensal utilizada? Obs.: Na modalidade de juros simples, o
cálculo da taxa de juros é feito pela fórmula i=(m-c)/(c.n), em que “i” é a taxa de
juros simples, “c” é o capital, “m” é montante e “n” é o tempo.
Nesse problema, podemos utilizar a fórmula i=(m-c)/(c.n). Os dados são:

 c=566.00 #Capital (valor presente)


 m=614.30 #Montante (valor futuro)
 n=6 #tempo, em meses
 taxa=(m-c)/n/c #Aplicação da fórmula para o cálculo da taxa

16
 print(taxa*100) #Apresentação da taxa

Como a taxa obtida por meio da fórmula está na forma decimal, temos
que multiplicá-la por 100 para escrevermos a taxa na forma de porcentagem.
Se quisermos a resposta com duas casas decimais, podemos utilizar o
comando “round()”.

 c=566.00
 m=614.30
 n=6
 taxa=(m-c)/n/c
 round(taxa*100,2)

Também podemos escrever a resposta utilizando a função “print()”:

 c=566.00
 m=614.30
 n=6
 taxa=((m-c)/n/c)*100
 print('A taxa é %.2f%%' % taxa)

17
Utilizamos dois sinais de porcentagem “%%” após “%.2f” para que na
apresentação da resposta possamos ter um sinal de porcentagem após o “1.42”.

TEMA 5 – POTENCIAÇÃO E RADICIAÇÃO

Outras duas operações importantes são a potenciação e a radiciação.


Sempre que precisamos de uma sequência de multiplicações de um mesmo
número utilizamos a potenciação. Em Python, a potenciação é feita utilizando
dois asteriscos “**”. Se quisermos calcular “24”, por exemplo, fazemos “2**4”.

Na prática, temos diversas situações em que a potenciação é útil. Imagine


que uma distribuidora de bebidas tem um aumento anual constante de 4% nas
vendas. Supondo que esse padrão de aumento se mantenha, qual será o volume
de vendas daqui a 3 anos, sabendo que atualmente são comercializados R$
925.000,00 em bebidas por ano?
Para esse problema, é possível utilizarmos a fórmula vf=vp*(1+i)n, em que
“vf” é o valor futuro, “vp” é o valor presente, “i” é a taxa de crescimento e “n” é o
tempo. Os comandos a serem utilizados são:

 vp=925000.00
 i=4/100
 n=3
 vf=vp*(1+i)**n
 round(v,2)
18
Sendo assim, o volume de vendas esperado para daqui a 3 anos é de R$
1.040.499,20.
m

Em relação à radiciação, podemos utilizar a relação n


am  a n e
resolvermos o problema de radiciação como uma potenciação.
Por exemplo, a raiz quadrada de 25 pode ser resolvida como uma
potenciação, 25(1/2). Em Python, basta escrevermos “25**(1/2)”:

Se quisermos, por exemplo, a raiz cúbica de um número, basta elevarmos


esse número a 1/3, para a raiz quarta é preciso elevar o número a 1/4 e assim
por diante. Para calcularmos, por exemplo, a raiz quinta de 122, temos que fazer
“122**(1/5)”:

Uma das aplicações da radiciação é o cálculo da taxa de juros na


modalidade de juros compostos. A taxa é obtida utilizando-se a fórmula:

m
in 1
c

19
Na fórmula, “i” é a taxa, “n” o tempo, “c” é o capital, também conhecido
como valor presente e “m”, o montante, conhecido como valor futuro.
Em Python, essa fórmula corresponde a (m/c)**(1/n)-1. Como a taxa é
dada na forma decimal, para obtermos o resultado na forma de porcentagem,
basta multiplicarmos essa expressão por 100, ou seja, ((m/c)**(1/n)-1)*100.
Imagine que um boleto no valor de R$ 566,00 foi pago com 6 meses de
atraso, resultando em um montante de R$ 614,30. Supondo que o juro cobrado
é calculado sobre o valor atualizado da dívida, ou seja, juros compostos, qual foi
a taxa mensal utilizada?

 c=566.00
 m=614.30
 n=6
 taxa=((m/c)**(1/n)-1)*100
 round(taxa,2)

Também é possível apresentar a resposta por meio da função “print()”:

 c=566.00
 m=614.30
 n=6
 taxa=((m/c)**(1/n)-1)*100
 print('A taxa é %.2f%%' % taxa)

20
Temos muitas outras funções importantes que serão abordadas nas
próximas aulas.
A seguir uma tabela contendo algumas dessas funções:
Função Sintaxe
Parte inteira da divisão //
Resto da divisão %
Módulo abs()
Notação científica 3.4*10**9 ou 3.4e9
Logaritmo natural log()
Logaritmo decimal log10()
Exponencial exp()
Seno sin()
Cosseno cos()
Tangente tan()
Arco seno arcsin()
Arco cosseno arccos()
Arco tangente arctan()
Seno hiperbólico sinh()
Cosseno hiperbólico cosh()
Tangente hiperbólica tanh()
Arco seno hiperbólico arcsinh()
Arco cosseno hiperbólico arccosh()
Arco tangente hiperbólica arctanh()
Conversão de graus para radianos deg2rad() ou radians()
Conversão de radianos para graus rad2deg() ou degrees()

FINALIZANDO

Chegamos ao final da nossa primeira aula de Ferramentas Matemáticas


Aplicadas. Vimos os principais conceitos elementares do Python, o que nos
permitirá resolver diversos problemas de forma rápida e eficiente. Aprendemos
a trabalhar com textos, variáveis, com as operações elementares de adição,
subtração, multiplicação, divisão, potenciação e radiciação. Nas próximas aulas
veremos de maneira detalhada problemas teóricos e práticos por meio de
poderosas funções desenvolvidas para o Python.

21
REFERÊNCIAS

CASTANHEIRA, N. P. Matemática Aplicada. 3 ed. Curitiba: Ibpex, 2010.

DEMANA, F.D.; WAITS, B.K.; FOLEY, G.D.; KENNEDY, D. Pré-Cálculo. 2. ed.


São Paulo: Pearson, 2013.

FLEMING, D. M.; GONÇALVES, M. B.; Cálculo: A Função de uma variável. 2


ed. São Paulo: Pearson, 2007.

GOOGLE COLAB. Disponível em: <colab.research.google.com>. Acesso em: 13


jul. 2019.

MICROSOFT AZURE NOTEBOOKS. Disponível em: <notebooks.azure.com>.


Acesso em: 13 jul. 2019.

PERKOVIC, L. Introdução à computação usando Python: Um foco no


desenvolvimento de aplicações. Rio de Janeiro: LTC, 2016.

22

Você também pode gostar