Computação 1 - Python Aula 7 - Teórica Estrutura de...

35
Computa¸ ao 1 - Python Aula 7 - Te´ orica Estrutura de Repeti¸ ao com Teste de Parada: while Jo˜ ao Carlos, Carla Delgado, Ana Luisa Duboc 1/ 18

Transcript of Computação 1 - Python Aula 7 - Teórica Estrutura de...

Page 1: Computação 1 - Python Aula 7 - Teórica Estrutura de ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula7_teorica.pdf · Aula 7 - Teo´rica Estrutura de Repetic¸˜ao com Teste

Computacao 1 - Python

Aula 7 - Teorica

Estrutura de Repeticao com Teste de Parada:

while

Joao Carlos, Carla Delgado, Ana Luisa Duboc

1/ 18

Page 2: Computação 1 - Python Aula 7 - Teórica Estrutura de ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula7_teorica.pdf · Aula 7 - Teo´rica Estrutura de Repetic¸˜ao com Teste

Estrutura de Repeticao while

Permite que o programador especifique que a funcao deve repetirum conjunto de comandos enquanto uma dada condicao forverdadeira.

while <condicao>:<sequencia de comandos>

Exemplo

1 de f exemplo1 ( numero ) :2 ”Funcao que c r i a uma l i s t a formada por s t r i n g s ’ x ’ . A quant i dade de s t r i n g s ’ x ’

e i g u a l a numero .3 Parametro de ent r ada : i n t4 Va l o r de Retorno : l i s t ”56 l i s t a x = [ ]7 wh i l e numero > 0 :8 l i s t . append ( l i s t a x , ’ x ’ )9 numero = numero − 1

10 r e t u r n l i s t a x

Joao Carlos, Carla Delgado, Ana Luisa Duboc

2/ 18

Page 3: Computação 1 - Python Aula 7 - Teórica Estrutura de ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula7_teorica.pdf · Aula 7 - Teo´rica Estrutura de Repetic¸˜ao com Teste

Estrutura de Repeticao while

1 de f exemplo1 ( numero ) :2 ”Funcao que c r i a uma l i s t a formada por s t r i n g s ’ x ’ . A quant i dade de s t r i n g s ’ x ’

e i g u a l a numero .3 Parametro de ent r ada : i n t4 Va l o r de Retorno : l i s t ”56 l i s t a x = [ ]7 wh i l e numero > 0 :8 l i s t . append ( l i s t a x , ’ x ’ )9 numero = numero − 1

10 r e t u r n l i s t a x

exemplo1(2)

Joao Carlos, Carla Delgado, Ana Luisa Duboc

3/ 18

Page 4: Computação 1 - Python Aula 7 - Teórica Estrutura de ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula7_teorica.pdf · Aula 7 - Teo´rica Estrutura de Repetic¸˜ao com Teste

Estrutura de Repeticao while

1 de f exemplo1 ( numero ) :2 ”Funcao que c r i a uma l i s t a formada por s t r i n g s ’ x ’ . A quant i dade de s t r i n g s ’ x ’

e i g u a l a numero .3 Parametro de ent r ada : i n t4 Va l o r de Retorno : l i s t ”56 l i s t a x = [ ]7 wh i l e numero > 0 :8 l i s t . append ( l i s t a x , ’ x ’ )9 numero = numero − 1

10 r e t u r n l i s t a x

exemplo1(2)

listax=[]

Joao Carlos, Carla Delgado, Ana Luisa Duboc

3/ 18

Page 5: Computação 1 - Python Aula 7 - Teórica Estrutura de ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula7_teorica.pdf · Aula 7 - Teo´rica Estrutura de Repetic¸˜ao com Teste

Estrutura de Repeticao while

1 de f exemplo1 ( numero ) :2 ”Funcao que c r i a uma l i s t a formada por s t r i n g s ’ x ’ . A quant i dade de s t r i n g s ’ x ’

e i g u a l a numero .3 Parametro de ent r ada : i n t4 Va l o r de Retorno : l i s t ”56 l i s t a x = [ ]7 wh i l e numero > 0 :8 l i s t . append ( l i s t a x , ’ x ’ )9 numero = numero − 1

