Ejercicio: 1Eva_IT2012_T1 Codificar número por dígito
[ algoritmo ] [ diagrama flujo ]
Ingrese un numero "original" validando que sea de tres dígitos, es decir entre 100 y 1000.
Se extrae cada dígito usando residuo y cociente de la división para 10.
d = A%10 A = A//10
Aplique a cada dígito las reglas del enunciado del problema usando condicionales.
if (d==2 or d==5 or d==7): d = d+1 else: if (d==1 or d==4 or d==8 or d==9): d = d-1
Los dígitos se vuelven a armar en el código como resultado usando las posiciones i de cada uno de ellos (unidades, decenas, centenas).
codigo = codigo + d*(10**i)
i = i+1
[ algoritmo ] [ diagrama flujo ]
..
Algoritmo en Python
# ICM00794-Fundamentos de Computación - FCNM-ESPOL # 1Eva_IT2012_T1 Codificar número por dígito # INGRESO original = int(input('número: ')) while not(original>=100 and original<1000): original = int(input('número: ')) # PROCEDIMIENTO A = original codigo = 0 i = 0 while not(A==0): d = A%10 A = A//10 if (d==2 or d==5 or d==7): d = d+1 else: if (d==1 or d==4 or d==8 or d==9): d = d-1 codigo = codigo + d*(10**i) i = i+1 # SALIDA print('codificado: ', codigo)
Resultado del algoritmo
número: 472 codificado: 383 >>> número: 503 codificado: 603 >>> número: 615 codificado: 606 >>>
[ algoritmo ] [ diagrama flujo ]
..
Diagrama de Flujo


[ algoritmo ] [ diagrama flujo ]
Propuesta de solución con diagrama de flujo, Python
