Ejercicio: 1Eva2006TII_T2 Dígito verificador de cuenta
Para números de cuenta con 4 dígitos y un verificador, se extrae el dígito 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
| Código: | 25431 | codigo = 25431 |
| verificador escrito: | 1 | escrito = codigo%10 = 25431 % 10 = 1 |
| número de cuenta: | 25431 | 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.
Algoritmo en Python: para n dígitos
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)
Diagrama de Flujo

Ejecución del algoritmo
escriba el codigo completo: 25431
1
>>>
escriba el codigo completo: 25432
0
>>>
Algoritmo en Python: para 4 dígitos
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)