10 r e t u r n l i s t a x

exemplo1(2)

listax=[]

2 > 0

Joao Carlos, Carla Delgado, Ana Luisa Duboc

3/ 18

Page 6: Computação 1 - Python Aula 7 - Teórica Estrutura de ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula7_teorica.pdf · Aula 7 - Teo´rica Estrutura de Repetic¸˜ao com Teste

Estrutura de Repeticao while

1 de f exemplo1 ( numero ) :2 ”Funcao que c r i a uma l i s t a formada por s t r i n g s ’ x ’ . A quant i dade de s t r i n g s ’ x ’

e i g u a l a numero .3 Parametro de ent r ada : i n t4 Va l o r de Retorno : l i s t ”56 l i s t a x = [ ]7 wh i l e numero > 0 :8 l i s t . append ( l i s t a x , ’ x ’ )9 numero = numero − 1

10 r e t u r n l i s t a x

exemplo1(2)

listax=[]

2 > 0 ⇒ True

Joao Carlos, Carla Delgado, Ana Luisa Duboc

3/ 18

Page 7: Computação 1 - Python Aula 7 - Teórica Estrutura de ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula7_teorica.pdf · Aula 7 - Teo´rica Estrutura de Repetic¸˜ao com Teste

Estrutura de Repeticao while

1 de f exemplo1 ( numero ) :2 ”Funcao que c r i a uma l i s t a formada por s t r i n g s ’ x ’ . A quant i dade de s t r i n g s ’ x ’

e i g u a l a numero .3 Parametro de ent r ada : i n t4 Va l o r de Retorno : l i s t ”56 l i s t a x = [ ]7 wh i l e numero > 0 :8 l i s t . append ( l i s t a x , ’ x ’ )9 numero = numero − 1

10 r e t u r n l i s t a x

exemplo1(2)

listax=[]

2 > 0 ⇒ Truelistax=[’x’]

Joao Carlos, Carla Delgado, Ana Luisa Duboc

3/ 18

Page 8: Computação 1 - Python Aula 7 - Teórica Estrutura de ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula7_teorica.pdf · Aula 7 - Teo´rica Estrutura de Repetic¸˜ao com Teste

Estrutura de Repeticao while

1 de f exemplo1 ( numero ) :2 ”Funcao que c r i a uma l i s t a formada por s t r i n g s ’ x ’ . A quant i dade de s t r i n g s ’ x ’

e i g u a l a numero .3 Parametro de ent r ada : i n t4 Va l o r de Retorno : l i s t ”56 l i s t a x = [ ]7 wh i l e numero > 0 :8 l i s t . append ( l i s t a x , ’ x ’ )9 numero = numero − 1

10 r e t u r n l i s t a x

exemplo1(2)

listax=[]

2 > 0 ⇒ Truelistax=[’x’]numero = 1

Joao Carlos, Carla Delgado, Ana Luisa Duboc

3/ 18

Page 9: Computação 1 - Python Aula 7 - Teórica Estrutura de ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula7_teorica.pdf · Aula 7 - Teo´rica Estrutura de Repetic¸˜ao com Teste

Estrutura de Repeticao while

1 de f exemplo1 ( numero ) :2 ”Funcao que c r i a uma l i s t a formada por s t r i n g s ’ x ’ . A quant i dade de s t r i n g s ’ x ’

e i g u a l a numero .3 Parametro de ent r ada : i n t4 Va l o r de Retorno : l i s t ”56 l i s t a x = [ ]7 wh i l e numero > 0 :8 l i s t . append ( l i s t a x , ’ x ’ )9 numero = numero − 1

10 r e t u r n l i s t a x

exemplo1(2)

listax=[]

2 > 0 ⇒ Truelistax=[’x’]numero = 1

1 > 0

Joao Carlos, Carla Delgado, Ana Luisa Duboc

3/ 18

Page 10: Computação 1 - Python Aula 7 - Teórica Estrutura de ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula7_teorica.pdf · Aula 7 - Teo´rica Estrutura de Repetic¸˜ao com Teste

Estrutura de Repeticao while

