computação i - python aula 7 - teórica: estrutura de ... · estrutura de repetic¸˜ao while...
TRANSCRIPT
![Page 1: Computação I - Python Aula 7 - Teórica: Estrutura de ... · Estrutura de Repetic¸˜ao while Permite que o programador especifique que a func¸ao deve repetir um conjunto de comandos](https://reader033.vdocuments.net/reader033/viewer/2022051606/601cda206f4dbe58687f12e4/html5/thumbnails/1.jpg)
Computacao I - Python
Aula 7 - Teorica: Estrutura de Repeticao com Teste de
Parada: while
Joao C. P. da Silva
Carla A. D. M. Delgado
Ana Luisa Duboc
Dept. Ciencia da Computacao - UFRJ
http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 7 1 / 17
![Page 2: Computação I - Python Aula 7 - Teórica: Estrutura de ... · Estrutura de Repetic¸˜ao while Permite que o programador especifique que a func¸ao deve repetir um conjunto de comandos](https://reader033.vdocuments.net/reader033/viewer/2022051606/601cda206f4dbe58687f12e4/html5/thumbnails/2.jpg)
Estrutura de Repeticao while
Permite que o programador especifique que a funcao deve repetir umconjunto de comandos enquanto uma dada condicao for verdadeira.
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
http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 7 2 / 17
![Page 3: Computação I - Python Aula 7 - Teórica: Estrutura de ... · Estrutura de Repetic¸˜ao while Permite que o programador especifique que a func¸ao deve repetir um conjunto de comandos](https://reader033.vdocuments.net/reader033/viewer/2022051606/601cda206f4dbe58687f12e4/html5/thumbnails/3.jpg)
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)
http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 7 3 / 17
![Page 4: Computação I - Python Aula 7 - Teórica: Estrutura de ... · Estrutura de Repetic¸˜ao while Permite que o programador especifique que a func¸ao deve repetir um conjunto de comandos](https://reader033.vdocuments.net/reader033/viewer/2022051606/601cda206f4dbe58687f12e4/html5/thumbnails/4.jpg)
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=[]
http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 7 3 / 17
![Page 5: Computação I - Python Aula 7 - Teórica: Estrutura de ... · Estrutura de Repetic¸˜ao while Permite que o programador especifique que a func¸ao deve repetir um conjunto de comandos](https://reader033.vdocuments.net/reader033/viewer/2022051606/601cda206f4dbe58687f12e4/html5/thumbnails/5.jpg)
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
http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 7 3 / 17
![Page 6: Computação I - Python Aula 7 - Teórica: Estrutura de ... · Estrutura de Repetic¸˜ao while Permite que o programador especifique que a func¸ao deve repetir um conjunto de comandos](https://reader033.vdocuments.net/reader033/viewer/2022051606/601cda206f4dbe58687f12e4/html5/thumbnails/6.jpg)
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
http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 7 3 / 17
![Page 7: Computação I - Python Aula 7 - Teórica: Estrutura de ... · Estrutura de Repetic¸˜ao while Permite que o programador especifique que a func¸ao deve repetir um conjunto de comandos](https://reader033.vdocuments.net/reader033/viewer/2022051606/601cda206f4dbe58687f12e4/html5/thumbnails/7.jpg)
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
listax=[’x’]
http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 7 3 / 17
![Page 8: Computação I - Python Aula 7 - Teórica: Estrutura de ... · Estrutura de Repetic¸˜ao while Permite que o programador especifique que a func¸ao deve repetir um conjunto de comandos](https://reader033.vdocuments.net/reader033/viewer/2022051606/601cda206f4dbe58687f12e4/html5/thumbnails/8.jpg)
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
listax=[’x’]numero = 1
http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 7 3 / 17
![Page 9: Computação I - Python Aula 7 - Teórica: Estrutura de ... · Estrutura de Repetic¸˜ao while Permite que o programador especifique que a func¸ao deve repetir um conjunto de comandos](https://reader033.vdocuments.net/reader033/viewer/2022051606/601cda206f4dbe58687f12e4/html5/thumbnails/9.jpg)
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
listax=[’x’]numero = 1
1 > 0
http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 7 3 / 17
![Page 10: Computação I - Python Aula 7 - Teórica: Estrutura de ... · Estrutura de Repetic¸˜ao while Permite que o programador especifique que a func¸ao deve repetir um conjunto de comandos](https://reader033.vdocuments.net/reader033/viewer/2022051606/601cda206f4dbe58687f12e4/html5/thumbnails/10.jpg)
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
listax=[’x’]numero = 1
1 > 0 ⇒ True
http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 7 3 / 17
![Page 11: Computação I - Python Aula 7 - Teórica: Estrutura de ... · Estrutura de Repetic¸˜ao while Permite que o programador especifique que a func¸ao deve repetir um conjunto de comandos](https://reader033.vdocuments.net/reader033/viewer/2022051606/601cda206f4dbe58687f12e4/html5/thumbnails/11.jpg)
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
listax=[’x’]numero = 1
1 > 0 ⇒ True
listax=[’x’,’x’]
http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 7 3 / 17
![Page 12: Computação I - Python Aula 7 - Teórica: Estrutura de ... · Estrutura de Repetic¸˜ao while Permite que o programador especifique que a func¸ao deve repetir um conjunto de comandos](https://reader033.vdocuments.net/reader033/viewer/2022051606/601cda206f4dbe58687f12e4/html5/thumbnails/12.jpg)
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
listax=[’x’]numero = 1
1 > 0 ⇒ True
listax=[’x’,’x’]numero = 0
http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 7 3 / 17
![Page 13: Computação I - Python Aula 7 - Teórica: Estrutura de ... · Estrutura de Repetic¸˜ao while Permite que o programador especifique que a func¸ao deve repetir um conjunto de comandos](https://reader033.vdocuments.net/reader033/viewer/2022051606/601cda206f4dbe58687f12e4/html5/thumbnails/13.jpg)
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
listax=[’x’]numero = 1
1 > 0 ⇒ True
listax=[’x’,’x’]numero = 0
0 > 0
http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 7 3 / 17
![Page 14: Computação I - Python Aula 7 - Teórica: Estrutura de ... · Estrutura de Repetic¸˜ao while Permite que o programador especifique que a func¸ao deve repetir um conjunto de comandos](https://reader033.vdocuments.net/reader033/viewer/2022051606/601cda206f4dbe58687f12e4/html5/thumbnails/14.jpg)
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
listax=[’x’]numero = 1
1 > 0 ⇒ True
listax=[’x’,’x’]numero = 0
0 > 0 ⇒ False
http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 7 3 / 17
![Page 15: Computação I - Python Aula 7 - Teórica: Estrutura de ... · Estrutura de Repetic¸˜ao while Permite que o programador especifique que a func¸ao deve repetir um conjunto de comandos](https://reader033.vdocuments.net/reader033/viewer/2022051606/601cda206f4dbe58687f12e4/html5/thumbnails/15.jpg)
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
listax=[’x’]numero = 1
1 > 0 ⇒ True
listax=[’x’,’x’]numero = 0
0 > 0 ⇒ False
return [’x’,’x’]
http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 7 3 / 17
![Page 16: Computação I - Python Aula 7 - Teórica: Estrutura de ... · Estrutura de Repetic¸˜ao while Permite que o programador especifique que a func¸ao deve repetir um conjunto de comandos](https://reader033.vdocuments.net/reader033/viewer/2022051606/601cda206f4dbe58687f12e4/html5/thumbnails/16.jpg)
Estrutura de Repeticao while
while <condicao>:<sequencia de comandos>
A <condicao> e uma expressao ou dado do tipo booleano (True ou False), talcomo os testes usados com o comando IF.
Estrutura tambem conhecida como laco de repeticao ou “loop”: o bloco decomandos e sequencialmente repetido tantas vezes quanto o teste da condicao forverdadeiro.
Somente quando a condicao se torna falsa a proxima instrucao apos o bloco decomandos associado ao while e executada (fim do laco).
http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 7 4 / 17
![Page 17: Computação I - Python Aula 7 - Teórica: Estrutura de ... · Estrutura de Repetic¸˜ao while Permite que o programador especifique que a func¸ao deve repetir um conjunto de comandos](https://reader033.vdocuments.net/reader033/viewer/2022051606/601cda206f4dbe58687f12e4/html5/thumbnails/17.jpg)
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 de comandos> quetorne a condicao falsa e a repeticao seja encerrada, ou um erro GRAVE ocorrera:sua funcao ficara rodando para sempre!!
http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 7 5 / 17
![Page 18: Computação I - Python Aula 7 - Teórica: Estrutura de ... · Estrutura de Repetic¸˜ao while Permite que o programador especifique que a func¸ao deve repetir um conjunto de comandos](https://reader033.vdocuments.net/reader033/viewer/2022051606/601cda206f4dbe58687f12e4/html5/thumbnails/18.jpg)
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?
http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 7 6 / 17
![Page 19: Computação I - Python Aula 7 - Teórica: Estrutura de ... · Estrutura de Repetic¸˜ao while Permite que o programador especifique que a func¸ao deve repetir um conjunto de comandos](https://reader033.vdocuments.net/reader033/viewer/2022051606/601cda206f4dbe58687f12e4/html5/thumbnails/19.jpg)
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
http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 7 6 / 17
![Page 20: Computação I - Python Aula 7 - Teórica: Estrutura de ... · Estrutura de Repetic¸˜ao while Permite que o programador especifique que a func¸ao deve repetir um conjunto de comandos](https://reader033.vdocuments.net/reader033/viewer/2022051606/601cda206f4dbe58687f12e4/html5/thumbnails/20.jpg)
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
http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 7 7 / 17
![Page 21: Computação I - Python Aula 7 - Teórica: Estrutura de ... · Estrutura de Repetic¸˜ao while Permite que o programador especifique que a func¸ao deve repetir um conjunto de comandos](https://reader033.vdocuments.net/reader033/viewer/2022051606/601cda206f4dbe58687f12e4/html5/thumbnails/21.jpg)
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 . ”
http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 7 8 / 17
![Page 22: Computação I - Python Aula 7 - Teórica: Estrutura de ... · Estrutura de Repetic¸˜ao while Permite que o programador especifique que a func¸ao deve repetir um conjunto de comandos](https://reader033.vdocuments.net/reader033/viewer/2022051606/601cda206f4dbe58687f12e4/html5/thumbnails/22.jpg)
Estrutura de Repeticao while
Faca uma funcao que determina a soma de todos os numeros pares desde100 ate 200.
http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 7 9 / 17
![Page 23: Computação I - Python Aula 7 - Teórica: Estrutura de ... · Estrutura de Repetic¸˜ao while Permite que o programador especifique que a func¸ao deve repetir um conjunto de comandos](https://reader033.vdocuments.net/reader033/viewer/2022051606/601cda206f4dbe58687f12e4/html5/thumbnails/23.jpg)
Estrutura de Repeticao while
Faca uma funcao que determina a soma de todos os numeros pares desde100 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
http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 7 9 / 17
![Page 24: Computação I - Python Aula 7 - Teórica: Estrutura de ... · Estrutura de Repetic¸˜ao while Permite que o programador especifique que a func¸ao deve repetir um conjunto de comandos](https://reader033.vdocuments.net/reader033/viewer/2022051606/601cda206f4dbe58687f12e4/html5/thumbnails/24.jpg)
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
http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 7 10 / 17
![Page 25: Computação I - Python Aula 7 - Teórica: Estrutura de ... · Estrutura de Repetic¸˜ao while Permite que o programador especifique que a func¸ao deve repetir um conjunto de comandos](https://reader033.vdocuments.net/reader033/viewer/2022051606/601cda206f4dbe58687f12e4/html5/thumbnails/25.jpg)
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 comando X = X + 2sera executado. Porem incrementar a variavel X nao altera a validadeda condicao X > 8.
Logo, a repeticao segue indefinidamente! (Loop infinito)
http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 7 10 / 17
![Page 26: Computação I - Python Aula 7 - Teórica: Estrutura de ... · Estrutura de Repetic¸˜ao while Permite que o programador especifique que a func¸ao deve repetir um conjunto de comandos](https://reader033.vdocuments.net/reader033/viewer/2022051606/601cda206f4dbe58687f12e4/html5/thumbnails/26.jpg)
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
http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 7 11 / 17
![Page 27: Computação I - Python Aula 7 - Teórica: Estrutura de ... · Estrutura de Repetic¸˜ao while Permite que o programador especifique que a func¸ao deve repetir um conjunto de comandos](https://reader033.vdocuments.net/reader033/viewer/2022051606/601cda206f4dbe58687f12e4/html5/thumbnails/27.jpg)
Estrutura de Repeticao while
Faca uma funcao que gere numeros aleatorios entre 1 e 10 e calcule a soma destes numeros ateque seja gerado o numero 5.Use a funcao randint(inicio,fim) do modulo random para gerar um numero aleatorio, onde osvalores de (inıcio,fim) representam o intervalo desejado para os numeros a serem gerados.Exemplo: randint(1,10) → gera um numero aleatorio entre 1 e 10, inclusive.
http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 7 12 / 17
![Page 28: Computação I - Python Aula 7 - Teórica: Estrutura de ... · Estrutura de Repetic¸˜ao while Permite que o programador especifique que a func¸ao deve repetir um conjunto de comandos](https://reader033.vdocuments.net/reader033/viewer/2022051606/601cda206f4dbe58687f12e4/html5/thumbnails/28.jpg)
Estrutura de Repeticao while
Faca uma funcao que gere numeros aleatorios entre 1 e 10 e calcule a soma destes numeros ateque seja gerado o numero 5.Use a funcao randint(inicio,fim) do modulo random para gerar um numero aleatorio, onde osvalores de (inıcio,fim) representam o intervalo desejado para os numeros a serem 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
http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 7 12 / 17
![Page 29: Computação I - Python Aula 7 - Teórica: Estrutura de ... · Estrutura de Repetic¸˜ao while Permite que o programador especifique que a func¸ao deve repetir um conjunto de comandos](https://reader033.vdocuments.net/reader033/viewer/2022051606/601cda206f4dbe58687f12e4/html5/thumbnails/29.jpg)
Estrutura de Repeticao while
Faca uma funcao que gere numeros aleatorios entre 1 e 10 e calcule a soma destes numeros ateque seja gerado o numero 5.Use a funcao randint(inicio,fim) do modulo random para gerar um numero aleatorio, onde osvalores de (inıcio,fim) representam o intervalo desejado para os numeros a serem 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 )
http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 7 13 / 17
![Page 30: Computação I - Python Aula 7 - Teórica: Estrutura de ... · Estrutura de Repetic¸˜ao while Permite que o programador especifique que a func¸ao deve repetir um conjunto de comandos](https://reader033.vdocuments.net/reader033/viewer/2022051606/601cda206f4dbe58687f12e4/html5/thumbnails/30.jpg)
Estrutura de Repeticao while
Faca uma funcao que some 10 numeros gerados aleatoriamente no intervalo de 1 a 5.
http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 7 14 / 17
![Page 31: Computação I - Python Aula 7 - Teórica: Estrutura de ... · Estrutura de Repetic¸˜ao while Permite que o programador especifique que a func¸ao deve repetir um conjunto de comandos](https://reader033.vdocuments.net/reader033/viewer/2022051606/601cda206f4dbe58687f12e4/html5/thumbnails/31.jpg)
Estrutura de Repeticao while
Faca uma funcao que some 10 numeros gerados aleatoriamente no intervalo de 1 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
http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 7 14 / 17
![Page 32: Computação I - Python Aula 7 - Teórica: Estrutura de ... · Estrutura de Repetic¸˜ao while Permite que o programador especifique que a func¸ao deve repetir um conjunto de comandos](https://reader033.vdocuments.net/reader033/viewer/2022051606/601cda206f4dbe58687f12e4/html5/thumbnails/32.jpg)
Estrutura de Repeticao while
Para cada um dos itens abaixo, faca uma tabela mostrando os valores que i , j e n assumemdepois 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
http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 7 15 / 17
![Page 33: Computação I - Python Aula 7 - Teórica: Estrutura de ... · Estrutura de Repetic¸˜ao while Permite que o programador especifique que a func¸ao deve repetir um conjunto de comandos](https://reader033.vdocuments.net/reader033/viewer/2022051606/601cda206f4dbe58687f12e4/html5/thumbnails/33.jpg)
Estrutura de Repeticao while
Faca uma funcao que dada uma lista de tamanho desconhecido contendoas notas de uma turma de alunos, retorne a media dessas notas.
http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 7 16 / 17
![Page 34: Computação I - Python Aula 7 - Teórica: Estrutura de ... · Estrutura de Repetic¸˜ao while Permite que o programador especifique que a func¸ao deve repetir um conjunto de comandos](https://reader033.vdocuments.net/reader033/viewer/2022051606/601cda206f4dbe58687f12e4/html5/thumbnails/34.jpg)
Autores
Joao C. P. da Silva Lattes
Carla Delgado Lattes
Ana Luisa Duboc Lattes
Colaboradores
Anamaria Martins Moreira Lattes
Fabio Mascarenhas Lattes
Leonardo de Oliveira Carvalho Lattes
Charles Figueiredo de Barros Lattes
Fabrıcio Firmino de Faria Lattes
http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 7 17 / 17
![Page 35: Computação I - Python Aula 7 - Teórica: Estrutura de ... · Estrutura de Repetic¸˜ao while Permite que o programador especifique que a func¸ao deve repetir um conjunto de comandos](https://reader033.vdocuments.net/reader033/viewer/2022051606/601cda206f4dbe58687f12e4/html5/thumbnails/35.jpg)
Computacao I - Python
Aula 7 - Teorica: Estrutura de Repeticao com Teste de
Parada: while
Joao C. P. da Silva
Carla A. D. M. Delgado
Ana Luisa Duboc
Dept. Ciencia da Computacao - UFRJ
http://www.dcc.ufrj.br/˜pythonUFRJ/ Computacao I - Python Aula 7 18 / 17