s1Eva_IIT2006_T2 Dígito verificador de cuenta

Ejercicio: 1Eva_IIT2006_T2 Dígito verificador de cuenta

Propuesta de solución en Python, otras propuestas : py_pdf, m_pdf

Para números de cuenta con 5 dígitos, se extrae el digito verificador usando el residuo para 10; con el cociente de la división para 10 queda el número de cuenta como se indica en la descripción. Referencia, Operaciones básicas

Ejemplo
Código: 25431 codigo = 25431
verificador escrito: 1 escrito = codigo%10
= 2543 % 10 = 1
número de cuenta: 2543 numero = codigo//10
= 25431 // 10 = 2543

se extraen los dígitos del número de posición impar usando también el residuo de 10. Se continua la operación con el siguiente dígito usando la división entera de 10

impar  = numero%10 = 2543%10 = 3
numero = numero//10 = 2543//10 = 254

de forma semejante se obtiene el dígito de posición par, usando el residuo de 10.

par = numero%10 =254%10 = 4
numero = numero//10 = 254//10 = 25

Se continúa con las operaciones para los siguientes dígitos, realizando la operación de suma y multiplicación.

Se obtiene el verificador calculado para compararlo con el verificador recibido, estableciendo si la respuesta es afirmativa o negativa.

Opción 1. Usando lazos, es más general para usar mayor cantidad de dígitos

# ICM00794-Fundamentos de Computación - FCNM-ESPOL
# 1Eva_IIT2006_T2 Dígito verificador de cuenta

# INGRESO
codigo = int(input('escriba el codigo completo: '))

# PROCEDIMIENTO
escrito = codigo%10
numero  = codigo//10

multimpar = 1
sumapar   = 0
while not(numero <= 0):
    impar  = numero%10
    numero = numero//10
    multimpar = multimpar*impar

    par = numero%10
    numero  = numero//10
    sumapar = sumapar+par
    
suma = sumapar + multimpar
calculado = suma%10

if (escrito == calculado):
    respuesta = 1
else:
    respuesta = 0

# SALIDA
print(respuesta)

Ejecución del algoritmo

escriba el codigo completo: 25431
1
>>> 
escriba el codigo completo: 25432
0
>>> 

Opción 2. En caso que requiera repasar más sobre lazos, aún se presenta una solución particular, solo para cuatro dígitos.

# ICM00794-Fundamentos de Computación - FCNM-ESPOL
# 1ra Evaluación II Termino 2006
# Tema 2. Verificador cuenta. Ejercicio Básico

# INGRESO
codigo = int(input('escriba el codigo completo: '))

# PROCEDIMIENTO
escrito = codigo%10
numero = codigo//10

a = numero%10
numero = numero//10

b = numero%10
numero = numero//10

c = numero%10
d = numero//10

suma = a*c+(b+d)
calculado = suma%10

if (escrito == calculado):
    respuesta = 1
else:
    respuesta = 0

# SALIDA
print(respuesta)

ejercicios resueltos Python 1eva_iit2006_t2 pdf

ejercicios resueltos Matlab 1eva_iit2006_t2 pdf