| | | |

Minicurso de Python para Matemática

Material disponível para compra: e-book livro. Consulte outras formas de colaboração aqui!

3.2 Repetição

Estruturas de repetição são instruções que permitem que a execução repetida de um bloco de comandos. São duas instruções disponíveis while e for.

3.2.1 while

A instrução while permite a repetição de um bloco de comandos, enquanto uma dada condição for verdadeira.

Por exemplo, o seguinte código computa e imprimi os elementos da sequência de Fibonacci111Leonardo Fibonacci, 1170 - 1250, matemático italiano. Fonte: Wikipédia: Leonardo Fibonacci., enquanto forem menores que 10.

1n = 1
2print(n)
3m = 1
4print(m)
5while (n+m < 10):
6 s = m
7 m += n
8 n = s
9 print(m)

Verifique!

Observação 3.2.1.(Instruções de controle)

As instruções de controle break, continue são bastante úteis em várias situações. A primeira, encerra as repetições e, a segunda, pula para uma nova repetição.

E. 3.2.1.

Use while para imprimir os dez primeiros números ímpares.


1i = 1
2c = 0
3while (c < 10):
4 print(i)
5 i += 2
6 c += 1
E. 3.2.2.

Uma aplicação do Método Babilônico222Matemática Babilônica, matemática desenvolvida na Mesopotâmia, desde os Sumérios até a queda da Babilônia em 539 a.C.. Fonte: Wikipédia. para a aproximação da solução da equação x22=0, consiste na iteração

x0=1, (3.3)
xi+1=xi2+1xi, (3.4)

i=0,1,2,. Faça um código com while para computar aproximação xi, tal que |xi+1xi|<107.


1import math
2x0 = 1.
3x = x0/2 + 1/x0
4while (math.fabs(x - x0) >= 1e-7):
5 x0 = x
6 x = x0/2 + 1/x0
7print(x)

3.2.2 for

A instrução for permite a execução iterada de um bloco de comandos. Dado um objeto iterável, a cada laço um novo item do objeto é tomado. Por exemplo, o seguinte código computa e imprime os primeiros 6 elementos da sequência de Fibonacci.

1n = 1
2print(f'1: {n}')
3m = 1
4print(f'2: {m}')
5for i in [3,4,5,6]:
6 s = m
7 m += n
8 n = s
9 print(f'{i}: {m}')

Verifique!

3.2.3 range

A função range([start,]stop[,sep]) é particularmente útil na construção de instruções for. Ela cria um objeto de classe iterável de start (incluído) a stop (excluído), de elementos igualmente separados por sep. Por padrão, start=0, sep=1 caso omitidos. Por exemplo, o código anterior por ser reescrito como segue.

1n = 1
2print(f'1: {n}')
3m = 1
4print(f'2: {m}')
5for i in range(3,7):
6 s = m
7 m += n
8 n = s
9 print(f'{i}: {m}')

Verifique!

E. 3.2.3.

Com n dado, desenvolva um código para computar o valor da soma harmônica

k=1n1k=11+12++1n. (3.5)

1n = 10
2s = 0.
3for i in range(1,n+1):
4 s += 1./i
5print(s)
E. 3.2.4.

Desenvolva um código para computar o fatorial de um dado número natural n. Dica: use math.factorial para verificar seu código.


1n = 5
2fact = 1
3for i in range(1, n+1):
4 fact *= i
5print(fact)

Envie seu comentário

Aproveito para agradecer a todas/os que de forma assídua ou esporádica contribuem enviando correções, sugestões e críticas!

Opcional. Preencha seu nome para que eu possa lhe contatar.
Opcional. Preencha seu e-mail para que eu possa lhe contatar.
As informações preenchidas são enviadas por e-mail para o desenvolvedor do site e tratadas de forma privada. Consulte a política de uso de dados para mais informações.

Licença Creative Commons
Este texto é disponibilizado nos termos da Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional. Ícones e elementos gráficos podem estar sujeitos a condições adicionais.

Pedro H A Konzen
| | | |