Baixe o app para aproveitar ainda mais
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.
Compartilhar