Uma famosa olimpíada do conhecimento decidiu distribuir medalhas de ouro, prata e bronze aos seus participantes de acordo com faixas de notas. Esta medida não agradou a todos, pois é provável que a divisão de medalhas por tipo não seja uniforme. Além disso, corre-se o risco de não haver distribuição de um dado tipo de medalha...
Sua tarefa será escrever um programa em Python para ler as notas de corte, as notas dos participantes e calcular o número de medalhas a serem entregues. Você também deverá apresentar a maior nota obtida. O uso de listas é opcional para a implementação da solução desta tarefa!
Todas as notas serão consideradas no intervalo de 0 a 10, com uma casa decimal de precisão.
A primeira linha da entrada conterá a nota de corte para obtenção da medalha de ouro. Por exemplo, se a primeira linha contiver 9.0, todos os participantes que tiverem obtido nota no intervalo de 9.0 (inclusive) a 10 receberão medalha de ouro.
A segunda linha conterá a nota de corte para obtenção da medalha de prata. Continuando o exemplo anterior, se a primeira linha contiver 9.0 e a segunda 8.0, todos os participantes que tiverem obtido nota 8.0 (inclusive) a 8.9 (inclusive) receberão medalha de prata.
De maneira semelhante, a terceira linha conterá a nota de corte para a medalha de bronze.
As outras linhas conterão as notas obtidas pelos participantes da olimpíada. O valor -1 sinalizará o final da entrada. Exemplo:
9.0
8.0
7.0
8.5
9.5
9.0
6.9
-1
As três primeiras linhas da saída indicarão o número de medalhas por tipo ou uma indicação que nenhum participante ganhou medalhas daquele tipo. As strings deverão ter o seguinte formato:
Medalha(s) de <tipo_medalha>: XX
ouNenhum participante recebeu medalha de <tipo_medalha>!
A quarta linha indicará a maior nota lida, com uma string no formato:
Maior nota: <maior_nota>
A saída para a entrada fornecida na seção anterior será:
Medalha(s) de ouro: 2
Medalha(s) de prata: 1
Nenhum participante recebeu medalha de bronze!
Maior nota: 9.5
Esta tarefa contém 7 testes abertos e 3 testes fechados. Para todos os testes as notas estão no formato esperado e todas as entradas terminam com -1.
Para ler um float
utilize o comando:
nota = float(input())
Para escrever um float
com uma única casa decimal utilize o comando:
"{:.1f}".format(nota)
Veja aqui
a página de submissão da tarefa. Lembre-se que o
arquivo a ser submetido deve se chamar lab04.py. No
link Arquivos
auxiliares há um arquivo aux-04.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.
A nota final é 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.
O peso desta tarefa é 2.
O prazo final para submissão é 23/09/2018. Recomenda-se a realização da tarefa antes da Prova 1.