Você está na página 1de 27

Aula 5: Estruturas de repetição

Prof. Saulo Oliveira


Fundamentos de Programação
Fundamentos de Programação

Agenda da aula de hoje


• Tipos de estruturas de repetição;
• Usando o Enquanto no computador chinês;
• Terminação precoce.
Fundamentos de Programação

Mas antes…
Fundamentos de Programação

Atividade
• Faça um algoritmo que verifique se os dois valores que
ovalor_atual
analista de mercado
= float(input('Qual digitou
o valor atual da ação?: ')) realmente estão de
acordo
valor_estimadocom a lógica
= float(input('Qual deparacompra
a previsão esta ação?: ')) e venda de ações

citadas.
if valor_atual == No entanto, para este desafio, vocês só
valor_estimado:

podem usar
print('Melhor um Passa
não arriscar. único operador relacional, o ==. Fica
pra próxima.')

vedado
else: o uso dos demais, ou seja, não se pode usar os
operadores <, >, <===, >=
if valor_atual // valor_estimado 0: e nem o !=.

print('Venda.')

else:

print('Compra.')
Fundamentos de Programação

Atividade
• Versão mais estilosa.

atual = float(input('Qual o valor atual da ação?: '))

estimado = float(input('Qual a previsão para esta ação?: '))

if atual == estimado:

print('Melhor não arriscar. Passa pra próxima.')

else:

print('Venda.') if (atual // estimado == 0) else print('Compra.')


Fundamentos de Programação

Atividade
• Versão do Levi Cordeiro Carvalho!

vi = float(input('Qual era o valor antigo da ação? '))

v = float(input('Qual é o valor atual da ação? '))

c = int(2 ** (v - vi))

if v - vi == 0:

print('Não faça nada')

else:

if c == 0:

print('Compre a ação')

else:

print('Venda a ação')
Fundamentos de Programação

Python
Fundamentos de Programação

Estrutura de repetição
• Usada quando um trecho do algoritmo ou até mesmo o
algoritmo inteiro precisa ser repetido;
• O número de repetições pode ser fixo ou depender de
uma condição;
• A estrutura de repetição também é chamada de loop ou
laço. Cada execução do laço é chamada de iteração.
Fundamentos de Programação

While (enquanto)
• Normalmente, é usada quando não se sabe o número
de vezes que um trecho do algoritmo deve ser repetido;
• Uma condição é verificada no início de cada iteração.
• Sentimento: “Enquanto a condição for verdadeira, os
comandos são realizados.”

while CONDICAO:
processamento #1
processamento #2
processamento #3
Fundamentos de Programação

Computador chinês
• Ferramenta empregada para verificar se um algoritmo
está sendo executado corretamente;
• Esse teste simula o que está executando, passo a
passo.

x=1
while x < 5:
print(x)
x=x+1

10
Fundamentos de Programação

Computador chinês (continuação)


1.Elaborar uma tabela onde cada linha se refere a cada
variável envolvida e o resultado de uma operação em
particular, ou número da linha do algoritmo (ou
observação pertinente);
2.Executar os passos previstos no algoritmo;
3.Verificar se os resultados obtidos são coerentes.
Senão, corrigir o algoritmo e testar novamente para as
entradas anteriores;
4.Realizar o teste para diferentes entradas e concluir
quando todos os testes forem bem sucedidos.
11
Fundamentos de Programação

Computador chinês (continuação)

x=1
Interação
while x < 5:
print(x) VALOR
VARIÁVEL
INICIAL 1 2 3 4
x=x+1

SAÍDA

12
Fundamentos de Programação

Computador chinês (continuação)


SAÍDA
x=1
while x < 9:
if x % 2 == 0
print(x)
x=x+1

Interação
VALOR
VARIÁVEL
INICIAL 1 2 3 4 5 6 7 8

13
Fundamentos de Programação

Computador chinês (continuação)


x=1 SAÍDA

y=5
while x < y:
x=x+2
y=y+1
print(x, y)

Interação
VALOR
VARIÁVEL
INICIAL
1 2 3 4 5

y
14
Fundamentos de Programação

Computador chinês (continuação)


x=1 SAÍDA

y=5
while x <= 5:
y=y*x
x=x+1
print(x, y)

Interação
VALOR
VARIÁVEL
INICIAL 1 2 3 4

y
15
Fundamentos de Programação

Estrutura de repetição em um
fluxograma

Condição Não

Sim

Conjunto de
comandos

16
Fundamentos de Programação

Laços infinitos
•É preciso ter muito cuidado com estruturas de
repetição;
• Sempre que você for escrever uma estrutura de
repetição, certifique-se de que a condição será
avaliada como falsa em algum momento da execução
do laço. Se isso não acontecer, há o risco de o loop ser
executado indefinidamente (loop infinito).

17
Fundamentos de Programação

Computador chinês (loop infinito)


SAÍDA
x=1
while x < x + 1:
x=x+1
print(x)
print(‘Acabou o programa’)

Interação
VALOR
VARIÁVEL
INICIAL
1 2 3 4

18
Fundamentos de Programação

Laços com interrupção precoce


SAÍDA
• Realizado com a instrução break.
x=1
while x < x + 1:
print(x)
x=x*2+1
if x > 4:
break
print(‘Acabou o programa’)

Interação
VALOR
VARIÁVEL
INICIAL
1 2 3 4 5
x
19
Fundamentos de Programação

Contadores em estruturas de repetição


• Contadores podem ser usados para contar situações
específicas dentro de um loop;
• Se o que for contado não são as iterações, é usada
outra variável (diferente da variável de controle do
contador = 0
laço).
sair = 1
while sair is not 0:
numero = int(input(‘Digite um numero inteiro’))
contador = contador + 1
sair = int(input(‘Digite 0 para sair’))
print(‘Quantidade de números digitados: ’, contador)

20
Fundamentos de Programação

Acumuladores em estruturas de
repetição
• Acumuladores devem ser usados quando a realização
de um cálculo precisa de valores obtidos em cada
iteração, ou seja o cálculo só estará pronto depois que
o loop terminar;
• Normalmente, acumuladores para somas (somatórios)
são iniciados com zero e acumuladores para produtos
(produtórios) são iniciados com 1;
• Os acumuladores são iniciados sempre antes de iniciar
o laço e são incrementados/decrementados dentro do
laço;
21
Fundamentos de Programação

Acumuladores em estruturas de
repetição

soma = 0
sair = 1
while sair is not 0:
numero = int(input(‘Digite um numero inteiro’))
soma = soma + numero
sair = int(input(‘Digite 0 para sair’))
print(‘Somatório vale: ’, soma)

22
Instalação e Manutenção de Computadores

Atividade

23
Fundamentos de Programação

Exercício
1.Escreva um algoritmo em fluxograma que peça para o
usuário entrar com um número enquanto ele desejar e
ao final mostre a quantos desses números eram
pares.

2.Escreva um algoritmo em fluxograma que forneça um


algoritmo de troca de senhas. Ele deve pedir a senha
antiga, pedir a senha nova duas vezes e confirmar a
senha nova. O algoritmo também deve verificar se a
senha nova é diferente da antiga.

3.Escreva um algoritmo em fluxograma que inicialmente


peça para o usuário entrar com um número. Depois,
peça para o usuário entrar com um número enquanto
ele desejar e acumule aqueles que são múltiplos do 24
número inicial.
Instalação e Manutenção de Computadores

Próxima aula

25
Fundamentos de Programação

Próxima aula de hoje


• Estruturas de repetição: for.

26
Fundamentos de Programação

Material e discussão fora da sala

Prof. Saulo Oliveira


Contato: saulo.freitas.oliveira@gmail.com

https://qacademico.ifce.edu.br

27

Você também pode gostar