Ejercicio: 1Eva2008TII_T1 Odómetro OCTAL

Se usa el concepto para cambio de base numérica, se extrae cada dígito para acumular el valor ponderando por cada posición referenciada con la variable i.
Si se usa residuo de la división para 10, el primer dígito a extraer es el menos significativo (unidades).
r = octal%10
Se acumulan los valores de acuerdo a la ponderación o peso por posición y se repite hasta que no queden dígitos que ponderar.
octal = octal//10
decimal = decimal+r*(8**i)
Para repasar: Bases Numéricas Introducción
Tarea: validar que el número es octal (rango de dígitos entre 0-7)
Algoritmo en Python
# ICM00794-Fundamentos de Computación - FCNM-ESPOL
# 1Eva_IIT2008_T1 Odometro OCTAL
# Propuesta de solución. edelros@espol.edu.ec
# Tarea: Validar que el ingreso sea en octal.
# INGRESO
octal = int(input('¿numero en octal?: '))
# PROCEDIMIENTO
i = 0
decimal = 0
while (octal>0):
r = octal%10
octal = octal//10
decimal = decimal+r*(8**i)
i = i + 1
# SALIDA
print('valor en decimal: ')
print(decimal)
Resultado del algoritmo
Observación: Tener en cuenta que no se ha validado que el número octal solo debe tener dígitos entre 0 y 7.
¿numero en octal?: 27
valor en decimal:
23
>>>
¿numero en octal?: 14
valor en decimal:
12
>>>
Diagrama de Flujo
