Buscar

04 - Estruturas de controle (while)

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Estruturas de Controle
Estrutura de Repetição (while)
Linguagem de Programação I - Cátia Khouri & Fábio Moura
1
Objetivos
Entender as Técnicas Básicas de soluções de problemas
Ser capaz de desenvolver algoritmos usando refinamento top-down
Ser capaz de usar a estrutura de repetição while
2/10/2009
2
Linguagem de Programação I - Estruturas de Controle
2
Estrutura de repetição
2/10/2009
Linguagem de Programação I - Estruturas de Controle
3
Uma estrutura de repetição permite que o programador indique que uma ação deve ser repetida enquanto alguma condição for verdadeira
Enquanto houver itens na lista de compras
	 Comprar próximo e item e excluí-lo da lista
3
2/10/2009
Linguagem de Programação I - Estruturas de Controle
4
Enquanto houver itens na lista de compras
	 Comprar próximo e item e excluí-lo da lista
Arroz
Feijão
Sabão em pó
Maçã
Banana
Biscoito
4
Exemplo
2/10/2009
Linguagem de Programação I - Estruturas de Controle
5
Considere achar a primeira potência de 2 maior do que 1.000
20 = 1
21 = 2
22 = 4
...
até quando?
20 = 1
F
F
F
1 > 1.000 ?
21 = 2
2 > 1.000 ?
22 = 4
4 > 1.000 ?
210 = 1.024
1.024 > 1.000 ?
...
V
Fim do processo !!!
5
Exemplo (cont.)
2/10/2009
Linguagem de Programação I - Estruturas de Controle
6
Considere achar a primeira potência de 2 maior do que 1.000
20 = 1
F
F
F
1 > 1.000 ?
21 = 2
2 > 1.000 ?
22 = 4
4 > 1.000 ?
210 = 1.024
1.024 > 1.000 ?
...
V
Calcule a primeira potência de 2 (20)
Enquanto (potência <= 1000)
	Calcule a próxima potencia de 2
6
Exemplo (cont.)
2/10/2009
Linguagem de Programação I - Estruturas de Controle
7
Considere achar a primeira potência de 2 maior do que 1.000
Faça n = 0
Faça potência = 2n
Enquanto potência <= 1.000
	Adicione 1 a n
	Faça potência = 2n
Imprima n
Imprima potência
n
potência
0
20=1
1
21=2
2
22=4
...
...
9
29=512
10
210=1.024
7
Em Python
2/10/2009
Linguagem de Programação I - Estruturas de Controle
8
n = 0
potencia = 2 ** n
while potencia <= 1000:
 n = n + 1
 potencia = 2 ** n
print “Potencia = ", n
print "Valor = ", potencia
8
while (cont.)
2/10/2009
Linguagem de Programação I - Estruturas de Controle
9
potencia = 2
while potencia <= 1000:
	potencia = 2 * potencia
print “Potencia = ”, potencia
potencia<=1000
potencia = 2*potencia
True
False
potencia = 2
imprimir
potencia
9
Estudo de caso 1
2/10/2009
Linguagem de Programação I - Estruturas de Controle
10
Uma turma de dez estudantes resolve um teste. As notas (inteiros no intervalo de 1 a 100) alcançadas estão disponíveis para você.
Objetivo: determinar a média aritmética das notas da turma.
Dicas:
Vamos usar uma repetição controlada por contador para fornecer as entradas (notas), uma de cada vez
Vamos usar um total para ir acumulando a soma das notas
Vamos guardar a nota média em media
10
Estudo de caso 1 (cont.)
2/10/2009
Linguagem de Programação I - Estruturas de Controle
11
Refinamento top-down
Inicializar as variáveis
Receber os dados de entrada, somar e contar as notas
Calcular e imprimir a média da turma
Inicializar as variáveis
Inicializar total com zero
Inicializar contador com zero
11
Estudo de caso 1 (cont.)
2/10/2009
Linguagem de Programação I - Estruturas de Controle
12
Receber os dados de entrada, somar e contar as notas
Enquanto o contador for menor que 10 
Receba como entrada a próxima nota
Some a nota ao total
Some um ao contador de notas
Calcular e imprimir a média da turma
Atribua à média o total dividido por 10
Imprima a média
12
Estudo de caso 1 (cont.)
2/10/2009
Linguagem de Programação I - Estruturas de Controle
13
Repetição controlada por contador
Inicializar total com zero
Inicializar contador com zero
Enquanto o contador for menor que 10
 Receba como entrada a próxima nota
 Some a nota ao total
 Some um ao contador de notas
Atribua à média o total dividido por 10
Imprima a média
13
Exercícios
2/10/2009
Linguagem de Programação I - Estruturas de Controle
14
Fazer programas em Python para:
Calcular a soma dos 100 primeiros números naturais
Calcular a média aritmética dos 100 primeiros nº naturais
Imprimir o menor inteiro positivo x cujo quadrado é superior a um valor L dado
14

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais