RRootEquinox
Fluxuri de lucru

Fluxuri de programare · Rădăcini stabile ale ecuației de gradul doi

03
Produs

Fluxuri de lucru

Calculează rădăcini reale ale ecuației de gradul doi cu coeficienți scalați și o formulă rezistentă la anulare numerică. Testează o rădăcină dublă și rădăcini depărtate, respingând coeficientul principal nul ori rezultate nereprezentabile și întorcând nicio rădăcină pentru discriminant negativ.

01

Descarcă aplicația

Selectează un dosar și cere asistentului să citească fișierele relevante înainte de editare. Definește obiectivul și limitele sarcinii.

02

Deschide dosarul proiectului

Alege un endpoint compatibil. Instrumentele disponibile și calitatea răspunsurilor depind de modelul și serverul configurate.

03

Conectează și testează modelul

Verifică modificările și rezultatele comenzilor. Rulează verificările proiectului înainte de acceptare; codul generat nu este testat automat.

04

Verifică modificările și rulează testele

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

Rădăcini stabile ale ecuației de gradul doi

Fluxuri de lucru
from math import isfinite, sqrt, copysign
def real_roots(a, b, c):
    original = (a, b, c)
    if not all(type(v) in (int, float) and isfinite(v) for v in original) or a == 0:
        raise ValueError("finite quadratic coefficients")
    if c == 0:
        other = -b / a
        if not isfinite(other) or (b != 0 and other == 0):
            raise ValueError("unrepresentable root")
        return [0.0] if b == 0 else sorted((0.0, other))
    scale = max(map(abs, original))
    a, b, c = (v / scale for v in original)
    if any(v != 0 and s == 0 for v, s in zip(original, (a,b,c))):
        raise ValueError("coefficient underflow")
    d = b*b - 4*a*c
    if d < 0: return []
    if d == 0: roots = [-b / (2*a)]
    else:
        q = -0.5 * (b + copysign(sqrt(d), b))
        if q == 0: raise ValueError("root underflow")
        roots = sorted((q/a, c/q))
    if not all(map(isfinite, roots)) or (original[2] != 0 and 0 in roots):
        raise ValueError("unrepresentable roots")
    return roots

Verifică înainte de aplicare. Verifică modificările și rezultatele comenzilor. Rulează verificările proiectului înainte de acceptare; codul generat nu este testat automat.

Spațiu de programare cu AI

Următoarea idee începe aici.

Descarcă pentru Windows ↗