Académique Documents
Professionnel Documents
Culture Documents
Aluno:
(a) (1,5 pt) Defina uma função que receba as 4 notas P 1, P 2, P 3 e P R e calcule e retorne
a média final do aluno de acordo com o critério de aprovação acima. Para escolher a
maior nota entre P 2 e P 3 use a função max definida em Python, que retorna o maior
de seus argumentos.
(b) (1,0 pt) Defina uma outra versão da mesma função sem usar a função max (e nem
min).
2. Considere a função total aprazo que, dados o valor a vista de um produto, a taxa de
juros mensal e o número de meses do parcelamento, devolve o custo final do produto.
(a) (1,0 pt) Usando a função total aprazo, defina uma função que calcule e retorne o
acréscimo anual ao preço à vista e a taxa de juros anual dados o preço à vista e a
taxa de juros mensal.
Chamada de função Valor de retorno
total aprazo(10, 0.1, 2)
(b) (1,5 pt) Complete a tabela a seguir:
total aprazo(10.0, 0.1, 2)
total aprazo(10.0, 0.1, "2")
3. (3,0 pt) A função datas a recebe duas datas no formato ”DD/MM/AAAA”e devolve o
número de dias passados da primeira para a segunda data (é assumido que a segunda
data é sempre posterior à primeira).
def datas(data1,data2):
dias1 = int(data1[:2]) + int(data1[3:5])*30 + (int(data1[6:])-1)*365
dias2 = int(data2[:2]) + int(data2[3:5])*30 + (int(data2[6:])-1)*365
return "O total de dias eh " + str(dias2 - dias1)
A função tempo a seguir usa a função datas e deveria calcular o número de minutos
passados a partir da primeira data e hora até a segunda data e hora recebidas como
argumentos. O formato de data1 e data2 é exatamente o especificado em datas e hora1
e hora2 seguem o formato ”HH:MM”. Não há restrição de ordem entre hora1 e hora2.
h1=int(hora1[0:2])
m1=int(hora1[3:])
h2=int(hora2[0:2])
m2=int(hora2[3:])
if h2 > h1:
dif = 60*(h2-h1) + m2 - m1
elif h2 == h1 and m2 > m1 or m2 < m1 or m2 == m1:
dif = m2 - m1
else:
dif = 60*(h1-h2) + m1 - m2
(a) Forneça 4 casos de teste (chamada, resultado esperado e resultado obtido com a
função), sendo que pelo menos um deles não deve fazer aparecer os defeitos e pelo
menos um deles deve ter o resultado influenciado por cada um dos defeitos.
Chamada de função Valor de retorno esperado Valor de retorno obtido
4. (2,0 pt) Defina uma função que, dado o diâmetro de uma bola e as 3 dimensões de uma
caixa (altura, largura e profundidade), diz se a bola de boliche cabe dentro da caixa ou não.
A entrada é fornecida através de 2 argumentos: (1) uma string com o formato ”diametro:
D”ou ”diametro: DD”, etc. (tantas posições quantas forem necessárias para representar
o diâmetro, que será sempre um valor inteiro) e (2) uma tupla de três elementos (já
numéricos) contendo respectivamente a altura, a largura e a profundidade da caixa. Todas
as medidas são em centı́metros. A resposta deve conter a informação sobre o diâmetro
da bola.