Entendo que você deseja melhorar seu algoritmo para lidar com possíveis erros de entrada e realizar verificações de condição. Vou adicionar essas validações ao seu código, explicando onde e como você pode implementá-las. Veja a versão atualizada do algoritmo abaixo:
Algoritmo Eleicoes
Var
TotalEleitores, VotoBranco, VotoValido, VotoNulo: real
PorcBrancos, PorcNulos, PorcValidos: real
Inicio
// Lê o número total de eleitores com validação
Repita
Escreva “Digite o número total de eleitores do município:”
Leia TotalEleitores
Se TotalEleitores <= 0 Então
Escreva “Erro: O número total de eleitores deve ser maior que zero. Tente novamente.”
FimSe
Ate TotalEleitores > 0
// Lê o número de votos brancos com validação
Repita
Escreva “Digite o número de votos brancos:”
Leia VotoBranco
Se VotoBranco < 0 Então
Escreva “Erro: O número de votos brancos não pode ser negativo. Tente novamente.”
FimSe
Ate VotoBranco >= 0
// Lê o número de votos nulos com validação
Repita
Escreva “Digite o número de votos nulos:”
Leia VotoNulo
Se VotoNulo < 0 Então
Escreva “Erro: O número de votos nulos não pode ser negativo. Tente novamente.”
FimSe
Ate VotoNulo >= 0
// Lê o número de votos válidos com validação
Repita
Escreva “Digite o número de votos válidos:”
Leia VotoValido
Se VotoValido < 0 Então
Escreva “Erro: O número de votos válidos não pode ser negativo. Tente novamente.”
FimSe
Ate VotoValido >= 0
// Verifica se a soma dos votos é igual ao total de eleitores
Se (VotoBranco + VotoNulo + VotoValido) <> TotalEleitores Então
Escreva “Erro: A soma dos votos brancos, nulos e válidos deve ser igual ao total de eleitores. Verifique os dados.”
Senão
// Cálculo dos percentuais
PorcBrancos = 100 * VotoBranco / TotalEleitores
PorcNulos = 100 * VotoNulo / TotalEleitores
PorcValidos = 100 * VotoValido / TotalEleitores
// Exibição dos resultados
Escreva “Votos Brancos:”, PorcBrancos, “%”
Escreva “Votos Nulos:”, PorcNulos, “%”
Escreva “Votos Válidos:”, PorcValidos, “%”
FimSe
Fim
Validação do Total de Eleitores: O programa verifica se o total de eleitores é maior que zero. Se não for, solicita que o usuário insira um novo número até que um valor válido seja fornecido.
Validação dos Votos: Para os votos brancos, nulos e válidos, o programa verifica se os valores são negativos. Como não faz sentido ter um número negativo de votos, se um usuário inserir um valor negativo, ele será solicitado a tentar novamente.
Verificação da Soma dos Votos: Após coletar todos os dados, o algoritmo verifica se a soma dos votos brancos, nulos e válidos é igual ao total de eleitores. Se não for, uma mensagem de erro é exibida.
Cálculo e Exibição dos Percentuais: Os percentuais são calculados e exibidos apenas se todos os dados foram validados corretamente.
Essas alterações garantem que o programa seja mais robusto e que o usuário receba feedback apropriado caso insira dados inválidos.
Bom Dia Alexandro,
Na verdade o Total de Eleitores, não precisa ser digitado, visto que ele será a soma de todos os Votos (Nulo, Valido e Branco) e não é necessário declarar, ProcBrancos, ProcNulo e ProcValido porque estes valores são consequências dos tipos de Votos e Total de Eleitores.
Um grande abraço,