Subido por luis pablo torres ochavano

programacion de ganador de votos en python

Anuncio
UNIVERSIDAD NACIONAL HERMILIO VALDIZÁN DE HUÁNUCO
Facultad de Ingeniería Civil y Arquitectura
“Año de la Universalización de la Salud”
Cuestionario de la Tarea Nº 04
Curso:
Programación Digital
Docente:
Ing. MSc. Dr. Aland Bravo Vecorena
Datos del Alumno/a
Nombre
Apellido
Paterno
Apellido
Materno
Luis Pablo
Fecha
14/06/2020
Torres
Correo
[email protected]
Ochavano
Teléfono
9304714.34
A: Iniciando el Proyecto Pluralidad
Implemente un programa que ejecute una elección de pluralidad, según lo siguiente:
$ ./python plurality.py Alice Bob Charlie
Número de Votantes: 4
Voto: Alice
Voto: Bob
Voto: Charlie
Voto: Alice
Alice
Antecedentes
Las elecciones vienen en todas las formas y tamaños. En el Reino Unido, el primer ministro
es nombrado oficialmente por el monarca, que generalmente elige al líder del partido político
que gana la mayoría de los escaños en la Cámara de los Comunes. Estados Unidos utiliza
un proceso de Colegio Electoral de varios pasos donde los ciudadanos votan sobre cómo
cada estado debe asignar a los Electores que luego eligen al Presidente.
UNIVERSIDAD NACIONAL HERMILIO VALDIZÁN DE HUÁNUCO
Facultad de Ingeniería Civil y Arquitectura
“Año de la Universalización de la Salud”
Sin embargo, quizás la forma más simple de celebrar una elección es a través de un método
comúnmente conocido como "voto de pluralidad" (también conocido como "primero pasa la
posta" o "el ganador se lleva todo"). En la votación de la pluralidad, cada votante puede votar
por un candidato. Al final de las elecciones, el candidato que tenga el mayor número de votos
es declarado ganador de las elecciones.
Empezando
Aquí le mostramos cómo descargar el "código de distribución" de este problema (es decir,
el código de inicio) en su propio IDE. En una ventana de terminal, ejecute cada uno de los
siguientes pasos:
Entendiendo el Proyecto
Ahora echemos un vistazo a plurality.py y leamos el código de distribución que se le ha
proporcionado.
La línea #define MAX 9 es una sintaxis utilizada aquí para significar que MAX es una constante
(igual a 9) que se puede usar en todo el programa. Aquí, representa el número máximo de
candidatos que puede tener una elección.
El archivo luego define una estructura struct llamada candidate. Cada candidate tiene dos
campos: una cadena string llamada name que representa el nombre del candidato y un int
llamado votes que representan el número de votos que tiene el candidato. A continuación, el
archivo define una matriz global de candidatos candidates, donde cada elemento es en sí
mismo un candidato candidate.
Ahora, eche un vistazo a la función principal main. Vea si puede encontrar dónde el programa
establece una variable global candidate_count que representa el número de candidatos en
las elecciones, copia los argumentos de la línea de comandos en la matriz de candidatos
candidates y le pide al usuario que escriba el número de votantes. Luego, el programa
permite que cada votante escriba un voto (¿ve cómo?), Llamando a la función de vote para
cada candidato votado. Finalmente, main llama a la función print_winner para imprimir el
ganador (o ganadores) de la elección.
Sin embargo, si mira más abajo en el archivo, notará que las funciones vote y print_winner
se han dejado en blanco. ¡Esta parte depende de usted para completarlo!
UNIVERSIDAD NACIONAL HERMILIO VALDIZÁN DE HUÁNUCO
Facultad de Ingeniería Civil y Arquitectura
“Año de la Universalización de la Salud”
Especificaciones Técnicas
Complete la implementación de
elección de voto de pluralidad.
plurality.py
de tal manera que el programa simule una
 Completa la función de vote.
o vote toma un solo argumento, una cadena string llamada name, que representa
el nombre del candidato por el que se votó.
o Si el nombre name coincide con uno de los nombres de los candidatos en la
elección, actualice el total de votos de ese candidato para dar cuenta de la nueva
votación. La función de voto vote en este caso debería ser verdadera para indicar
una votación exitosa.
o Si el nombre name no coincide con el nombre de ninguno de los candidatos en la
elección, no se debe cambiar el total de votos, y la función de voto vote debe ser
falsa para indicar una votación inválida.
o Puede suponer que no habrá dos candidatos con el mismo nombre.
 Complete la función print_winner.
o La función debe imprimir el nombre del candidato que recibió la mayoría de los
votos en las elecciones y luego imprimir una nueva línea.
o Es posible que la elección termine en empate si varios candidatos tienen cada uno
el número máximo de votos. En ese caso, debe mostrar los nombres de cada uno
de los candidatos ganadores, cada uno en una línea separada.
No debe modificar nada más en plurality.py que no sean las implementaciones de las
funciones vote y print_winner (y la inclusión de archivos de encabezado adicionales, si lo
desea).
Modo de Uso
Su programa debe comportarse según los ejemplos a continuación:
$ ./plurality Alice Bob
Number of voters: 3
Vote: Alice
Vote: Bob
Vote: Alice
Alice
UNIVERSIDAD NACIONAL HERMILIO VALDIZÁN DE HUÁNUCO
Facultad de Ingeniería Civil y Arquitectura
“Año de la Universalización de la Salud”
$ ./plurality Alice Bob
Number of voters: 3
Vote: Alice
Vote: Charlie
Invalid vote.
Vote: Alice
Alice
$ ./plurality Alice Bob Charlie
Number of voters: 5
Vote: Alice
Vote: Charlie
Vote: Bob
Vote: Bob
Vote: Alice
Alice
Bob
Pruebas
Asegúrese de probar su código para asegurarse de que maneja los escenarios:





Una elección con cualquier número de candidatos (hasta un máximo de 9)
Votar por un candidato por nombre
Votos inválidos para candidatos que no están en la lista
Imprimir el ganador de la elección si solo hay uno
Imprimir el ganador de la elección si hay varios ganadores
UNIVERSIDAD NACIONAL HERMILIO VALDIZÁN DE HUÁNUCO
Facultad de Ingeniería Civil y Arquitectura
“Año de la Universalización de la Salud”
Descargar