0% acharam este documento útil (0 voto)
67 visualizações45 páginas

Aula 10 Python Fibonacci

Este documento apresenta um curso de Python para engenharia. Aborda tópicos como estruturas condicionais, loops, arrays, sequência de Fibonacci e suas aplicações.

Enviado por

Magno Reis
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
67 visualizações45 páginas

Aula 10 Python Fibonacci

Este documento apresenta um curso de Python para engenharia. Aborda tópicos como estruturas condicionais, loops, arrays, sequência de Fibonacci e suas aplicações.

Enviado por

Magno Reis
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

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