Buscar

Lista04_EstruturasRepeticaoPython

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 3 páginas

Prévia do material em texto

1 
 
 
Universidade Federal do Amazonas 
Instituto de Computação 
IEC 037 – Introdução à Programação de Computadores 
2013/1 
Prof. Leandro Galvão 
Lista de Exercícios 04 – Estruturas de Repetição em Python 
 
1. Escreva um laço while para imprimir cada uma das seguintes situações: 
a. Todos os quadrados menores que n. Por exemplo, se n for 100, imprimir 0 1 4 9 16 25 36 49 64 81. 
b. Todos os números positivos que são divisíveis por 10 e menores que n. Por exemplo, se n for 100, 
imprimir 10 20 30 40 50 60 70 80 90. 
c. Todas as potências de dois menores que n. Por exemplo, se n for 100, imprimir 1 2 4 8 16 32 64. 
 
2. Escreva um laço que calcule 
a. A soma de todos os números pares entre 2 e 100 (inclusive). 
b. A soma de todos os quadrados entre 1 e 100 (inclusive). 
c. A soma de todos os números ímpares entre a e b. 
d. A soma de todos os dígitos ímpares de n. (Por exemplo, se n for 32677, a soma deve ser 3 + 7 + 7 = 
17). 
 
3. Forneça tabelas de rastreamento para os seguintes laços 
a. i = 0 
j = 10 
n = 0 
while i < j : 
i = i + 1 
j = j − 1 
n = n + 1 
 
b. i = 0 
j = 0 
n = 0 
while i < 10 : 
i = i + 1 
n = n + i + j 
j = j + 1 
c. i = 10 
j = 0 
n = 0 
while i > 0 : 
i = i – 1 
j = j + 1 
n = n + i ‐ j 
 
d. i = 0 
j = 10 
n = 0 
while i != j : 
i = i + 2 
j = j – 2 
n = n + 1 
 
4. O que estes laços imprimem? 
a. for i in range(1, 10) : 
print(i) 
b. for i in range(1, 10, 2) : 
print(i) 
c. for i in range(10, 1, ‐1) : 
print(i) 
d. for i in range(10) : 
print(i) 
e. for i in range(1, 10) : 
if i % 2 == 0 : 
print(i) 
2 
 
 
5. Quais estruturas de laço o Python suporta? Dê um exemplo simples de uso apropriado para cada tipo 
de laço. 
 
6. Quantas iterações os seguintes laços executam? 
a. for i in range(1, 11) . . . 
b. for i in range(10) . . . 
c. for i in range(10, 0, −1) . . . 
d. for i in range(−10, 11) . . . 
e. for i in range(10, 0) . . . 
f. for i in range(−10, 11, 2) . . . 
g. for i in range(−10, 11, 3) . . . 
 
7. Escreva um pseudocódigo para um programa que imprima um calendário como o seguinte: 
 
DOM  SEG  TER  QUA  QUI  SEX  SAB 
      1  2  3  4 
5  6  7  8  9  10  11 
12  13  14  15  16  17  18 
19  20  21  22  23  24  25 
26  27  28  29  30  32   
 
8. Reescreva o seguinte laço for com um laço while. 
 
s = 0 
for i in range(1, 10) : 
s = s + i 
 
9. Forneça tabelas de rastreamento das variáveis contidas nos seguintes laços. 
a. s = 1 
n = 1 
while s < 10 : 
s = s + n 
b. s = 1 
for n in range(1, 5) : 
s = s + n 
 
10. O  que  faz  os  seguintes  laços  imprimem?  Exercite  a  resposta  rastreando  o  código,  não  usando  o 
computador. 
 
a.  s = 1 
for n in range(1, 6) : 
s = s + n 
print(s) 
 
b. s = 1 
for n in range(1, 11) : 
n = n + 2 
s = s + n 
print(s) 
 
c. s = 1 
for n in range(1, 6) : 
s = s + n 
n = n + 1 
print(s, n) 
 
3 
 
11. O que os seguintes segmentos de programa  imprimem? Encontre as respostas, rastreando o código, 
não usando o computador. 
 
a. n = 1 
for i in range(2, 5) : 
n = n + i 
print(n) 
 
b. n = 1 / 2 
i = 2 
while i < 6 : 
n = n + 1 / i 
i = i + 1 
print(i) 
 
c. x = 1.0 
y = 1.0 
i = 0 
while y >= 1.5 : 
x = x / 2 
y = x + y 
i = i + 1 
print(i) 
 
12. O que são laços aninhados? Dê um exemplo onde um laço aninhado é normalmente usado. 
 
13. Os laços aninhados 
for i in range(height) : 
for j in range(width) : 
print("*", end="") 
print() 
 
apresentam um retângulo de uma dada largura e altura, tal como 
 **** 
 **** 
 **** 
Escreva um único laço que apresente o mesmo retângulo. 
 
14. Suponha  que  você  crie  um  jogo  educativo  para  ensinar  as  crianças  a  ler  um  relógio.  Como  gerar 
valores aleatórios para as horas e minutos? 
 
15. Em uma simulação de viagem, Harry vai visitar um dos seus 15 amigos que estão  localizados em três 
estados. Ele tem dez amigos na Bahia, três em Santa Catarina, e dois em Roraima. Como você produz 
um número aleatório entre 1 e 3, o que denota o estado de destino, com uma probabilidade que é 
proporcional ao número de amigos em cada estado? 
 
Fonte: 
Horstmann, Cay & Necaise, Rance D. (2013). Python for Everyone. John Wiley & Sons.

Outros materiais