Ejercicio: 2Eva2010TII_T3 Validar registro de revocatoria en CNE
propuesta de solución en Python, contiene tarea.
Ejemplo:
cuantos ciudadanos en padrón: 5
cédula : 3
cédula : 2
cédula : 1
cédula : 4
cédula : 5
cuantos se quejan: 3
cedula: 2
cedula: 2
cedula: 3
los que si votan son: 2
[2 3]
>>>
Algoritmo en Python
# ICM00794-Fundamentos de Computación - FCNM-ESPOL
# 2Eva_IIT2010_T3 Validar registro de revocatoria en CNE
# Tema 2. Mostrar valores únicos en vector
# Tema 3. Validar registro de revocatoria en CNE
import numpy as np
def unicos(vector):
n = len(vector)
vale = np.ones(n, dtype= int)
i = 0
while not(i>=(n-1)): #penultimo
j = i + 1
while not(j>=n): # ultimo
if (vector[i] == vector[j]):
vale[j] = 0
j = j + 1
i = i + 1
# obtiene los únicos
sinrepetir =[]
i = 0
while not(i>=n):
if (vale[i] == 1):
sinrepetir.append(vector[i])
i= i+1
sinrepetir = np.array(sinrepetir)
return(sinrepetir)
def registrados(padron,unicos):
n = len(padron)
m = len(unicos)
vale = np.ones(m,dtype=int)
sivotan = []
i = 0
while not(i>=m):
if not(unicos[i] in padron):
vale[i] = 0
if (unicos[i] in padron):
sivotan.append(unicos[i])
i = i+1
sivotan = np.array(sivotan)
return(sivotan)
# PROGRAMA QUE USA LAS FUNCIONES
# INGRESO
n = int(input('cuantos ciudadanos en padrón: '))
padron = []
i = 0
while not(i>=n):
cedula = int(input('cédula : '))
padron.append(cedula)
i = i + 1
m = int(input('cuantos se quejan: '))
sequejan =[]
j = 0
while not(j>=m):
cedula = int(input('cedula: '))
sequejan.append(cedula)
j = j + 1
# PROCEDIMIENTO
sinrepetir = unicos(sequejan)
sivotan = registrados(padron,sinrepetir)
k = len(sivotan)
# Tarea: Verificar si llegan al 10% del padrón
# SALIDA
print('los que si votan son:',k)
print(sivotan)