MC102 - Algoritmos e Programação de Computadores

Smiley faces Critérios para Aprovação em MC102

O critério de aprovação em MC102 é composto por vários itens com pesos diferentes. Nesta tarefa, vamos fazer um programa em Python para podermos calcular a média e situação final de um(a) aluno(a) com facilidade.

Elementos componentes da avaliação

Atividades conceituais: são os questionários que podem ser respondidos via Moodle. Neste semestre não teremos atividades presenciais e, portanto, a média das atividades conceituais MAC será dada pela média aritmética simples das n notas das atividades conceituais.

Tarefas de laboratório: são os programas desenvolvidos e entregues para correção automática no SuSy. Para compor a média dos laboratórios ML, cada tarefa tem um peso indicado no enunciado do laboratório.

Provas teóricas: são as avaliações aplicadas em sala de aula, sem consulta. Para compor a média de provas MP a primeira prova tem peso 2 e a segunda, peso 3.

Média ponderada dos elementos: será dada pela fórmula:

MElem = 0.6 * MP + 0.3 * ML + 0.1 * MAC

Resultado final

Seja freq a porcentagem de frequências às aulas e MPre definida como:

MPre = min(MElem, MP, ML)

O resultado final será dado pelas seguintes regras:

Entrada

A primeira linha da entrada conterá n valores nota_aciindicando as notas das atividades conceituais. A segunda linha conterá m tuplas (nota_labi, peso_labi) indicando a nota da tarefa de laboratório e seu respectivo peso para a média das tarefas de laboratório. A terceira linha conterá as notas das duas provas. A quarta linha conterá um valor entre 0 e 100 indicando a porcentagem da frequência às aulas. Caso o(a) aluno(a) precise fazer exame, haverá uma última linha contendo a nota obtida.

<nota_ac1> ... <nota_acn>
(<nota_lab00>, <peso_lab00>) ... (<nota_labm-1>, <peso_labm-1>)
<nota_prova1> <nota_prova2>
<freq>
<nota_exame>

Saída

A primeira parte da saída conterá as médias obtidas pelo(a) aluno(a), formatadas para apresentar apenas uma casa decimal (veja seção Dicas):

Média das atividades conceituais: <MAC>
Média das tarefas de laboratório: <ML>
Média das provas: <MP>
Média ponderada dos elementos: <MElem>
Média preliminar: <MPre>

Caso o(a) aluno(a) tenha feito exame, a nota deve ser indicada:

Nota do exame: <Exame>

A situação final do(a) aluno(a) deve ser indicada por uma das strings abaixo:

Aprovado(a) por nota e frequência.
Reprovado(a) por nota.
Reprovado(a) por frequência.

Finalmente, a média final deve ser indicada:

Média final: <MFinal>

Testes para o SuSy

Para facilitar a visualização e a conferência o número de atividades conceituais e tarefas de laboratório é inferior ao que será proposto no semestre. Os oito testes abertos estão listados abaixo, acompanhado de alguns comentários sobre o desempenho do aluno(a).

