Existem três candidatos a uma vaga no Senado (1, 2 e 3). Feita a eleição, os votos são registrados. O voto de cada eleitor foi codificado da seguinte forma: 1, 2 ou 3, para Voto em cada canditato em questão, 0 para Voto Branco, 4 para votos Nulos.
O algoritmo deverá ser capaz de informar:
  • O número do candidato vencedor;
  • O número de votos em branco;
  • O número de votos nulos;
  • O número de eleitores que compareceram às urnas.
Obs: Admite-se que não são possíveis empates. Então, construa um algoritmo que execute esta tarefa. O voto finalizador tem código -1 , e não deve ser computado.

Exemplo de entrada:

Informe seu voto: 1
Informe seu voto: 1
Informe seu voto: 1
Informe seu voto: 2
Informe seu voto: 4
Informe seu voto: 0
Informe seu voto: 3
Informe seu voto: 1
Informe seu voto: 2
Informe seu voto: 3
Informe seu voto: 3
Informe seu voto: 3
Informe seu voto: 2
Informe seu voto: 4
Informe seu voto: 1
Informe seu voto: 0
Informe seu voto: 0
Informe seu voto: 2
Informe seu voto: 2
Informe seu voto: 3
Informe seu voto: 4
Informe seu voto: 1
Informe seu voto: - 1

Exemplo de saída:

Candidato vencedor: 1
Votos em branco: 3
Votos nulos: 3
Eleitores que compareceram às urnas: 22

Passo 1

Beleza, o enunciado pede um algoritmo que leia votos até encontrar o código −1 (que encerra tudo) e, no fim, informe:
  1. Qual candidato ganhou (1, 2 ou 3).
  2. Quantos votos branco (código 0).
  3. Quantos votos nulos (código 4).
  4. Quantos eleitores compareceram (todos os votos válidos, brancos e nulos).
Conteúdo envolvido: estruturas de repetição (enquanto), condicionais (se…), e uso de contadores.
O que vamos precisar: variáveis que guardem quantos votos cada candidato recebeu e também brancos, nulos e o total de votos.

Passo 2

Inicializamos todos os contadores com zero:
v1 = v2 = v3 = vb = vn = total = 0
Em seguida, lemos cada voto em um laço “enquanto” até achar −1.
Pseudocódigo básico:
enquanto voto != −1 faça
    total ← total + 1
    se voto == 1 então v1 ← v1 + 1
    senão se voto == 2 então v2 ← v2 + 1
    senão se voto == 3 então v3 ← v3 + 1
    senão se voto == 0 então vb ← vb + 1
    senão se voto == 4 então vn ← vn + 1
    fim se
    ler próximo voto
fim enquanto

Passo 3

Detalhando a parte de classificação:
  • Se o eleitor digitou 1, somamos 1 em v1.
  • Se digitou 2, somamos em v2.
  • Se digitou 3, somamos em v3.
  • Se digitou 0, é voto em branco → vb = vb + 1.
  • Se digitou 4, é voto nulo → vn = vn + 1.
Isso usa o conceito de “contador”: cada vez que encontramos um determinado tipo de voto, incrementamos sua variável específica.

Passo 4

Depois que o laço termina (voto = −1), decidimos o vencedor comparando v1, v2 e v3:
se v1 > v2 e v1 > v3 então vencedor = 1  
senão se v2 > v1 e v2 > v3 então vencedor = 2  
senão vencedor = 3  
Como não há empate, essa checagem simples basta.
Também já temos o total de comparecimentos em
total = v1 + v2 + v3 + vb + vn

Resposta

Candidato vencedor: 1
Votos em branco: 3
Votos nulos: 3
Eleitores que compareceram às urnas: 22

Exercícios relacionados