CConvergeHazel
Spațiu de programare cu AI

Convergente ale fracțiilor continue

Returnează fiecare convergent al unei fracții continue cu unu până la 32 coeficienți întregi de modul până la 1000.

● ● ●ConvergeHazel●
Fluxuri de lucru · Convergente ale fracțiilor continue ×
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
✳Returnează fiecare convergent al unei fracții continue cu unu până la 32 coeficienți întregi de modul până la 1000.
✓ ModificăriVerifică înainte de aplicare ↗
Ilustrarea spațiului de lucru
  1. Proiect

    Testează un prim termen negativ și 3-7-16, respinge termenii ulteriori nepozitivi și păstrează perechile exacte numărător-numitor.

  2. Verifică înainte de aplicare

    Compară comportamentul real cu rezultatul așteptat. Dacă o verificare eșuează, cercetează cauza înainte de alte modificări.

  3. Modele

    Configurează un endpoint compatibil OpenAI sau Anthropic cu URL-ul de bază și cheia API, dacă este necesară. Testează conexiunea. Serverul local trebuie să ruleze; instrumentele externe pot transmite date separat.

Fluxuri de lucru

Convergente ale fracțiilor continue

Fluxuri de lucru ↗
Fluxuri de lucru
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
Spațiu de programare cu AI

Examinează calculele numerice fără a pierde scopul aplicației

ConvergeHazel este un spațiu de lucru Windows pentru programare cu IA, destinat discutării modificărilor sursei numerice împreună cu proiectul care are nevoie de ele. Deschide folderul și explică modul în care aplicația folosește calculul. Cere modelului conectat să examineze funcția, apelanții și testele relevante înainte să recomande o modificare. Acest context ajută la menținerea unei rescrieri matematic plauzibile în acord cu contractul real al software-ului.

Exemplul convergents.py poate susține o sarcină despre o secvență de aproximații raționale. Oferă o intrare scurtă și perechile exacte numărător-numitor așteptate, apoi întreabă cum ajung rezultatele intermediare la codul care le folosește. Tratează limitele termenilor acceptați și ordinea ieșirii drept cerințe explicite. Exemplul oferă un obiectiv concret de examinare, în timp ce implementarea și verificarea rămân sarcini realizate pe propriile fișiere ale proiectului.

Un model de IA nefiltrată poate fi ales printr-un endpoint acceptat, compatibil cu OpenAI sau Anthropic, care îl oferă. Configurează conexiunea și credențialele după necesități; capacitatea contextului și disponibilitatea instrumentelor variază în funcție de serviciu. Examinează modificările propuse și compară rezultatele cu cazuri stabilite independent. Păstrează vizibile cerințele de aritmetică exactă dacă ulterior codul convertește ieșirea într-o valoare zecimală. O corecție este mai ușor de evaluat când fiecare transformare are un scop declarat și o verificare la limita unde semnificația s-ar putea schimba.

Cum faci verificabilă o corecție numerică

De ce să ofer perechi exacte în loc de exemple zecimale?

Zecimalele pot ascunde o diferență de reprezentare sau rotunjire. Dacă funcția returnează prin contract perechi numărător-numitor, verifică-le mai întâi direct. Apoi evaluează orice conversie zecimală ulterioară ca pas separat, cu propriile cerințe de precizie.

Poate modelul decide ce limite ale intrării să elimine?

Poate propune motive, dar cerințele proiectului trebuie să determine intrările acceptate. Examinează validarea și apelanții înainte să extinzi intervalul. Valori mai mari sau secvențe mai lungi pot necesita verificări suplimentare ale resurselor și ieșirii, neincluse în sarcina inițială.

Ar trebui să verific doar ultima aproximație?

Nu dacă apelanții folosesc secvența intermediară. Include ordinea așteptată și rezultate anterioare reprezentative, precum și ultima pereche. O funcție poate ajunge la o valoare finală plauzibilă, dar poate returna elemente intermediare incorecte sau reordonate.

Ce fac dacă explicația numerică și testele se contrazic?

Amână decizia asupra corecției și urmărește un caz mic prin sursă. Verifică independent valoarea așteptată și examinează ipotezele testului. Nici raționamentul fluent, nici o aserțiune existentă nu ar trebui să prevaleze asupra unei nepotriviri demonstrate fără investigație.

Descarcă pentru Windows ↗

ConvergeHazel · Actualizat 2026-10-25