Utilizando a linguagem Python, desenvolva um programa que leia as 4 notas bimestrais de um aluno, calcule sua média anual e retorne uma frase informando se este está aprovado, em recuperação ou reprovado.
IMPORTANTE: O programa só será corrigido se estiver completamente funcional (ou seja, se rodar e executar a tarefa descrita). Portanto, é recomendado que o código seja escrito e compilado em uma IDE Python (preferencialmente o IDLE Python 3.5) antes de ser copiado e colado no Moodle.
Para os critérios de avaliação, o programa deverá:
- Solicitar o nome do aluno através do comando input e armazená-lo em uma variável chamada aluno; (10 pts)
- Solicitar as 4 notas bimestrais e armazená-las em uma lista chamada notas[]. Esta lista inicialmente será declarada vazia e receberá novos elementos por meio do comando append, na medida em que as notas forem sendo lançadas; (20 pts)
- Garantir, através do comando while, que cada nota informada esteja dentro do intervalo entre 0 e 100. (15 pts)
- Calcular a média ponderada e armazená-la em uma variável chamada media. Para o cálculo, considere que as notas do 1º e 2º bimestres têm peso 2 e que as notas do 3º e 4º bimestres têm peso 3. Tanto o valor das notas quanto o da média têm de ser inteiros; (15 pts)
- Utilizar os comandos if, else e/ou elif para armazenar valores em uma variável chamada status, de acordo com a média do aluno. Caso a média seja maior ou igual que 60, a variável status receberá o texto "aprovado". Caso a média seja maior ou igual que 30 e menor que 60, a variável status receberá o texto "em recuperação". caso a média seja menor que 30, a variável status receberá o texto "reprovado"; (20 pts)
- Printar na tela a seguinte frase: O aluno aluno obteve a média media e está status; (10 pts)
Exemplo: O aluno Paulo obteve a média 65 e está aprovado.
- Possuir 16 linhas ou menos de código (excluindo as linhas de entradas de dados); (10 pts)
Soluções para a tarefa
Digitar o código aqui no Brainly prejudicaria muito a formatação do mesmo, o que também comprometeria a leitura. Então digitei no Pastebin. O link segue abaixo
https://pastebin.com/gYXjgz2D
Explicação:
Seu professor quer que o código não tem mais que 16 linhas (Sem contar as linhas de entrada de dados). Note que esse link tem 27 linhas, porém linhas de código mesmo só tem 17, já que todo o restante são linhas em branco. Porém, se desconsiderarmos as linhas de entrada de dados então teríamos 15, já que as linhas 5 e 10 são de entrada de dados.
Importante: Coisas que talvez ele pergunte (Eu perguntaria se eu fosse ele, para saber se você de fato fez e aprendeu):
1. Por que você usou um LOOP WHILE?
Resp.: Porque fica mais simples de testar as entradas de dados do usuário, uma vez que caso o usuário digite um dado inválido, a iteração será refeita até que ele digite um valor adequado.
2. Por que você não usou a função int na chamada do input da nota, na linha 10?
Resp.: Porque se eu fizesse isso, eu não teria o método isdigit() a minha disposição para verificar se o valor digitado é um número.
3. Por que você usou o método math.floor() na linha 19 ao calcular a média?
Resp.: Porque o enunciado dizia que tanto as notas quanto a média deveriam ser números inteiros, assim sendo, o método math.floor() faz o arredondamento sempre para baixo, assim, se um aluno tirar 59.9, o sistema considerará a nota 59 e ele não será aprovado.