Ejercicio: 1Eva2012TI_T1 Codificar número por dígito
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 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
>>>
Diagrama de Flujo

