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
O algoritmo deverá ser capaz de informar:
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
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:
- Qual candidato ganhou (1, 2 ou 3).
- Quantos votos branco (código 0).
- Quantos votos nulos (código 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:
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. - Se digitou
2
, somamos em. - Se digitou
3
, somamos em. - Se digitou
0
, é voto em branco →. - Se digitou
4
, é voto nulo →.
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
,
e
:
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
Resposta
Candidato vencedor: 1
Votos em branco: 3
Votos nulos: 3
Eleitores que compareceram às urnas: 22
Votos em branco: 3
Votos nulos: 3
Eleitores que compareceram às urnas: 22