Você está na página 1de 45

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

Você também pode gostar