Ejercicio: 1Eva_IIT2008_T1 Odometro OCTAL
Propuesta de solución en Python: py_pdf, también en matlab: m_pdf
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 digito a extraer es el menos significativo (unidades).
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.
Para repasar: Bases Numéricas Introducción
Tarea: validar que el número es octal (rango de dígitos entre 0-7)-
# 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