s1Eva_IT2012_T1 Codificar número por dígito

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

ejercicios resueltos Python 1Eva_IT2012_T1 pdf