CConvergeHazel
Espacio de programación con IA

Convergentes de fracciones continuas

Devuelve todos los convergentes de una fracción continua con uno a 32 coeficientes enteros de magnitud máxima 1000.

● ● ●ConvergeHazel●
Flujos de trabajo · Convergentes de fracciones continuas ×
def convergents(terms):
    terms = tuple(terms)
    if not 1 <= len(terms) <= 32 or any(type(a) is not int or abs(a) > 1000 for a in terms):
        raise ValueError("fraction.terms")
    if any(a <= 0 for a in terms[1:]):
        raise ValueError("fraction.tail")
    p0, p1, q0, q1, out = 0, 1, 1, 0, []
    for a in terms:
        p, q = a*p1+p0, a*q1+q0
        out.append((p, q))
        p0, p1, q0, q1 = p1, p, q1, q
    return out
✳Devuelve todos los convergentes de una fracción continua con uno a 32 coeficientes enteros de magnitud máxima 1000.
✓ CambiosRevisa antes de aplicar ↗
Vista ilustrativa
  1. Proyecto

    Prueba un primer término negativo y 3-7-16, rechazando términos posteriores no positivos y manteniendo pares exactos de numerador y denominador.

  2. Revisa antes de aplicar

    Compara el comportamiento real con el resultado esperado. Si una prueba falla, investiga la causa antes de hacer más cambios.

  3. Modelos

    Configura un endpoint compatible con OpenAI o Anthropic usando la URL base y, si hace falta, una clave API. Prueba la conexión. Un servidor local debe estar en ejecución; las herramientas remotas pueden enviar datos por separado.

Flujos de trabajo

Convergentes de fracciones continuas

Flujos de trabajo ↗
Flujos de trabajo
def convergents(terms):
    terms = tuple(terms)
    if not 1 <= len(terms) <= 32 or any(type(a) is not int or abs(a) > 1000 for a in terms):
        raise ValueError("fraction.terms")
    if any(a <= 0 for a in terms[1:]):
        raise ValueError("fraction.tail")
    p0, p1, q0, q1, out = 0, 1, 1, 0, []
    for a in terms:
        p, q = a*p1+p0, a*q1+q0
        out.append((p, q))
        p0, p1, q0, q1 = p1, p, q1, q
    return out
Espacio de programación con IA

Revisa el trabajo numérico sin perder de vista el propósito de la aplicación

ConvergeHazel es un entorno de programación con IA para Windows que permite analizar cambios de código numérico junto con el proyecto que los necesita. Abre la carpeta y explica cómo utiliza la aplicación el cálculo. Pide al modelo conectado que examine la función, sus llamadas y las pruebas pertinentes antes de recomendar una modificación. Ese contexto ayuda a mantener una reescritura matemáticamente plausible alineada con el contrato real del software.

El ejemplo convergents.py puede fundamentar una tarea sobre una secuencia de aproximaciones racionales. Proporciona una entrada breve y los pares exactos de numerador y denominador esperados, y pregunta cómo llegan los resultados intermedios al consumidor. Trata los límites de los términos admitidos y el orden de salida como requisitos explícitos. El ejemplo aporta un objetivo concreto de revisión, mientras la implementación y la verificación siguen siendo tareas realizadas sobre los archivos de tu propio proyecto.

Puedes elegir un modelo de IA sin filtros mediante un endpoint compatible con OpenAI o de Anthropic admitido que lo ofrezca. Configura la conexión y las credenciales según sea necesario; la capacidad de contexto y las herramientas disponibles varían según el servicio. Revisa los cambios propuestos y compara los resultados con casos establecidos de forma independiente. Mantén visibles los requisitos de aritmética exacta si código posterior convierte la salida a decimal. Un parche es más fácil de evaluar cuando cada transformación tiene un propósito declarado y una comprobación en el límite donde puede cambiar su significado.

Cómo hacer comprobable un parche numérico

¿Por qué proporcionar pares exactos en lugar de ejemplos decimales?

Los decimales pueden ocultar diferencias de representación o redondeo. Si el contrato de la función devuelve pares de numerador y denominador, compruébalos directamente primero. Evalúa después cualquier conversión decimal posterior como un paso separado con sus propios requisitos de precisión.

¿Puede el modelo decidir qué límites de entrada eliminar?

Puede proponer razones, pero los requisitos del proyecto deben determinar las entradas admitidas. Examina la validación y las llamadas antes de ampliar el intervalo. Valores mayores o secuencias más largas pueden exigir comprobaciones adicionales de recursos y salida que la tarea original no incluía.

¿Debo verificar solo la última aproximación?

No si el código consumidor utiliza la secuencia intermedia. Incluye el orden esperado y resultados anteriores representativos además del último par. Una función puede alcanzar un valor final plausible y devolver entradas intermedias incorrectas o reordenadas.

¿Qué ocurre si la explicación numérica y las pruebas discrepan?

Pausa la decisión sobre el parche y sigue un caso pequeño en el código. Comprueba el valor esperado de forma independiente y examina los supuestos de la prueba. Ni un razonamiento fluido ni una aserción existente deben imponerse a una discrepancia demostrada sin investigarla.

Descargar para Windows ↗

ConvergeHazel · Actualizado 2026-10-25