1 de f exemplo1 ( numero ) :2 ”Funcao que c r i a uma l i s t a formada por s t r i n g s ’ x ’ . A quant i dade de s t r i n g s ’ x ’

e i g u a l a numero .3 Parametro de ent r ada : i n t4 Va l o r de Retorno : l i s t ”56 l i s t a x = [ ]7 wh i l e numero > 0 :8 l i s t . append ( l i s t a x , ’ x ’ )9 numero = numero − 1

10 r e t u r n l i s t a x

exemplo1(2)

listax=[]

2 > 0 ⇒ Truelistax=[’x’]numero = 1

1 > 0 ⇒ True

Joao Carlos, Carla Delgado, Ana Luisa Duboc

3/ 18

Page 11: Computação 1 - Python Aula 7 - Teórica Estrutura de ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula7_teorica.pdf · Aula 7 - Teo´rica Estrutura de Repetic¸˜ao com Teste

Estrutura de Repeticao while

1 de f exemplo1 ( numero ) :2 ”Funcao que c r i a uma l i s t a formada por s t r i n g s ’ x ’ . A quant i dade de s t r i n g s ’ x ’

e i g u a l a numero .3 Parametro de ent r ada : i n t4 Va l o r de Retorno : l i s t ”56 l i s t a x = [ ]7 wh i l e numero > 0 :8 l i s t . append ( l i s t a x , ’ x ’ )9 numero = numero − 1

10 r e t u r n l i s t a x

exemplo1(2)

listax=[]

2 > 0 ⇒ Truelistax=[’x’]numero = 1

1 > 0 ⇒ Truelistax=[’x’,’x’]

Joao Carlos, Carla Delgado, Ana Luisa Duboc

3/ 18

Page 12: Computação 1 - Python Aula 7 - Teórica Estrutura de ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula7_teorica.pdf · Aula 7 - Teo´rica Estrutura de Repetic¸˜ao com Teste

Estrutura de Repeticao while

1 de f exemplo1 ( numero ) :2 ”Funcao que c r i a uma l i s t a formada por s t r i n g s ’ x ’ . A quant i dade de s t r i n g s ’ x ’

e i g u a l a numero .3 Parametro de ent r ada : i n t4 Va l o r de Retorno : l i s t ”56 l i s t a x = [ ]7 wh i l e numero > 0 :8 l i s t . append ( l i s t a x , ’ x ’ )9 numero = numero − 1

10 r e t u r n l i s t a x

exemplo1(2)

listax=[]

2 > 0 ⇒ Truelistax=[’x’]numero = 1

1 > 0 ⇒ Truelistax=[’x’,’x’]numero = 0

Joao Carlos, Carla Delgado, Ana Luisa Duboc

3/ 18

Page 13: Computação 1 - Python Aula 7 - Teórica Estrutura de ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula7_teorica.pdf · Aula 7 - Teo´rica Estrutura de Repetic¸˜ao com Teste

Estrutura de Repeticao while

1 de f exemplo1 ( numero ) :2 ”Funcao que c r i a uma l i s t a formada por s t r i n g s ’ x ’ . A quant i dade de s t r i n g s ’ x ’

e i g u a l a numero .3 Parametro de ent r ada : i n t4 Va l o r de Retorno : l i s t ”56 l i s t a x = [ ]7 wh i l e numero > 0 :8 l i s t . append ( l i s t a x , ’ x ’ )9 numero = numero − 1

10 r e t u r n l i s t a x

exemplo1(2)

listax=[]

2 > 0 ⇒ Truelistax=[’x’]numero = 1

1 > 0 ⇒ Truelistax=[’x’,’x’]numero = 0

0 > 0

Joao Carlos, Carla Delgado, Ana Luisa Duboc

3/ 18

Page 14: Computação 1 - Python Aula 7 - Teórica Estrutura de ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula7_teorica.pdf · Aula 7 - Teo´rica Estrutura de Repetic¸˜ao com Teste

Estrutura de Repeticao while

1 de f exemplo1 ( numero ) :2 ”Funcao que c r i a uma l i s t a formada por s t r i n g s ’ x ’ . A quant i dade de s t r i n g s ’ x ’

