Curso de Python para as Engenharias
Cálculo de Fibonacci em Python
Prof. Dr. E.R.Edwards
Universidade Estadual de Santa Cruz - UESC
Grupo de Pesquisa em Simulações e Controle de Processos
SIMCOP
27 de maio de 2023
Prof. Dr. E.R.Edwards Curso de Python para as Engenharias 1 / 45
Análise do Condicional na resolução de problemas de Engenhaira.
Prof. Dr. E.R.Edwards Curso de Python para as Engenharias 2 / 45
Uma estrutura de controle é uma construção para controlar o uxo de programa.
Existem dois tipos de controle de estrutura em Python: loops e condicionais .
Loops => São usados para executar um bloco de códigos várias vezes.
Condicionais => por outro lado, vinculam a um bloco de código a uma condição.
Prof. Dr. E.R.Edwards Curso de Python para as Engenharias 3 / 45
Nos podemos escrever esse código em única linha como mostrado abaixo:
Prof. Dr. E.R.Edwards Curso de Python para as Engenharias 4 / 45
Nós também podemos fazer comparações conforme mostrado nas expressões abaixo:
Prof. Dr. E.R.Edwards Curso de Python para as Engenharias 5 / 45
O código ao lado mostra de forma simples como
podemos usar o While . O número secreto é 13
(secret = 13). Como descobrir o número secreto?
Vamos fazer tentativas a partir de -1 (attempt =
-1). Enquanto os valores de tentativa por diferente
de 13, você vai tentando adivinhar (Guess =
adivinhar). Você entra com o valor de tentativa
como número inteiro (int) até conseguir encontrar o
valor secreto (secret) . Quando você conseguir: You
did it!
Prof. Dr. E.R.Edwards Curso de Python para as Engenharias 6 / 45
Observe ao lado que você inicia com um valor ou
chute inicial, nesse caso count = 0 . Em seguida, no
console você vai colocando valores crescente de 1
até 8. Esses valores serão somados no
count = count + 1. Quando o count for um valor
que somado com 1 for igual a 9, então será impresso
no console Good bye! ".
Prof. Dr. E.R.Edwards Curso de Python para as Engenharias 7 / 45
Example
Se (if): a > b
Imprima (print): a é maior do que b
...........................................
Se: a < b
Imprima: a é menor do que b
...........................................
Se: a == b
Imprima: a é igual a b
Example
Se (if): a > b
imprima: a é maior do que b
else: a é maior do que b
Prof. Dr. E.R.Edwards Curso de Python para as Engenharias 8 / 45
Prof. Dr. E.R.Edwards Curso de Python para as Engenharias 9 / 45
Prof. Dr. E.R.Edwards Curso de Python para as Engenharias 10 / 45
Prof. Dr. E.R.Edwards Curso de Python para as Engenharias 11 / 45
Uso de if, elif e else.
Prof. Dr. E.R.Edwards Curso de Python para as Engenharias 12 / 45
A entrada de dados INPUT terá como resposta no OUTPUT o resultado das feixas
de temperatura.
Prof. Dr. E.R.Edwards Curso de Python para as Engenharias 13 / 45
Prof. Dr. E.R.Edwards Curso de Python para as Engenharias 14 / 45
Aplicação em controle de cores em sinais de Semáforos.
Prof. Dr. E.R.Edwards Curso de Python para as Engenharias 15 / 45
Prof. Dr. E.R.Edwards Curso de Python para as Engenharias 16 / 45
Prof. Dr. E.R.Edwards Curso de Python para as Engenharias 17 / 45
Prof. Dr. E.R.Edwards Curso de Python para as Engenharias 18 / 45
Aplicação em uma análise.
Prof. Dr. E.R.Edwards Curso de Python para as Engenharias 19 / 45
Matrizes - Arrays
Uma matriz é uma variável especial, que pode conter mais de um valor por vez. Aqui
estão alguns exemplos de como você pode criar e usar Arrays em Python.
Prof. Dr. E.R.Edwards Curso de Python para as Engenharias 20 / 45
Vamos fazer algumas resoluções usando o Ambiente de Desenvolvimento Integrado
(IDE) PyCharm. Os cálculos a seguir mostram manipulação de uma lista. Essas
informações são importantes quando formos trabalhar com Matrizes.
Prof. Dr. E.R.Edwards Curso de Python para as Engenharias 21 / 45
Prof. Dr. E.R.Edwards Curso de Python para as Engenharias 22 / 45
O código append signica acrescentar. Ou seja, dentro de data será acrescentado o
valor de 11.4.
Prof. Dr. E.R.Edwards Curso de Python para as Engenharias 23 / 45
Prof. Dr. E.R.Edwards Curso de Python para as Engenharias 24 / 45
Uso do Loop for em Python
Um loop for é usado para iterações em uma
sequência pré estabelecida em praticamente todas
as linguagens de programação. Dessa forma o
conhecimento adquirido nessa parte poderá ser útil
em outra linguagem de programação. Vamos ver
um exemplo básico de como usar o loop for em
Python que é provavelmente um dos tipos de
recursos de linguagem de programação mais úteis.
Vamos ver exemplos diferentes de como usá-los
em Python.
Prof. Dr. E.R.Edwards Curso de Python para as Engenharias 25 / 45
Prof. Dr. E.R.Edwards Curso de Python para as Engenharias 26 / 45
Observe que o Python entende o zero como um
número por isso não pega o número 10, pois
entende que a célula que armazena o zero é um
número. Para resolver isso colocamos no input
x +1
Prof. Dr. E.R.Edwards Curso de Python para as Engenharias 27 / 45
Prof. Dr. E.R.Edwards Curso de Python para as Engenharias 28 / 45
Vamos analisar a função range() em Python
A função range() retorna a sequência numérica
iniciando de 0 como padrão (default) e incremento
de 1 por padrão (by default ) e nalizando com um
número especíco.
Prof. Dr. E.R.Edwards Curso de Python para as Engenharias 29 / 45
Vamos analisar a função range() em Python
Dessa forma, você conseguirá usar a função
range() em várias situações como foi mostrada
nessa sequência e aplicar em vários problemas de
engenharia que envolve um início (start ) e término
(stop) de contagem com passos especícos (step)
Prof. Dr. E.R.Edwards Curso de Python para as Engenharias 30 / 45
Os dados obtidos na soma anterior são somados
com o próximo valor de x da lista.
Prof. Dr. E.R.Edwards Curso de Python para as Engenharias 31 / 45
Agora vamos encontrar a média de todos os números.
Prof. Dr. E.R.Edwards Curso de Python para as Engenharias 32 / 45
Número de Fibonacci
Na matemática a sequência de Fibonacci é uma sequência de números inteiros
começando de 0 e 1 na qual cada termo subsequente corresponde à soma dos dois
anteriores. Recebeu o nome do matemático italiano Leonardo de Pisa (ou Fibonacci).
Prof. Dr. E.R.Edwards Curso de Python para as Engenharias 33 / 45
Sequência de Fibonacci
Podemos criar a sequência da seguinte forma:
Sequência: 0, 0+1, 1+1, 2+1, 3+5, 8+5, 13+8, 21+13, 34+21, ...
Sequência: 0, 1, 2, 3, 5, 8, 13, 21, 34, 55, ...
Prof. Dr. E.R.Edwards Curso de Python para as Engenharias 34 / 45
Aplicação de Fibonacci
Os números de Fibonacci são usados na análise de mercados nanceiros, em estratégias
como retração de Fibonacci, e são usados em algoritmos de computador como a técnica
de busca de Fibonacci e a estrutura de dados heap de Fibonacci (árvore ordenada).
Prof. Dr. E.R.Edwards Curso de Python para as Engenharias 35 / 45
Fibronacci visto nas plantas e ores
Eles também aparecem em congurações biológicas, como ramicação em árvores,
arranjo de folhas em um caule, os frutos de uma pinha, o orescimento de alcachofra,
uma samambaia que se desenvolve e o arranjo de uma pinha.
Prof. Dr. E.R.Edwards Curso de Python para as Engenharias 36 / 45
Fibronacci visto na Natureza
Prof. Dr. E.R.Edwards Curso de Python para as Engenharias 37 / 45
Número de bonacci na harmonização facial
Prof. Dr. E.R.Edwards Curso de Python para as Engenharias 38 / 45
Denição
1 Em matemática os números de Fibonacci são apresentados na seguinte sequência:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34., 55, 89, 144, ...
2 Por denição os dois primeiros números de Fibonacci são 0 e 1 e cada número
subsequente é a soma dos dois anteriores.
3 Algumas fontes omitem o 0 inicial em vez de começar a sequência com dois
números 1. Em termos matemáticos, a se quência de Fn dos números de Fibonacci
é denida pela relação de recorrência.
fn = fn−1 + fn−2
(1)
Os valores iniciais são:
f0 = 0 e f0 = 1
Prof. Dr. E.R.Edwards Curso de Python para as Engenharias
(2)
39 / 45
Vamos escrever um script em Python que calcula os N primeiros números de Fibonacci.
O print tem que estar na mesma linha de
indentação para que a lista seja impressa. Se o
print for iniciado a partir da margem esquerda
(sem a indentação) vai imprimir apenas o último
valor e o laço for não será aplicado.
Prof. Dr. E.R.Edwards Curso de Python para as Engenharias 40 / 45
Observe a sequência de números e compare com o código feito na transparência
anterior. fib1 corresponde ao número anterior. fib2 corresponde ao número posterior.
fib _next corresponde a soma desses valores que vai mudar no passo seguinte dentro do
laço for.
Prof. Dr. E.R.Edwards Curso de Python para as Engenharias 41 / 45
Vamos analisar uma solução alternativa.
=> fib_append(fib_next) adiciona elementos até N = 10
Prof. Dr. E.R.Edwards Curso de Python para as Engenharias 42 / 45
Vamos ver mais uma alternativa.
Prof. Dr. E.R.Edwards Curso de Python para as Engenharias 43 / 45
Vamos ver uma alternativa usando biblioteca.
Prof. Dr. E.R.Edwards Curso de Python para as Engenharias 44 / 45
Vamos escrever um script em Python que calcula os N primeiros números de Fibonacci.
np.zeros => Retorna uma nova matriz de forma
e tipo fornecidos, preenchida com zeros.
Obs: Consulte sempre o Manual do Python que
descreve a função de cada código.
https://www.python.org
Prof. Dr. E.R.Edwards Curso de Python para as Engenharias 45 / 45