Ejercicio: 1Eva_IIT2006_T2 Dígito verificador de cuenta
[ algoritmo n_dígitos ] [ diagrama flujo ] ; [ algoritmo 4_dígitos ]
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 n_dígitos ] [ diagrama flujo ] ; [ algoritmo 4_dígitos ]
..
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)
[ algoritmo n_dígitos ] [ diagrama flujo ] ; [ algoritmo 4_dígitos ]
..
Diagrama de Flujo
Ejecución del algoritmo
escriba el codigo completo: 25431 1 >>> escriba el codigo completo: 25432 0 >>>
[ algoritmo n_dígitos ] [ diagrama flujo ] ; [ algoritmo 4_dígitos ]
..
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)
[ algoritmo n_dígitos ] [ diagrama flujo ] ; [ algoritmo 4_dígitos ]
Propuesta de solución en Python, otras propuestas: