Calculadora de fracciones continuas

Calculadora de fracciones continuas

Cualquier número real x se puede representar de manera única mediante la fracción continua:

"x igual a a sub 0 más 1 sobre a sub 1 más 1 sobre a sub 2 más 1 sobre a sub 3 más etcétera

donde a1, a2, a3, ... son números enteros mayores que cero. Una representación más compacta es:

x es igual a a sub 0 más doble barra a sub 1, a sub 2, a sub 3, etcétera doble barra

Si el número a representar es racional, hay una cantidad finita de términos en la fracción continua. Si el número es una irracionalidad cuadrática de la forma fracción donde el numerador es a más la raíz cuadrada de b y el denominador es c , entonces la fracción continua es periódica. Esta calculadora puede encontrar el desarrollo en fracciones continuas de números racionales e irracionalidades cuadráticas. Aparte de los coeficientes an, el programa permite hallar los convergentes An/Bn. Este cociente es la mejor aproximación racional al argumento x con denominador menor o igual que Bn y equivale al valor que se obtiene desarrollando solo los primeros n coeficientes de la fracción continua.

Puede escribir números o expresiones numéricas en las cajas de entrada.

La calculadora acepta números de hasta 10000 dígitos.

Si necesita que la raíz cuadrada reste al número de la izquierda, simplemente cambie el signo de a y c.

Si b es negativo, el resultado no es un número real, así que no se podrá representar como fracción continua.

La calculadora puede hallar todos los coeficientes y los numeradores y denominadores de los convergentes para números racionales. En el caso de irracionalidades cuadráticas, la calculadora se detiene después de hallar el convergente número 100000 si el período es más largo. Si se muestran convergentes,

Expresiones

Se pueden entrar expresiones que usen los siguientes operadores y paréntesis:

  • + para suma
  • - para resta
  • * para multiplicación
  • / para división entera
  • % para el resto de la división entera
  • ^ o ** para exponenciación (el exponente debe ser mayor o igual que cero).
  • <, ==, >; <=, >=, != para comparaciones. Los operadores devuelven cero si es falso y -1 si es verdadero.
  • AND, OR, XOR, NOT para lógica binaria.
  • SHL: Desplazar a la izquierda la cantidad de bits indicada en el operando derecho.
  • SHR: Desplazar a la derecha la cantidad de bits indicada en el operando derecho.
  • n!: factorial (n debe ser mayor o igual que cero).
  • p#: primorial (producto de todos los primos menores o iguales a p).
  • B(n): Número probablemente primo anterior a n
  • F(n): Número de Fibonacci Fn
  • L(n): Número de Lucas Ln = Fn-1 + Fn+1
  • N(n): Número probablemente primo posterior a n
  • P(n): particiones irrestrictas (cantidad de descomposiciones de n en sumas de números enteros sin tener en cuenta el orden).
  • Gcd(m,n): Máximo común divisor de estos dos números enteros.
  • Modinv(m,n): inverso de m modulo n, sólo válido cuando gcd(m,n)=1.
  • Modpow(m,n,r): halla mn módulo r.
  • IsPrime(n): returna cero si n no es un primo probable y -1 si lo es.
  • NumDigits(n,r): cantidad de dígitos de n en base r.
  • SumDigits(n,r): suma de dígitos de n en base r.
  • RevDigits(n,r): halla el valor que se obtiene escribiendo para atrás los dígitos de n en base r.

Puedes usar el prefijo 0x para números hexadecimales, por ejemplo 0x38 es igual a 56.

Algoritmos utilizados

El cálculo de los coeficientes de la fracción continua de un número racional se realiza de la siguiente manera:

  1. Obtener el primer coeficiente como la parte entera del cociente entre el numerador y el denominador.
  2. Sustraer al numerador el producto del denominador y el coeficiente recién hallado.
  3. Mientras el numerador no sea cero:
    1. Intercambiar el numerador y el denominador.
    2. Obtener el siguiente coeficiente como la parte entera del cociente entre el numerador y el denominador.
    3. Sustraer al numerador el producto del denominador y el coeficiente recién hallado.

Se usa el algoritmo PQa para calcular los coeficientes en el caso de irracionalidades cuadráticas, que son cocientes entre numerador + delta y denominador.

  1. Repetir indefinidamente:
    1. Obtener el coeficiente como la parte entera del cociente entre numerador + delta y el denominador.
    2. Sustraer al numerador el producto del coeficiente recién hallado y el denominador.
    3. Cambiar de signo al numerador.
    4. Calcular un resultado auxiliar como la diferencia entre delta y el cuadrado del numerador.
    5. Reemplazar el denominador por el cociente entre el resultado auxiliar anterior y el denominador.

En base a los coeficientes, se pueden calcular los numeradores Ai y denominadores Bi de los convergentes mediante las siguientes operaciones:

  1. Inicializar el numerador del convergente actual y anterior con los valores 1 y 0 respectivamente.
  2. Inicializar el denominador del convergente actual y anterior con los valores 0 y 1 respectivamente.
  3. Por cada coeficiente obtenido:
    1. Calcular un resultado auxiliar como el producto del coeficiente por el numerador del convergente actual.
    2. Obtener el próximo numerador como la suma del resultado auxiliar y el numerador del convergente anterior.
    3. Mostrar el valor recién hallado.
    4. Reemplazar el numerador del convergente anterior por el actual.
    5. Reemplazar el numerador del convergente actual por el próximo.
    6. Realizar los cinco pasos anteriores reemplazando numerador por denominador.

Código fuente

Se puede bajar el código fuente de este programa y el del viejo applet de fracciones continuas desde GitHub. El código fuente está escrito en lenguaje C, por lo que es necesario Emscripten para generar Javascript.

Escrito por Dario Alpern. Actualizado el 25 de julio de 2018.

Si encuentra algún error o tiene algún comentario, por favor llene el formulario.