MC102 - Algoritmos e Programação de Computadores
MC102 Horários Plano de
desenvolvimento
Oferecimento
anterior

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


Aviso: Em 2 de maio, alguns arquivos de teste foram modificados: espaços em branco extras ao final de algumas linhas foram removidos. A nova versão está em aux08.zip.


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. O programa proposto neste semestre é um pouco diferente do programa do semestre passado e inclui a proposta de tarefas extras de laboratório!

Elementos componentes da avaliação

Atividades conceituais: são os questionários que podem ser respondidos via Moodle. A nota atribuída a cada uma destas atividades é uma nota de participação, calculada de maneira proporcional ao número de questões respondidas pelo(a) aluno(a), independentemente do fato de estarem corretas ou não. A média das atividades conceituais MAC será dada pela média aritmética simples das notas das atividades.

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.

Resultado final

Considerando Freq a porcentagem de frequência às aulas, o resultado final será computado seguindo as regras abaixo:

Tarefas extras de laboratório

Ao final do semestre, teremos uma ou mais tarefas adicionais. Estas tarefas terão sua nota ponderada somada ao numerador do cálculo da média de laboratórios, mas o denominador será dado pela soma dos pesos das tarefas obrigatórias. Considere m tarefas obrigatórias e k tarefas extras:

                     nota_lab0*peso_lab0 + ... + nota_labm-1*peso_lab_m-1 +
         nota_lab_extra0*peso_lab_extra0 + ... + nota_lab_extrak-1*peso_lab_extra_k-1
ML = ----------------------------------------------------------------------------------
                               peso_lab0 + ... + peso_labm-1

Com este cálculo, ML poderá atingir um valor maior do que 10.0 e aumentar a média final do(a) aluno(a) caso MP seja maior ou igual a 5.0. Obviamente, MFinal será enviada à DAC respeitando-se o valor máximo 10.0.

Descrição da entrada

Os valores estarão separados por linhas:

<nota_ac1> ... <nota_acn>
<nota_lab00> ... <nota_labm-1>
<peso_lab00> ... <peso_labm-1>    
<nota_labextra00> ... <nota_labextrak-1>
<peso_labextra00> ... <peso_labextrak-1>    
<nota_prova1> <nota_prova2>
<freq>
<nota_exame>

Dica: para ler uma linha com as notas e receber uma lista com elementos do tipo float você pode utilizar:

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

Descrição da saída

A primeira parte da saída conterá as médias das atividades conceituais, tarefas de laboratório e provas obtidas pelo(a) aluno(a), formatadas para apresentar apenas uma casa decimal (veja as dicas para formatação):

Media das atividades conceituais: <MAC>
Media das tarefas de laboratorio: <ML>
Media das provas: <MP>

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

Nota no exame: <Exame>

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

Aprovado(a) por nota e frequencia.
Reprovado(a) por nota.
Reprovado(a) por frequencia.

Por último, a média final deve ser indicada:

Media 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, acompanhados de alguns comentários sobre o desempenho do(a) aluno(a).

Entrada Saída Observações
arq1.in
10 10 10 10 10
10 10 10 10 10
1 1 2 3 4
10
2
10 10
100
Media das atividades conceituais: 10.0
Media das tarefas de laboratorio: 11.8
Media das provas: 10.0
Aprovado(a) por nota e frequência.
Media final: 10.0
arq1.res • Excelente desempenho em todos os itens.
• Média final igual à média ponderada dos elementos, com máximo 10.
• Aprovado(a) sem exame.
arq2.in
10 10 10 10 10 10
10 10 9 9 8
1 1 2 3 4
8
2
6.0 5.0
100
Media das atividades conceituais: 10.0
Media das tarefas de laboratorio: 10.3
Media das provas: 5.4
Aprovado(a) por nota e frequencia.
Media final: 7.3
arq2.res • Ótimo desempenho em atividades conceituais e tarefas de laboratório.
• Desempenho suficiente nas provas.
• Média final igual à média ponderada dos elementos.
• Aprovado(a) sem exame.
arq3.in
0 0 0 0 0 0 0 0 
10 0 5 5 5 5
1 1 2 3 3 4
0
2
5.0 5.0
100
Media das atividades conceituais: 0.0
Media das tarefas de laboratorio: 5.0
Media das provas: 5.0
Aprovado(a) por nota e frequencia.
Media final: 5.0
arq3.res • Não realizou as atividades conceituais.
• Desempenho suficiente nas provas e tarefas de laboratório.
• Aprovado(a) sem exame.
arq4.in
10 10 10 10 10 
10 10 9 10 10 8
1 1 2 3 3 4
7.5
2
3.0 4.5
100
7.0
Media das atividades conceituais: 10.0
Media das tarefas de laboratorio: 10.4
Media das provas: 3.9
Nota no exame: 7.0
Aprovado(a) por nota e frequencia.
Media final: 5.5
arq4.res • Excelente desempenho em atividades conceituais e tarefas de laboratório.
• Desempenho insuficiente nas provas.
• Aprovado(a) após o exame.
arq5.in
10 9 8.5 7 5.5
10 7 5 6.5 0 0 
1 1 2 2 3 4 
0 0
2 2
7.5 9.0
100
9.5
Media das atividades conceituais: 8.0
Media das tarefas de laboratorio: 3.1
Media das provas: 8.4
Nota no exame: 9.5
Aprovado(a) por nota e frequencia.
Media final: 6.3
arq5.res • Ótimo desempenho nas atividades conceituais e nas provas.
• Desempenho insuficiente nas tarefas de laboratório.
• Aprovado(a) após o exame.
arq6.in
0 0 0 0 0 0 0
10 5 5 4.5 0 0 
1 1 2 2 3 4 
0 0
1 2
4.5 3.5
100
4.0
Media das atividades conceituais: 0.0
Media das tarefas de laboratorio: 2.6
Media das provas: 3.9
Nota no exame: 4.0
Reprovado(a) por nota.
Media final: 3.3
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 0 6 0 4
1 1 2 3 5
0
2
2.0 1.5
100
Media das atividades conceituais: 3.6
Media das tarefas de laboratorio: 2.7
Media das provas: 1.7
Reprovado(a) por nota.
Media 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 5 5 0 0 0 0
1 1 2 2 3 4 5
0 0
2 2
3.2 0
50
Media das atividades conceituais: 3.3
Media das tarefas de laboratorio: 1.4
Media das provas: 1.3
Reprovado(a) por frequencia.
Media final: 1.3
arq8.res • Desempenho insuficiente em todos os itens.
• Não atingiu frequência mínima.
• Reprovado(a) sem direito a exame.

Esta tarefa inclui dois testes fechados.

Orientações para submissão

O uso da biblioteca numpy não está habilitado. Portanto, seu código não poderá incluí-la.

Veja aqui a página de submissão da tarefa. O arquivo a ser submetido deve se chamar lab08.py. No link Arquivos auxiliares há um arquivo aux08.zip que contém todos os arquivos de testes abertos, seus respectivos resultados compactados e scripts para facilitar os testes.

O limite máximo será de 20 submissões. Serão considerados os resultados da última submissão.

O peso desta tarefa é 4.

O prazo final para submissão é 19/05/2019.

A nota desta tarefa é proporcional ao número de testes que executaram corretamente, desde que o código esteja coerente com o enunciado. A submissão de um código que não implementa o algoritmo requisitado, mas que exibe as saídas esperadas dos testes abertos a partir da comparação de trechos da entrada será considerada fraude e acarretará a atribuição de nota zero à média final da disciplina.