e i g u a l a numero .3 Parametro de ent r ada : i n t4 Va l o r de Retorno : l i s t ”56 l i s t a x = [ ]7 wh i l e numero > 0 :8 l i s t . append ( l i s t a x , ’ x ’ )9 numero = numero − 1

10 r e t u r n l i s t a x

exemplo1(2)

listax=[]

2 > 0 ⇒ Truelistax=[’x’]numero = 1

1 > 0 ⇒ Truelistax=[’x’,’x’]numero = 0

0 > 0 ⇒ False

Joao Carlos, Carla Delgado, Ana Luisa Duboc

3/ 18

Page 15: Computação 1 - Python Aula 7 - Teórica Estrutura de ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula7_teorica.pdf · Aula 7 - Teo´rica Estrutura de Repetic¸˜ao com Teste

Estrutura de Repeticao while

1 de f exemplo1 ( numero ) :2 ”Funcao que c r i a uma l i s t a formada por s t r i n g s ’ x ’ . A quant i dade de s t r i n g s ’ x ’

e i g u a l a numero .3 Parametro de ent r ada : i n t4 Va l o r de Retorno : l i s t ”56 l i s t a x = [ ]7 wh i l e numero > 0 :8 l i s t . append ( l i s t a x , ’ x ’ )9 numero = numero − 1

10 r e t u r n l i s t a x

exemplo1(2)

listax=[]

2 > 0 ⇒ Truelistax=[’x’]numero = 1

1 > 0 ⇒ Truelistax=[’x’,’x’]numero = 0

0 > 0 ⇒ False

return [’x’,’x’]Joao Carlos, Carla Delgado, Ana Luisa Duboc

3/ 18

Page 16: Computação 1 - Python Aula 7 - Teórica Estrutura de ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula7_teorica.pdf · Aula 7 - Teo´rica Estrutura de Repetic¸˜ao com Teste

Estrutura de Repeticao while

while <condicao>:<sequencia de comandos>

A <condicao> e uma expressao ou dado do tipo booleano (True ouFalse), tal como os testes usados com o comando IF.

Estrutura tambem conhecida como laco de repeticao ou “loop”: obloco de comandos e sequencialmente repetido tantas vezes quanto oteste da condicao for verdadeiro.

Somente quando a condicao se torna falsa a proxima instrucao apos obloco de comandos associado ao while e executada (fim do laco).

Joao Carlos, Carla Delgado, Ana Luisa Duboc

4/ 18

Page 17: Computação 1 - Python Aula 7 - Teórica Estrutura de ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula7_teorica.pdf · Aula 7 - Teo´rica Estrutura de Repetic¸˜ao com Teste

Estrutura de Repeticao while

while <condicao>:<sequencia de comandos>

Se a <condicao> da estrutura while ja for falsa desde o inıcio, o bloco de<sequencia de comandos> associado a ela nunca e executado.

Deve haver algum processo dentro do bloco de <sequencia decomandos> que torne a condicao falsa e a repeticao seja encerrada, ouum erro GRAVE ocorrera: sua funcao ficara rodando para sempre!!

Joao Carlos, Carla Delgado, Ana Luisa Duboc

5/ 18

Page 18: Computação 1 - Python Aula 7 - Teórica Estrutura de ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula7_teorica.pdf · Aula 7 - Teo´rica Estrutura de Repetic¸˜ao com Teste

Estrutura de Repeticao while

1 de f e xemp l owh i l e 0 ( numero ) :23 ”Parametro de ent r ada : i n t4 Va l o r de Retorno : l i s t ”56 l i s t anum = [ ]7 wh i l e numero > 0 :8 l i s t anum [ numero−1] = numero9 numero = numero −1

10 r e t u r n l i s t anum

Qual o problema desta funcao?

Joao Carlos, Carla Delgado, Ana Luisa Duboc

6/ 18

Page 19: Computação 1 - Python Aula 7 - Teórica Estrutura de ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula7_teorica.pdf · Aula 7 - Teo´rica Estrutura de Repetic¸˜ao com Teste

Estrutura de Repeticao while

1 de f e xemp l owh i l e 0 ( numero ) :23 ”Parametro de ent r ada : i n t4 Va l o r de Retorno : l i s t ”56 l i s t anum = [ ]7 wh i l e numero > 0 :8 l i s t anum [ numero−1] = numero9 numero = numero −1

