Buscar

Lista03_EstruturasCondicionaisPython

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 03 – Estruturas Condicionais em Python 
 
1 Qual é o valor de cada variável após o comando if? 
a. n = 1 
 k = 2 
 r = n 
 if k < n : 
 r = k 
 
b. n = 1 
 k = 2 
 if n < k : 
 r = k 
 else : 
 r = k + n 
 
c. n = 1 
 k = 2 
 r = k 
 if r < k : 
 n = r 
 else : 
 k = n 
 
d. n = 1 
 k = 2 
 r = 3 
 if r < n + k : 
 r = 2 * n 
 else : 
 k = 2 * r 
 
2 Explique a diferença entre: 
s = 0 
if x > 0 : 
s = s + 1 
if y > 0 : 
s = s + 1 
 
e 
 
s = 0 
if x > 0 : 
s = s + 1 
elif y > 0 : 
s = s + 1 
 
3 Encontre os erros nos seguintes comandos if. 
a. if x > 0 then 
print(x) 
 
b. if 1 + x > x ** sqrt(2) : 
y = y + x 
2 
 
 
c. if x = 1 : 
y += 1 
 
d. xStr = input("Digite um valor inteiro") 
 x = int(xStr) 
 if xStr.isdigit() : 
sum = sum + x 
 else : 
print("Entrada inválida para x") 
 
e. letterGrade = "F" 
 if grade >= 90 : 
letterGrade = "A" 
 if grade >= 80 : 
letterGrade = "B" 
 if grade >= 70 : 
letterGrade = "C" 
 if grade >= 60 : 
letterGrade = "d" 
 
4 O que estes fragmentos de código imprimem? 
a. n = 1 
 m = -1 
 if n < -m : 
print(n) 
 else : 
print(m) 
 
b. n = 1 
 m = −1 
 if −n >= m : 
print(n) 
 else : 
print(m) 
 
c. x = 0.0 
 y = 1.0 
 if abs(x - y) < 1 : 
print(x) 
 else : 
print(y) 
 
d. x = sqrt(2.0) 
 y = 2.0 
 if x * x == y : 
print(x) 
 else : 
print(y) 
 
5 Suponha que x e y são variáveis, cada uma contendo um número. Escreva um fragmento de código que define y para 
x, se x é positivo e 0 caso contrário. 
 
6 Suponha que x e y são variáveis, cada uma contendo um número. Escreva um fragmento de código que define y para 
o valor absoluto de x, sem chamar a função abs. Use o comando if. 
 
7 Explique por que é mais difícil comparar os números de ponto flutuante do que números inteiros. Escreva um código 
Python para testar se um número inteiro n é igual a 10 e se um número de ponto flutuante x é aproximadamente igual 
a 10. 
 
 
8 É 
 
Qua
 
O qu
 
9 Ca
O se
escu
 
 
 
 
 
 
 
 
 
 
 
Usan
 
10 D
 
11 E
Por 
desc
cons
 
 
 
 
 
 
 
 
 
 
 
 
 
Rast
13. 
 
12 F
 
13 F
 
14 F
fácil confund
if flo
al mensagem 
count 
ue acontece q
ada quadrado
eguinte pseud
uro (preto) ou
if the
 i
 
 e
 
else 
 i
 
 e
 
ndo o proced
Dê um conjun
Em um progr
exemplo, co
creve um alg
sulta com tem
if sta
 s
else 
 s
if end
 e
else 
 e
if s <
 T
else 
 T
treie esse alg
Faça um flux
Faça um flux
Faça um flux
dir os operad
oor = 13 
de erro você
== 0 
quando você
o no jogo de 
docódigo des
u claro (bran
e letter 
if the nu
col
else 
col
if the nu
col
else 
col
dimento em D
nto de quatro
rama de esca
nsultas come
oritmo que d
mpo inicial s
art1 > st
s = start
s = start
d1 < end2
e = end1 
e = end2 
< e 
The appoi
The appoi
goritmo com 
xograma para
xograma para
xograma para
dores = e ==.
ê obtém? Esc
ê roda o prog
xadrez pode
screve um al
nco). 
is an a,
umber is 
lor = "bla
lor = "whi
umber is 
lor = "bla
lor = "whi
Dica de Prog
o casos de te
alonamento, q
eçam em hor
determina se 
start2 e temp
tart2 
t1 
t2 
2 
intments 
intments 
uma consult
a o algoritmo
a o algoritmo
a o algoritmo
. Escreva um
creva outro p
grama? 
e ser descrito 
lgoritmo que
 c, e, o
