Exercícios Resolvidos de Laços de repetição

Ver Teoria

Enunciado

Faça um programa que inicialmente leia a quantidade de candidatos do Rio de Janeiro de um concurso. A seguir, para cada candidato, o programa deverá ler seu nome e sua nota, exibindo se o candidato foi aprovado ou reprovado. Para ser aprovado, o candidato deverá ter nota superior a 80. Ao final o programa deverá exibir a quantidade de aprovados e a quantidade de reprovados e a nota média dos candidatos.

Passo 1

E aíi! Mano, tu conseguiu sacar que a gente só precisa escrever o código pra ler o nome e a nota do candidato uma vez e dizer se ele foi aprovado, e depois a gente fica repetindo esse código um montão de vezes? É isso que a gente vai fazer!

Mas vamos começar lendo a quantidade de repetições que a gente tem que fazer. E, com certeza, esse é um número inteiro, né?!

O que é SUPER importante tu notar é que o número de vezes que o código precisa se repetir é justamente o número de candidatos no concurso! Bora escrever esse código aí!

Passo 2

Cara, o ideal é a gente usar o for só quando estiver usando listas, e usar o while quando não. Nesse caso, bora usar o while! Nossa estrutura fica assim:

Se liga que, a cada loop, a gente tá diminuindo uma unidade na variável “contador” E o while fica repetindo enquanto “contador” for maior que 0. Ou seja, só vai parar quando for 0. E aí vai ter repetido exatamente a quantidade de vezes que a gente quer!

Beleza, agora que temos a estrutura, bora preparar nosso código!

Passo 3

O código que a gente quer que repita é perguntar o nome candidato e a nota dele. Pra isso, vamos usar dois inputs.

Pronto! Mas ainda não acabou. Precisamos verificar e dizer se esse candidato passou ou não. Pra isso, vamos usar uma condicional (if).

Beleza! Até aqui deu pra chegar. Mas o enunciado também tá pedindo pra gente calcular a quantidade de aprovados, de reprovados e a nota média de todos os candidatos!

A lágrima quase desceu, mas calma! A gente vai conseguir!

Passo 4

Se liga, tudo que tá dentro do while vai ser repetido a cada loop. Se a gente quer salvar algum dado que não seja reiniciado a cada loop, precisamos definir fora do while. Então, vamos criar algumas variáveis fora do loop.

Pronto! No início do programa a gente definiu as variáveis “aprovados”, “reprovados” e “media” como zero. A cada loop a gente vai atualizando elas, e aí no final do programa a gente vai ter o total, sacou?

Então, a cada candidato que for aprovado, a gente acrescenta um na variavel “aprovados”. Vamos fazer a mesma coisa também pros reprovados.

Prontinho! Agora, a cada loop as variáveis de aprovados e reprovados vão ser atualizadas, e no fim a gente vai ter o total de cada. Mas ainda falta calcular a média! Vamo lá! Força, guerreiro!

Passo 5

Primeiro, bora pensar sobre o que é a média.

Bom, a média é a o somatório de todas as notas dividido pelo total de candidatos. A gente pode fazer o seguinte: a cada loop a gente soma a nota do candidato. No final do programa, a gente divide esse somatório todo pela quantidade total de candidatos, sacou? Então, bora fazer o somatório!

Pronto! Agora, no fim do programa a gente vai ter, na variável “media”, o somatório das notas. Precisamos dividir, no fim, pelo total de candidatos. Mas tu reparou que a gente não sabe mais o total de candidatos? A cada loop a gente mexeu na variável “contador”, então no fim a gente não vai mais saber quantos candidatos tinham. Então, vamos criar mais uma variável!

Pronto! Criando uma outra variável chamada total_candidatos e fazendo backup do contador antes da gente mexer nele, a gente consegue salvar a quantidade de candidatos pra usar no final! Repara que eu já coloquei no final a gente tinha o somatório das notas dentro da variável “media”. Agora, eu to atualizando na última linha essa variável! A média passa a ser o somatório dividido pelo total de candidatos! Agora sim!!!

Bora exibir as informações que a gente coletou no final do programa!

Passo 6

Pra exibir alguma coisa pro usuário, tu já sabe bem! A gente vai usar o print(), mano! Se liga só:

Pronto! Exibimos todas as informações que o enunciado pediu no final. Também usamos ali formatação de string, que a gente falou sobre no tópico Operações com Strings. Se tu não tá ligado naquele % ali dentro dos prints, seria o ideal tu dar uma olhadinha lá! Vai ser rapidinho, prometo.

Mas antes da gente finalizar o exercício, bora fazer os testes pra ver se ta tudo ok!

Passo 7

Coloquei o programa pra executar e escrevi algumas entradas pra testar.

Malandramente eu coloquei só 3 candidatos, se não eu ia ter que ficar digitando nomes e notas por maior tempão!

Mas, olha pelo lado bom, FUNCIONOU TUDO!

É isso! Vou ali descansar e já volto no próximo exercício! Valeuuuuu!

Resposta