Faça um programa que apure o resultado de uma eleição que possua, no máximo, 100 eleitores. Suponha que existam 5 candidatos cujos códigos de identificação são: 1, 2, 3, 4, 5 . Considere um arquivo texto (denominado votos.txt) que contém, em cada linha, um determinado voto (um voto é representado pelo código de identificação do candidato). O programa deverá apresentar, como resultado, em um arquivo apuracao.txt, o código de identificação e a quantidade de votos do candidato mais votado, o código de identificação e a quantidade de votos do candidato menos votado e a quantidade de votos nulos (um voto nulo é um voto cujo código de identificação é inválido).

Passo 1

Beleza, vamos lá! O exercício pede para a gente fazer um programa que conte os votos de uma eleição com até 100 eleitores e 5 candidatos identificados pelos códigos 1, 2, 3, 4 e 5. Os votos estão num arquivo chamado votos.txt, onde cada linha tem o código do candidato escolhido. Nosso objetivo é criar outro arquivo, apuracao.txt, que mostre qual candidato teve mais votos, qual teve menos votos e quantos votos foram nulos (ou seja, votos com códigos que não correspondem a nenhum candidato válido). Para resolver isso, vamos precisar usar conceitos de leitura e escrita de arquivos, estruturas de repetição, condicionais e manipulação de listas ou dicionários para contar os votos.

Passo 2

Primeiro, precisamos abrir e ler o arquivo votos.txt. Vamos garantir que o programa possa ler até 100 votos. Para isso, usamos a função de leitura de arquivos em modo de leitura.

Passo 3

Depois de ler os votos, vamos armazená-los em uma lista para facilitar a contagem. Isso nos permite acessar cada voto individualmente e processá-los.

Passo 4

Agora, vamos criar uma estrutura para contar os votos de cada candidato. Podemos usar uma lista ou um dicionário onde cada chave ou índice representa um candidato. Inicializamos todas as contagens com zero.

Passo 5

Vamos percorrer a lista de votos e, para cada voto, verificar se o código corresponde a um dos candidatos válidos (1 a 5). Se for válido, incrementamos a contagem daquele candidato. Se não, consideramos como voto nulo e incrementamos a contagem de votos nulos.

Passo 6

Após contar todos os votos, precisamos identificar qual candidato teve o maior número de votos e qual teve o menor. Para isso, usamos funções como max e min que nos ajudam a encontrar os valores máximos e mínimos nas contagens.

Passo 7

Por fim, vamos escrever os resultados no arquivo apuracao.txt. Nele, vamos incluir o código do candidato mais votado, a quantidade de votos que ele recebeu, o código do candidato menos votado, a quantidade de votos que ele recebeu e a quantidade total de votos nulos.

Resposta

Prontinho! Seguimos todos os passos e conseguimos montar um programa que lê os votos, conta cada um, identifica os candidatos mais e menos votados e contabiliza os votos nulos, escrevendo tudo no arquivo apuracao.txt. Assim, conseguimos apurar os resultados da eleição de forma organizada e eficiente.

Exercícios relacionados