Vous êtes sur la page 1sur 1

Escuela Superior Politcnica del Litoral Fundamentos de Computacin

Facultad de Ciencias Naturales y Matemticas ICM00794


Departamento de Matemticas Solucionario

1ra Evaluacin II Trmino 2006-2007. Diciembre 05, 2006


Tema 2 (25 puntos) Cierta compaa tiene codificadas las cuentas de sus clientes y requiere que le
proporcione un algoritmo que dado un cdigo de cuenta, informe si es vlido de acuerdo a la siguiente
descripcin:
Los cdigos de cuenta se conforman de 4 dgitos contados de derecha Ej: Cdigo de Cuenta: 25431
a izquierda, ms el dgito verificador. Cuenta: 2543
El dgito verificador se obtiene sumando los dgitos del nmero de Verificador digitado: 1
cuenta de las posiciones pares y multiplicando los dgitos de las Posiciones Pares: (4+2)
posiciones impares, del nuevo resultado se extrae el residuo de la Posiciones Impares: + (3*5)
divisin para 10, el cual representa el dgito verificador. Suma: 21
Residuo de Suma para 10 -> 1
Rubrica: Extraer dgitos (5 puntos), clculo de verificador (10 puntos).
Verificador calculado: 1
Verificacin de cuenta (5 puntos). Algoritmo integral (5 puntos)
verificador calculado y escrito
iguales: el cdigo es vlido
Propuesta de Solucin:
Para nmeros de cuenta con 5 dgitos, se extrae el digito verificador usando el residuo para 10; con el
cociente de la divisin para 10 queda el nmero de cuenta como se indica en la descripcin.
Se contina con las operaciones para los siguientes dgitos y se obtiene el verificador calculado para
compararlo con el verificador recibido, estableciendo si la respuesta es afirmativa o negativa.
Descripcin DIAGRAMA DE FLUJO Python
Inicio Inicio # 1ra Evaluacin II Termino 2006
Ingreso # Tema 2. Verificador cuenta. Ejercicio Bsico
Ingreso del cdigo de cuenta codigo # Propuesta: edelros@espol.edu.ec
codigo=int(input('escriba el codigo completo: '))
Procedimiento
Extraccin de verificador escrito
vresiduo(codigo/10)
v=codigo%10

Nmero de cuenta ncociente(codigo/10) n=codigo//10

Primer digito aresiduo(n/10) a=n%10

ncociente(n/10) n=n//10

Segundo digito bresiduo(n/10) b=n%10

ncociente(n/10) n=n//10

Tercer digito cresiduo(n/10) c=n%10

Cuarto Digito dcociente(n/10) d=n//10

sa*c+(b+d) s=a*c+(b+d)
Verificador calculado
vcresiduo(s/10)
vc=s%10

Determinar si verificador escrito V if v==vc:


v=vc
es igual al calculado z=1
F
z1 else:
z0 z=0

Salida
Respuesta de salida z
print(z)

Fin
Ejecucin del algoritmo: verificacuenta.py
>>> >>>
escriba el codigo completo: 25431 escriba el codigo completo: 25436
1 0

Solpy_1Eva_IIT2006_T2 edelros@espol.edu.ec Pgina 1

Vous aimerez peut-être aussi