Entrada Saída Observações
arq1.in
10 10 10 10 10 
(10,1) (10,2) (10,3)
10 10
100
Média das atividades conceituais: 10.0
Média das tarefas de laboratório: 10.0
Média das provas: 10.0
Média ponderada dos elementos: 10.0
Média preliminar: 10.0
Aprovado(a) por nota e frequência.
Média final: 10.0
arq1.res • Excelente desempenho em todos os itens.
• Média final igual à média dos elementos.
• Aprovado(a) sem exame.
arq2.in
10 10 10 10 10 10 
(10,1) (10,2) (8,3) (9,2)
6.0 5.0
100
Média das atividades conceituais: 10.0
Média das tarefas de laboratório: 9.0
Média das provas: 5.4
Média ponderada dos elementos: 6.9
Média preliminar: 5.4
Aprovado(a) por nota e frequência.
Média final: 6.9
arq2.res • Bom desempenho em atividades conceituais
e tarefas de laboratório.
• Desempenho suficiente nas provas.
• Média final igual à média dos elementos.
• Aprovado(a) sem exame.
arq3.in
10 9 8 9.5 10
(10,1) (7.5,2) (9,3) (9,2) (10,3)
3.0 4.5
100
7.0
Média das atividades conceituais: 9.3
Média das tarefas de laboratório: 9.1
Média das provas: 3.9
Média ponderada dos elementos: 6.0
Média preliminar: 3.9
Nota no exame: 7.0
Aprovado(a) por nota e frequência.
Média final: 5.5
arq3.res • Bom desempenho em atividades conceituais
e tarefas de laboratório.
• Desempenho insuficiente nas provas.
• Aprovado(a) após exame.
arq4.in
10 9 8 7 6
(0,1) (7.5,2) (5,3) (5,2) (0,3)
5.5 7
100
7.0
Média das atividades conceituais: 8.0
Média das tarefas de laboratório: 3.6
Média das provas: 6.4
Média ponderada dos elementos: 5.7
Média preliminar: 3.6
Nota no exame: 7.0
Aprovado(a) por nota e frequência.
Média final: 5.3
arq4.res • Bom desempenho nas atividades conceituais
e nas provas.
• Desempenho insuficiente nas tarefas de
laboratório.
• Aprovado(a) após exame.
arq5.in
0 0 0 0 0 0
(0,1) (7.5,2) (5,3)
5.0 5.0
100
5.5
Média das atividades conceituais: 0.0
Média das tarefas de laboratório: 5.0
Média das provas: 5.0
Média ponderada dos elementos: 4.5
Média preliminar: 4.5
Nota no exame: 5.5
Aprovado(a) por nota e frequência.
Média final: 5.0
arq5.res • Não realizou atividades conceituais.
• Desempenho suficiente nas provas e tarefas
de laboratório.
• Desempenho insuficiente na média ponderada
dos elementos.
• Aprovado(a) após exame.
arq6.in
0 0 0 0 0 0 0 
(0,1) (5.0,2) (4.0,3) (7.0,2) (0,3)
4.0 4.5
100
4.0 
Média das atividades conceituais: 0.0
Média das tarefas de laboratório: 3.3
Média das provas: 4.3
Média ponderada dos elementos: 3.6
Média preliminar: 3.3
Nota no exame: 4.0
Reprovado(a) por nota.
Média final: 3.6
arq6.res • Não realizou as atividades conceituais.
• Desempenho insuficiente nas provas e
tarefas de laboratório.
• Reprovado(a) após o exame.
arq7.in
5 3 5 6 4 2.5 0 
(0,1) (0,2) (6.0,3) (0,2) (4.0,3)
2.0 1.5 
100
Média das atividades conceituais: 3.6
Média das tarefas de laboratório: 2.7
Média das provas: 1.7
Média ponderada dos elementos: 2.2
Média preliminar: 1.7
Reprovado(a) por nota.
Média final: 1.7
arq7.res • Desempenho insuficiente em todos os itens.
• Reprovado(a) sem direito a exame.
arq8.in
10 8 5 0 0 0 0 
(10,1) (5.0,2) (5.0,3) (0,2) (0,3)
4.0 0 
50
Média das atividades conceituais: 3.3
Média das tarefas de laboratório: 3.2
Média das provas: 1.6
Média ponderada dos elementos: 2.2
Média preliminar: 1.6
Reprovado(a) por frequência.
Média final: 1.6
arq8.res • Desempenho insuficiente em todos os itens.
• Não atingiu frequência mínima.
• Reprovado(a) sem direito a exame.

Esta tarefa inclui mais dois testes fechados.

Dicas de Python 3 para esta tarefa:

• Para ler a linha com as notas das atividades conceituais e montar uma lista com elementos do tipo float você pode utilizar:

notas_ac = [float(x) for x in input().split()]

• Para imprimir a primeira nota formatada com uma casa decimal você pode usar:

print("Nota da primeira atividade conceitual:", format(notas_ac[0], ".1f"))

• Para ler a linha com as notas das tarefas de laboratório podemos utilizar uma abordagem semelhante, mas definindo uma função especial que retornará uma tupla com dois elementos, sendo o primeiro um float e o segundo um int.

def tupla_float_int(x) :
    x = x[1:-1]       # remove parênteses
    x = x.split(",")  # separa em duas strings
    f = float(x[0])   # converte primeiro elemento para float
    i = int(x[1])     # converte segundo elemento para int
    return (f,i)      # retorna tupla

notas_lab = [tupla_float_int(x) for x in input().split()]

• Para imprimir a nota do primeiro lab formatada com uma casa decimal e o peso você pode usar:

print("Nota do Lab00:", format(notas_lab[0][0], ".1f"))
print("Peso do Lab00:", notas_lab[0][1])

Orientações para submissão

Veja aqui a página de submissão da tarefa. Lembre-se que o arquivo a ser submetido deve se chamar main.py. No link Arquivos auxiliares há um arquivo arqs-07.zip que contém todos os arquivos de testes abertos e seus respectivos resultados compactados. Os arquivos executa-testes.py e executa-testes-windows.py também estão neste pacote.

Observe o limite máximo de 20 submissões e que a nota final é proporcional ao número de testes que executaram corretamente.

O peso desta tarefa é 2.

O prazo final para submissão é 20/05/2018.