10 r e t u r n l i s t anum

Qual o problema desta funcao?

1 de f e xemp l owh i l e 1 ( numero ) :23 ”Parametro de ent r ada : i n t4 Va l o r de Retorno : l i s t ”56 l i s t anum = numero ∗ [ 0 ]7 wh i l e numero > 0 :8 l i s t anum [ numero−1] = numero9 numero = numero −1

10 r e t u r n l i s t anum

Joao Carlos, Carla Delgado, Ana Luisa Duboc

6/ 18

Page 20: Computação 1 - Python Aula 7 - Teórica Estrutura de ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula7_teorica.pdf · Aula 7 - Teo´rica Estrutura de Repetic¸˜ao com Teste

Estrutura de Repeticao while

1 de f e xemp l owh i l e 0 ( numero ) :23 ”Parametro de ent r ada : i n t4 Va l o r de Retorno : l i s t ”56 l i s t anum = [ ]7 wh i l e numero > 0 :8 l i s t anum [ numero−1] = numero9 numero = numero −1

10 r e t u r n l i s t anum

Qual o problema desta funcao?

1 de f e xemp l owh i l e 2 ( numero ) :23 ”Parametro de ent r ada : i n t4 Va l o r de Retorno : l i s t ”56 l i s t anum = [ ]7 wh i l e numero > 0 :8 l i s t . i n s e r t ( l i s t anum , 0 , numero )9 numero = numero −1

10 r e t u r n l i s t anum

Joao Carlos, Carla Delgado, Ana Luisa Duboc

7/ 18

Page 21: Computação 1 - Python Aula 7 - Teórica Estrutura de ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula7_teorica.pdf · Aula 7 - Teo´rica Estrutura de Repetic¸˜ao com Teste

Estrutura de Repeticao while

Exemplo

1 de f exemplo2 ( numero ) :23 ”Funcao que conta quantas ve z e s s e pode r e d u z i r em 1 o v a l o r do numero passado

como parametro a t e chega r a z e ro .4 Parametro de ent r ada : i n t5 Va l o r de r e t o r n o : s t r ”67 contador = 0 # v a r i a v e l c on tadora8 wh i l e numero > 0 :9 numero = numero − 1

10 contador = contador + 111 r e t u r n ”A funcao rodou ” + s t r ( c ontador ) + ” ve ze s . ”

Joao Carlos, Carla Delgado, Ana Luisa Duboc

8/ 18

Page 22: Computação 1 - Python Aula 7 - Teórica Estrutura de ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula7_teorica.pdf · Aula 7 - Teo´rica Estrutura de Repetic¸˜ao com Teste

Estrutura de Repeticao while

Faca uma funcao que determina a soma de todos os numeros paresdesde 100 ate 200.

Joao Carlos, Carla Delgado, Ana Luisa Duboc

9/ 18

Page 23: Computação 1 - Python Aula 7 - Teórica Estrutura de ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula7_teorica.pdf · Aula 7 - Teo´rica Estrutura de Repetic¸˜ao com Teste

Estrutura de Repeticao while

Faca uma funcao que determina a soma de todos os numeros paresdesde 100 ate 200.

1 de f somaPares ( ) :23 ”Funcao que c a l c u l a a soma dos numeros pa r e s de 100 a 2004 Parametro de ent r ada : nao tem5 Va l o r de r e t o r n o : i n t ”67 soma = 0 # v a r i a v e l acumuladora8 contador = 100 # o contador nao p r e c i s a comecar de ze ro9 wh i l e c ontador <= 200 :

10 soma = soma + contador11 contador = contador + 2 # o contador nao p r e c i s a i r de 1 em 112 r e t u r n soma

Joao Carlos, Carla Delgado, Ana Luisa Duboc

9/ 18

Page 24: Computação 1 - Python Aula 7 - Teórica Estrutura de ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula7_teorica.pdf · Aula 7 - Teo´rica Estrutura de Repetic¸˜ao com Teste

Estrutura de Repeticao while

A funcao abaixo apresenta algum problema?

