Página 1 de 2
Devido à proximidade da realização das eleições para presidência da república, você foi
contratado para desenvolver o algoritmo das urnas eletrônicas que serão utilizadas durante a
votação.
Para auxiliá-lo no desenvolvimento do algoritmo, você poderá utilizar as seguintes
informações:
a) Serão 03 os candidatos a concorrerem ao cargo de prefeito, sendo eles: José Silvério dos
Reis (PTC, número 45), Monteiro Lobato (PTA, número 13) e Elis Regina (PTD, número 12);
b) Cada eleitor deverá escolher seu candidato através da digitação do número correspondente
ao mesmo;
c) Ao digitar o número do candidato, o usuário deverá visualizar no menu da urna o nome
completo do candidato, assim como a sigla de seu partido;
d) A urna deverá exibir um menu onde deverão estar disponíveis duas opções: <Votar>
<Apurar Votos>;
e) Quando a opção votar for selecionada, o eleitor deverá escolher entre <Votar em Branco>
ou <Votar em um Candidato>;
f) Quando a opção <Votar em Branco> for selecionada, um novo voto em branco deverá ser
contabilizado. Quando a opção <Votar em um Candidato> for selecionada, deverá ser
permitido que o eleitor informe o número correspondente a seu candidato. No momento em
que informar o número de seu candidato, o eleitor deverá ter à sua disposição as opções
<Confirmar> e <Corrigir>. Caso seja escolhida a opção <Confirmar>, deverá ser computado um
voto para o candidato informado. Caso seja escolhida a opção <Corrigir>, a urna deverá
permitir que o usuário informe um novo número. O usuário poderá corrigir o voto apenas 03
vezes. Caso o eleitor preencha o número do candidato com um número inválido e selecione a
opção <Confirmar>, deverá ser computado um voto nulo;
g) Quando a opção <Apurar Votos> for selecionada no menu, deverá ser solicitada uma senha,
de modo que os eleitores não possam saber o resultado da eleição, estando a função de
apuração, atribuída ao presidente da seção;
h) Caso a senha da apuração seja informada de maneira correta, a urna deverá mostrar os
nomes dos candidatos juntamente ao total de votos obtidos por cada um; Os nomes dos
candidatos deverão ser exibidos em ordem decrescente, pelo número de votos;
i) Caso algum dos candidatos obtenha um total de votos maior do que a metade dos votos
(desprezando brancos e nulos) mais 1 voto, a urna deverá indicá-lo como vencedor da eleição.
Caso contrário, a urna deverá informar ao presidente de seção que haverá segundo turno, no
entanto, não é necessário informar quais candidatos o disputarão;
j) A urna só poderá deixar de ser exibida após a apuração das eleições e exibição dos
resultados ao presidente de seção.
Esse é um exemplo de urna com fraude que tive que fazer
z, m, p, a, op: inteiro
resp: caracter
inicio
enquanto (resp<>"s")faca
escreval("Vote no candidato desejado:")
escreval("Digite 1 para Zé das Couves")
escreval("Digite 2 para Mane do Pilão")
escreval("Digite 3 para Popó dos pobres")
escreval("Digite 4 para votar nulo")
leia(op)
se (op=1) entao
z <- z+1
escreval(" Você votou em Zé das Couves ")
senao
se (op=2) entao
m <- m+1
escreval(" Você votou em Mane do Pilão ")
senao
se (op=3) entao
n <- n+1
escreval(" Você votou Nulo ")
se n mod 5 =0 entao
z<-z+2
a<-a+n-1
n<-0
fimse
fimse
fimse
fimse
escreval (" Você deseja sair?(s/n)")
leia (resp)
fimenquanto
a<-a+n
escreval ("Total de Votos")
escreval (" Zé das Couves: ",z)
escreval (" Mane do Pilão: ",m)
escreval (" Popó dos pobres: ",p)
escreval (" Bigu do brejo: ",b)
escreval (" Nulo: ",a)
Para escrever sua resposta aqui, entre ou crie uma conta
Complexidade de Algoritmos
•ESTÁCIO EAD
Compartilhar