Fracción generatriz de números decimales periódicos puros o mixtos

Para introducir los números reales, es usual el que se enseñe la forma de calcular fracciones generatrices de números decimales exactos, periódicos puros y periódicos mixtos. Para la creación de este tipo de ejercicios (pero restringido a periódicos puros y mixtos ya que los exactos se obtienen de forma inmediata) muestro la forma de hacerlo con LyX/pythontex y la librería sympy. En la solución del ejercicio, además de obtener la fracción generatriz, se descomponen en factores primos el numerador y denominador de la fracción obtenida y se simplifica para obtener la fracción irreducible equivalente.

En el código del fichero LyX hay una función que creo merece la pena comentar, se trata de:

#Para factorizar un número
def factoriza(n):
    factores = factorint(n)
    resultado = '\\begin{tabular}{r|l}'
    for primo in factores:
        for i in range(factores[primo]):
            resultado = resultado+str(n)+'&'+str(primo)+'\\\\'
            n = n//primo
    return print(resultado + '1&\\\\\\end{tabular}')

se puede reutilizar en otros ficheros para poder obtener la descomposición en factores de un número entero, por ejemplo con una llamada del tipo

\sympyc{factoriza(4004)}

se obtendría:

image

Comento ya el fichero LyX que resuelve los problemas del enunciado. Los únicos parámetros que tendremos que modificar en el fichero son:

#Definimos nuestro número decimal periódico puro o mixto
#Tienen que ir como cadena para poder hacerlo
#Nuestro número será de la forma ce+cap+cp donde
# ce -> es la parte entera
# cap -> anteperiodo si el decimal es periódico mixto
#        si el decimal es periódico puro dejarlo vacio
# cp -> es el la parte del periodo

#Escribimos nuestro número
ce='0'
#cap='025'
cap=''
cp='142857'

En el fichero disponible para su descarga se han creado dos ejercicios, el primero con los valores anteriores y el segundo con:

#Escribimos nuestro número
ce='0'
#cap='025'
cap='58'
cp='3'

A partir de ellos se obtienen los enunciados (en diferente orden del que se muestra aquí en la Web):

Ejercicios

  1. Halla la fracción generatriz irreducible de 0.1428571428571428570.142857142857142857\ldots
  2. Halla la fracción generatriz irreducible de 0.583330.58333\ldots

Para esos valores la solución obtenida es

Solución

  1.  x=0.142857142857142857x=0.142857142857142857\ldots

      1000000x=1000000\cdot x= 142857.142857142857142857.142857142857\ldots
    - 1x=1\cdot x= 0.1428571428570.142857142857\ldots
      999999x=999999\cdot x= 142857142857xxxxxxxxxxxxxxxx\phantom{xxxxxxxxxxxxxxxx}

    x=142857999999\Rightarrow\,x=\dfrac{142857}{999999}

    Si factorizamos el numerador y denominador tenemos que

    image1

    x=142857999999=111131333711111313337171=17x=\dfrac{142857}{999999}=\dfrac{11^{1}\cdot13^{1}\cdot3^{3}\cdot37^{1}}{11^{1}\cdot13^{1}\cdot3^{3}\cdot37^{1}\cdot7^{1}}=\frac{1}{7}

  2.  x=0.58333x=0.58333\ldots

    1000x=1000\cdot x= 583.3583.3\ldots
    - 100x=100\cdot x= 58.358.3\ldots
    900x=900\cdot x= 525525xxxx\phantom{xxxx}

    x=525900\Rightarrow\,x=\dfrac{525}{900}

    Si factorizamos el numerador y denominador tenemos que image2

    x=525900=315271223252=712x=\dfrac{525}{900}=\dfrac{3^{1}\cdot5^{2}\cdot7^{1}}{2^{2}\cdot3^{2}\cdot5^{2}}=\frac{7}{12}