1 de f exemplo3 ( ) :23 ”Parametro de ent r ada : nao tem4 Va l o r de r e t o r n o : i n t ”56 x = 107 wh i l e x > 8 :8 x = x+ 29 r e t u r n x

Joao Carlos, Carla Delgado, Ana Luisa Duboc

10/ 18

Page 25: Computação 1 - Python Aula 7 - Teórica Estrutura de ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula7_teorica.pdf · Aula 7 - Teo´rica Estrutura de Repetic¸˜ao com Teste

Estrutura de Repeticao while

A funcao abaixo apresenta algum problema?

1 de f exemplo3 ( ) :23 ”Parametro de ent r ada : nao tem4 Va l o r de r e t o r n o : i n t ”56 x = 107 wh i l e x > 8 :8 x = x+ 29 r e t u r n x

Sendo X igual a 10, o teste X > 8 e inicialmente verdadeiro.

Enquanto a condicao for verdadeira, apenas o comandoX = X + 2 sera executado. Porem incrementar a variavel Xnao altera a validade da condicao X > 8.

Logo, a repeticao segue indefinidamente! (Loop infinito)

Joao Carlos, Carla Delgado, Ana Luisa Duboc

10/ 18

Page 26: Computação 1 - Python Aula 7 - Teórica Estrutura de ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula7_teorica.pdf · Aula 7 - Teo´rica Estrutura de Repetic¸˜ao com Teste

Estrutura de Repeticao while

O que faz a seguinte funcao ?

1 de f soma ( numero ) :23 ”Parametro de ent r ada : i n t4 Va l o r de r e t o r n o : i n t ”56 soma = 07 contador = 08 wh i l e c ontador < numero :9 soma = soma + contador

10 contador = contador + 111 r e t u r n soma

Joao Carlos, Carla Delgado, Ana Luisa Duboc

11/ 18

Page 27: Computação 1 - Python Aula 7 - Teórica Estrutura de ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula7_teorica.pdf · Aula 7 - Teo´rica Estrutura de Repetic¸˜ao com Teste

Estrutura de Repeticao while

Faca uma funcao que gere numeros aleatorios entre 1 e 10 e calcule a soma destesnumeros ate que seja gerado o numero 5.Use a funcao randint(inicio,fim) do modulo random para gerar um numero aleatorio,onde os valores de (inıcio,fim) representam o intervalo desejado para os numeros aserem gerados.Exemplo: randint(1,10) → gera um numero aleatorio entre 1 e 10, inclusive.

Joao Carlos, Carla Delgado, Ana Luisa Duboc

12/ 18

Page 28: Computação 1 - Python Aula 7 - Teórica Estrutura de ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula7_teorica.pdf · Aula 7 - Teo´rica Estrutura de Repetic¸˜ao com Teste

Estrutura de Repeticao while

Faca uma funcao que gere numeros aleatorios entre 1 e 10 e calcule a soma destesnumeros ate que seja gerado o numero 5.Use a funcao randint(inicio,fim) do modulo random para gerar um numero aleatorio,onde os valores de (inıcio,fim) representam o intervalo desejado para os numeros aserem gerados.Exemplo: randint(1,10) → gera um numero aleatorio entre 1 e 10, inclusive.

1 from random import r a nd i n t23 de f somaA l e a to r i a ( ) :45 ”Parametro de ent r ada : nao tem6 Va l o r de r e t o r n o : i n t ”78 soma = 09 numero = r and i n t ( 1 , 10)

10 wh i l e numero != 5 :11 soma = soma + numero12 numero = r and i n t ( 1 , 10)13 r e t u r n soma

Joao Carlos, Carla Delgado, Ana Luisa Duboc

12/ 18

Page 29: Computação 1 - Python Aula 7 - Teórica Estrutura de ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula7_teorica.pdf · Aula 7 - Teo´rica Estrutura de Repetic¸˜ao com Teste

Estrutura de Repeticao while

Faca uma funcao que gere numeros aleatorios entre 1 e 10 e calcule a soma destesnumeros ate que seja gerado o numero 5.Use a funcao randint(inicio,fim) do modulo random para gerar um numero aleatorio,onde os valores de (inıcio,fim) representam o intervalo desejado para os numeros aserem gerados.Exemplo: randint(1,10) → gera um numero aleatorio entre 1 e 10, inclusive.