odd 
ack" 
ite" 
even 
ack" 
ite" 
gramação 3.2
ste para o alg
queremos ch
rário cheio e 
a consulta c
o final end2.
overlap.
don’t ov
ta de 10-12 e
o do Exercíci
o do Exercíci
o do Exercíci
3 
m programa te
programa tes
o por uma letr
e determina s
or g 
2, rastreie ess
goritmo do E
hecar se duas
usamos tem
om tempo in
. 
. 
verlap. 
e uma de 11-
io 11. 
io 18. 
io 20. 
este contend
te contendo 
ra e número,
 
se um quadra
se pseudocód
Exercício 9 q
consultas se
mpo militar (0
nicial start1 e
13, depois co
o a sentença 
a sentença 
 como g5 ne
ado com uma
digo com a e
que envolve t
e sobrepõem.
0-24 horas). O
e tempo final
om uma con
a 
este exemplo
a letra ou núm
entrada g5. 
todos os ram
. 
O pseudocód
l end1 se sob
nsulta de 10-1
: 
mero específ
mos. 
digo seguinte
brepõe com a
11 e uma de 
fico é 
e 
a 
12-
4 
 
 
15 Desenvolva um grupo de casos de testes para o algoritmo no exercício 11 
 
16 Desenvolva um grupo de caso de testes para o algoritmo no exercício 20 
 
17 Escreva um pseudocódigo para um programa que leva o usuário percorrer por mês e dia e que mostre se é ou não 
um dos feriados citados em seguida: 
 Ano Novo (1 de Janeiro) 
 Dia da Independência (4 de Julho) 
 Dia dos Veteranos (11 de Novembro) 
 Natal (25 de Dezembro) 
 
18 Escreva um pseudocódigo para um programa que atribui notas em cartas para um quiz, de acordo com a tabela 
abaixo: 
Pontuação Nota 
90-100 A 
80-89 B 
70-79 C 
60-69 D 
< 60 F 
 
21 Explique a diferença entre a sequencia if/elif/else e declaração de if aninhado. Dê um exemplo de cada. 
 
22 Dê um exemplo de uma sequência if/elif/else onde a ordem dos testes não importa. Dê um exemplo onde a ordem 
dos testes importa. 
 
23 Reescreva a condição da Seção 3.4, também apresentada a seguir, para usar o operador < em vez do operador >=. 
Qual é o impacto sobre a ordem das comparações? 
if (richter >= 8.0): 
print("Maioria das estruturas caem.") 
else: 
if (richter >= 7.0): 
print("Muitos prédios destruídos.") 
else: 
if (richter >= 6.0): 
print("Muitos prédios consideravelmente danificados.") 
else: 
if (richter >= 4.5): 
print("Danos em edifícios mal construídos.") 
else: 
print("Sem destruição de edifícios.") 
 
24 Forneça um conjunto de casos de teste para o programa de imposto no Exercício P3.25. Calcule os resultados 
esperados manualmente. 
 
25 Complete a tabela verdade a seguir encontrando os valores corretos para as expressões booleanas para todas as 
combinações das entradas booleanas p, q e r. 
p q r (p and q) or not r not (p and (q or not r)) 
False False False 
False False True 
False True False 
. . . 
5 outras combinações 
. . . 
 
26 Verdadeiro ou falso? A e B é o mesmo que B e A para qualquer condição booleana A e B. 
 
5 
 
27 A “pesquisa avançada” de muitos motores de busca permite que você use operadores booleanos para consultas 
complexas, tais como “(cães OU gatos) E NÃO animais de estimação”. Contraste esses operadores de pesquisa com 
os operadores booleanos em Python. 
 
28 Suponha que o valor de b é Falso e o valor de x é 0. Qual é o valor de cada uma das seguintes expressões? 
a. b and x == 0 
b. b or x == 0 
c. not b and x == 0 
d. not b or x == 0 
e. b and x != 0 
f. b or x != 0 
g. not b and x != 0 
h. not b or x != 0 
 
30 Simplifique as seguintes declarações. Aqui, b é uma variável que contém um valor booleano e n uma variável que 
contém um valor inteiro. 
a. if n == 0 : 
b = True 
 else : 
b = False 
b. if n == 0 : 
b = False 
 else : 
b = True 
c. b = False 
if n > 1 : 
if n < 2 : 
b = True 
d. if n < 1 : 
b = True 
 else : 
b = n > 2 
 
31 O que está errado no seguinte programa? 
inputStr = input("Enter the number of quarters: ") 
quarters = int(inputStr) 
if inputStr.isdigit() : 
total = total + quarters * 0.25 
print("Total: ", total) 
else : 
print("Input error.") 
 
 
Fonte: 
Horstmann, Cay & Necaise, RanceD. (2013). Python for Everyone. John Wiley & Sons.

Continue navegando