Prova Sub é aberta?

Prova Sub é aberta?

por Sinvaldo da Rocha Junior -
Número de respostas: 3

Alguém saberia informar se a prova Sub é aberta ou fechada?

Em resposta à Sinvaldo da Rocha Junior

Re: Prova Sub é aberta?

por William Hage Chain -

Pelo o que eu entendi do critério de avaliação a nota da PSub é a média aritmética da suas notas das provinhas (aquelas que a gente faz toda quinta e duram 10 min).

Em resposta à William Hage Chain

Re: Prova Sub é aberta?

por Sinvaldo da Rocha Junior -
Em resposta à Sinvaldo da Rocha Junior

Re: Prova Sub é aberta?

por Wilson Marco Sales Moncayo -

Leia a página mencionada no comentário acima. Nela, você verá que independente de ter ou não faltado uma, duas, ou três provas, a média final das provas (ainda há a dos EPs) será a máxima possível substituindo-se uma das três notas pela média aritmética das notas das provinhas. Se, por exemplo, um aluno A tiver média 7.6 nas provinhas feitas em sala de aula e tiver feito todas as três provas, obtendo notas 8.2, 6, e 6.5, sua média final das provas será (8.2 + 7.6 + 6.5)/3, já que esta média é maior que (8.2 + 6 + 7.6)/3.

Creio eu que todo mundo pode fazer as provinhas e ter sua nota aumentada por elas quando possível. Leia a página de informações gerais, seções sobre EPs, Provinhas, e Provas.

Lá você encontrará um exemplo do uso da função max(), que vimos em sala de aula. Sugiro brincar no interpretador de Python com alguns valores:

def media_das_provas(p1, p2, p3, mp):
''' (float, float, float, float) -> float
Recebe as notas das provas e média das provinhas
e retorna a média final de provas para ser computada
a média final em conjunto com a média de EPs.
'''
m1 = (p1 + p2 + p3)/3
m2 = (mp + p2 + p3)/3
m3 = (p1 + mp + p3)/3
m4 = (p1 + p2 + mp)/3
return max(m1, m2, m3, m4)

def media_final(p1, p2, p3, mp, mep):
''' (float, float, float, float, float) -> float
Recebe notas da provas, média das provinhas, e
média dos EPs obtidos ao longo do semestre e retorna
a primeira média final - antes da PRec.
'''
mps = media_das_provas(p1, p2, p3, mp)
if min(mps, mep) >= 5:
return (mps + mep)/2
else:
return min(mps, mep)

def media_das_provinhas(notas):
''' (float) -> float
Recebe uma lista de notas das provinhas e retorna
a média aritmética destas.
'''
soma = sum(notas)
num = len(notas)
return soma/num

# brinque com os valores abaixo
media_eps = 7.3
nota_p1 = 8.5
nota_p2 = 5.8
nota_p3 = 0.0
notas_provinhas = [10.0, 9.0, 8.5, 6.0, 7.5, 10.0, 5.0, 10]
media_provinhas = media_das_provinhas(notas_provinhas)
media_provas = media_das_provas(nota_p1, nota_p2, nota_p3, media_provinhas)
final = media_final(nota_p1, nota_p2, nota_p3, media_provinhas, media_eps)

print("Média das provinhas:", media_provinhas)
print("Média das provas:", media_provas)
print("Média dos EPs:", media_eps)
print("Média final:", final)

# p.s.: nem testei o programa, só escrevi, pode ter erros de
# sintaxe em alguns lugares, então releva ;-;