Solucao usando listas.

1 from random import r a nd i n t23 de f somaA l e a to r i a ( ) :45 ”Parametro de ent r ada : nao tem6 Va l o r de r e t o r n o : i n t ”78 l i s t a = [ ]9 numero = r and i n t ( 1 , 10)

10 wh i l e numero != 5 :11 l i s t . append ( l i s t a , numero )12 numero = r and i n t ( 1 , 10)13 r e t u r n sum ( l i s t a )

Joao Carlos, Carla Delgado, Ana Luisa Duboc

13/ 18

Page 30: Computação 1 - Python Aula 7 - Teórica Estrutura de ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula7_teorica.pdf · Aula 7 - Teo´rica Estrutura de Repetic¸˜ao com Teste

Estrutura de Repeticao while

Faca uma funcao que some 10 numeros gerados aleatoriamente no intervalo de1 a 5.

Joao Carlos, Carla Delgado, Ana Luisa Duboc

14/ 18

Page 31: Computação 1 - Python Aula 7 - Teórica Estrutura de ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula7_teorica.pdf · Aula 7 - Teo´rica Estrutura de Repetic¸˜ao com Teste

Estrutura de Repeticao while

Faca uma funcao que some 10 numeros gerados aleatoriamente no intervalo de1 a 5.

1 from random import r a nd i n t23 de f soma10 ( ) :45 ”Parametro de ent r ada : nao tem6 Va l o r de r e t o r n o : i n t ”78 soma = 09 contador = 0

10 wh i l e c ontador < 10 :11 numero = r and i n t ( 1 , 5 )12 soma = soma + numero13 contador = contador + 114 r e t u r n soma

Joao Carlos, Carla Delgado, Ana Luisa Duboc

14/ 18

Page 32: Computação 1 - Python Aula 7 - Teórica Estrutura de ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula7_teorica.pdf · Aula 7 - Teo´rica Estrutura de Repetic¸˜ao com Teste

Estrutura de Repeticao while

Para cada um dos itens abaixo, faca uma tabela mostrando os valores que i , j e n

assumem depois de cada execucao do laco while.

def ...i = 0j = 10n = 0while i < j:

i = i + 1j = j - 1n = n + 1

def ...i = 0j = 0n = 0while i < 10:

i = i + 1n = n + i + jj = j + 1

Joao Carlos, Carla Delgado, Ana Luisa Duboc

15/ 18

Page 33: Computação 1 - Python Aula 7 - Teórica Estrutura de ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula7_teorica.pdf · Aula 7 - Teo´rica Estrutura de Repetic¸˜ao com Teste

Estrutura de Repeticao while

Faca uma funcao que dada uma lista de tamanho desconhecidocontendo as notas de uma turma de alunos, retorne a media dessasnotas.

Joao Carlos, Carla Delgado, Ana Luisa Duboc

16/ 18

Page 34: Computação 1 - Python Aula 7 - Teórica Estrutura de ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula7_teorica.pdf · Aula 7 - Teo´rica Estrutura de Repetic¸˜ao com Teste

Autores

Joao C. P. da Silva Lattes

Carla Delgado Lattes

Ana Luisa Duboc Lattes

Colaboradores

Fabio Mascarenhas Lattes

Anamaria Martins Moreira Lattes

Leonardo de Oliveira Carvalho Lattes

Charles Figueiredo de Barros Lattes

Fabrıcio Firmino de Faria Lattes

Joao Carlos, Carla Delgado, Ana Luisa Duboc

17/ 18

Page 35: Computação 1 - Python Aula 7 - Teórica Estrutura de ...jacarepagua.dcc.ufrj.br/~ladybug/aulas-python1/aula7_teorica.pdf · Aula 7 - Teo´rica Estrutura de Repetic¸˜ao com Teste

Computacao 1 - Python

Aula 7 - Teorica

Estrutura de Repeticao com Teste de Parada:

while

Joao Carlos, Carla Delgado, Ana Luisa Duboc

18/ 18