Você está na página 1de 7

Pontifícia Universidade Católica do Paraná

Disciplina de Computação Aplicada à Engenharia (CAE)


ESTRUTURA DE REPETIÇÃO - ENQUANTO/WHILE

Conceito: serve para repetir a execução de uma ou mais etapas do algoritmo em obediência a uma condição lógica.

FLUXOGRAMA PROGRAMA EM PYTHON

F (Falso)
Condição while condição:
comandos
V (Verdadeiro)
Comandos

Exemplo - 1: ler números inteiros do usuário, parando somente quando for digitado o valor zero (critério de parada). Para cada valor lido, deve-se mostrar na
tela se o mesmo é “positivo” ou “negativo”.

PROGRAMA EM PYTHON – SOLUÇÃO 1 PROGRAMA EM PYTHON - SOLUÇÃO 2 RESULTADO DA EXECUÇÃO


x=int(input('Digite um valor:'))
while True:

while (x!=0):
x=int(input('Digite um valor:'))
if (x==0):
if (x>0):
break
print('O valor é positivo')
elif (x>0):
else:
print('O valor é positivo')
print('O valor é negativo')
else:
print('O valor é negativo')
x=int(input('Digite um valor:'))

print('Digitou zero... encerrando!')


print('Digitou zero... encerrando!')
Eixo de Projetos e Sistemas Pág.: 1
Usando fluxograma, apresenta-se abaixo a representação gráfica para Exemplo - 1:

PROGRAMA EM PYTHON – SOLUÇÃO FLUXOGRAMA


início

Digite um valor:

x=int(input('Digite um valor:')) x

while (x!=0):
if (x>0): x <> 0 F

print('O valor é positivo') V


Digitou zero... encerrando!
else: V x>0 F

print('O valor é negativo') O valor é positivo O valor é negativo fim

x=int(input('Digite um valor:'))
print('Digitou zero... encerrando!')
Digite um valor:

Também é possível usar essa estrutura para testar se as informações lidas do usuário são válidas, de maneira similar à estrutura de decisão. A principal diferença
é que, usando a repetição, o algoritmo continua solicitando um valor válido ao usuário enquanto ele insistir em digitar algo inválido, indefinidas vezes.

Exemplo-2: calcular a divisão entre dois números reais informados pelo usuário, mostrando o resultado na tela.

ALGORITMO INEFICIENTE ALGORITMO EFICIENTE


Lê do usuário o numerador e o denominador.
Lê do usuário o numerador e o denominador.
Enquanto o denominador for inválido, solicita um novo valor do usuário.
Faz o cálculo da divisão.
Faz o cálculo da divisão.
Mostra o resultado na tela.
Mostra o resultado na tela.

Eixo de Projetos e Sistemas Pág.: 2


PROGRAMA EM PYTHON - SOLUÇÃO 1 PROGRAMA EM PYTHON - SOLUÇÃO 2 RESULTADO DA EXECUÇÃO

num=float(input('Digite o numera-
num=float(input('Digite o numerador:'))
dor:'))
den=float(input('Digite o denomina-
while True:
dor:'))
den=float(input('Digite um denomi-
nador válido:'))
while (den==0):
if (den!=0):
den=float(input('Erro, digite um
break
denominador válido:'))

res=num/den
res=num/den

print('Resultado:',res)
print('Resultado:',res)

Eixo de Projetos e Sistemas Pág.: 3


Usando fluxograma, apresenta-se abaixo a representação gráfica para Exemplo - 2:

PROGRAMA EM PYTHON – SOLUÇÃO FLUXOGRAMA


início

Digite o numerador:

num=float(input('Digite o numerador:')) num

while True: .V. F

den=float(input('Digite um denominador válido:')) V


Digite um denominador res  num/den
if (den!=0): válido:

break den Resultado: ,res

res=num/den
print('Resultado:',res) V den <> 0 fim

.F.
F

Eixo de Projetos e Sistemas Pág.: 4


EXERCÍCIOS
Faça o fluxograma e o programa em Python para cada exercício a seguir.

1) Crie um programa que lê do usuário o preço de uma barra de chocolate nos supermercados A e B e, em seguida, mostra na tela qual dos mercados tem
o menor preço. Permita que a execução se repita enquanto o usuário desejar. O programa não deve prosseguir enquanto forem informadas entradas
inválidas. Veja abaixo um exemplo de execução:

2) Crie um algoritmo que lê valores reais do usuário até que seja digitado o valor zero (critério de parada). Antes de encerrar, o algoritmo deve mostrar na
tela:
• A soma de todos os valores lidos
• A média entre todos os valores lidos

Eixo de Projetos e Sistemas Pág.: 5


3) Escreva um algoritmo que leia números inteiros via teclado. Para cada número, o algoritmo deve exibir na tela: POSITIVO, NEGATIVO ou ZERO. Encerra-se
sua execução quando o usuário digitar ‘N’ ou ‘n’ na pergunta “Continua [S/N]?”. Veja abaixo um exemplo de execução.

4) Escreva um algoritmo que leia números inteiros do teclado até que seja digitado o número 0 (zero). No final da execução, exibir na tela a quantidade de
números digitados, assim como a soma dos pares e a média aritmética dos ímpares. (sugestão: usar o comando break). Veja abaixo um exemplo de
execução:

Eixo de Projetos e Sistemas Pág.: 6


5) Escreva um algoritmo que exiba uma lista de opções (menu): adição, subtração, divisão, multiplicação e sair. O usuário informa um número real entre 1.0
e 10.0 (inclusive). O algoritmo deverá mostrar na tela a tabuada da operação escolhida em relação ao número real fornecido. Repita até que a opção sair
seja escolhida. Exemplo de execução deste algoritmo para um número fornecido pelo usuário:

Eixo de Projetos e Sistemas Pág.: 7

Você também pode gostar