Buscar

APC1-COM110 Out2020 3B Gab Prova

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 4 páginas

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

Prévia do material em texto

GABARITO 
DISCIPLINA 
COM110 - Algoritmos e Programação de Computadores I 
APLICAÇÃO 
01/10/2020 
CÓDIGO 
DA PROVA P001/P002 
 
QUESTÕES OBJETIVAS 
Questão 1.1 
Em Python, o resultado da expressão: 
 
4 // 3 ** 3 <= 5 % 3 
 
será: 
a) Verdadeiro 
b) Falso 
c) 0 
d) 2 
 
RESOLUÇÃO 
A resposta correta é: Verdadeiro 
 
Justificativa 
Primeiramente, as expressões do lado esquerdo e direito do operador relacional são resolvidas. Do 
lado esquerdo, o operador ** tem precedência sobre o //, então é realizado o cálculo 4 // 27, que dá 0. 
Assim, temos: 0 <= 2. Em seguida, resolve-se a expressão relacional, que dá verdadeiro. 
 
 
Questão 1.2 
Dada uma lista definida como: 
 
lista = [[1], [[2, 3], 4], 5, [], [6, 7], [[8]], [9, 10]] 
 
Assinale a alternativa que corresponde ao comando que irá retornar o número 1: 
a) lista[0] 
b) lista[0][0] 
c) lista[0][1] 
d) lista[1][1] 
 
RESOLUÇÃO 
A resposta correta é: lista[0][0] 
 
Justificativa 
O elemento 1 está na posição 0 da lista principal, mas é formado por outra lista de 1 único elemento - 
por isso é necessário o segundo indexador. 
 
Questão 1.3 
Considere o seguinte trecho de código em Python: 
 
soma = 0 
for i in range(1, 10): 
 if i % 2 == 0: 
 soma += i 
 else: 
 soma -= i 
print(soma) 
 
O programa irá imprimir: 
a) -5 
b) 20 
c) -25 
d) 0 
 
RESOLUÇÃO 
A resposta correta é: -5 
 
Justificativa 
O programa realiza a soma de todos os elementos pares de 1 a 9, e subtrai pela soma de todos 
elementos ímpares de 1 a 9. 
 
 
Questão 1.4 
Considere o seguinte trecho de código em Python: 
 
def func(x, y): 
 x, y = y, x 
 
x = 2 
y = 3 
func(x, y) 
print(x, y) 
 
O programa irá imprimir: 
a) 2 3 
b) 3 2 
c) 2 2 
d) 3 3 
 
RESOLUÇÃO 
A resposta correta é: 2 3 
 
 
Justificativa 
A passagem de parâmetros em Python é sempre por valor, indicando que qualquer alteração nos 
parâmetros dentro da função não afeta os argumentos. 
 
 
QUESTÕES DISSERTATIVAS 
 
Questão 2 
A média harmônica amortizada é definida como: 
 
𝐻 = 
𝑁
∑ 
1
𝑛𝑖 + 𝑋
𝑁
𝑖=1
− 𝑋 
 
onde N é o número de notas a serem usadas na média, ni é a i-ésima nota, e X é o fator de 
amortização. Implemente uma função em Python que calcule a média de 3 notas de um aluno 
digitadas no teclado, com fator de amortização igual a 4. Em seguida, informe se o aluno passou 
(média >= 5) ou não (média < 5). 
 
RESOLUÇÃO 
A resolução para essa questão pode ser: 
 
def calcula_media(n1, n2, n3): 
 media = (3 / ((1/(n1+4)) + (1/(n2+4)) + (1/(n3+4)))) - 4 
 return media 
 
n1 = input('Digite a nota 1: ') 
n2 = input('Digite a nota 2: ') 
n3 = input('Digite a nota 3: ') 
n1 = eval(n1) 
n2 = eval(n2) 
n3 = eval(n3) 
media = calcula_media(n1, n2, n3) 
if media >= 5: 
 print('Você passou, sua média é ', media) 
else: 
 print('Você não passou, sua média é ', media) 
 
Rubricas | critérios de correção 
Considerar: 
10% - lê as notas do teclado 
10% - usa a função eval ou outro mecanismo de tratamento de string para transformar a entrada em 
número 
50% - calcula a média corretamente. 
30% - usa a estrutura if para informar se o aluno passou ou não. 
 
Descontar: 
10% - aluno chama a função incorretamente. 
20% - aluno não define a função explicitamente. 
Questão 3 
Implemente uma função em Python que receba uma string como parâmetro e imprima as vogais dessa 
string. Exemplo: string ‘univesp’ → deve imprimir os caracteres ‘u’, ‘i’ e ‘e’. 
 
RESOLUÇÃO 
def vogais(str): 
 for i in range(len(str)): 
 if str[i] in 'aeiouAEIOU': 
 print(str[i]) 
vogais('univesp') 
 
Rubricas | critérios de correção 
30% - sintaxe 
70% - função implementada corretamente 
 
Descontar: 
10% - aluno chama a função incorretamente. 
20% - aluno não define a função explicitamente. 
20% - aluno só considera vogais minúsculas ou maiúsculas.

Mais conteúdos dessa disciplina