Aria reuniunii a două dreptunghiuri
Calculează aria reuniunii a două dreptunghiuri aliniate pe axe cu limite întregi strict crescătoare.
def union_area(first, second):
if any(type(v) not in (list, tuple) or len(v) != 4 for v in (first, second)):
raise ValueError("rectangle.container")
first, second = tuple(first), tuple(second)
for rectangle in (first, second):
if len(rectangle) != 4 or any(type(v) is not int for v in rectangle):
raise ValueError("rectangle.integer")
x0, y0, x1, y1 = rectangle
if x0 >= x1 or y0 >= y1:
raise ValueError("rectangle.bounds")
a, b, c, d = first
e, f, g, h = second
overlap = max(0, min(c, g) - max(a, e)) * max(0, min(d, h) - max(b, f))
return (c - a) * (d - b) + (g - e) * (h - f) - overlapModele
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.
Proiect
Verifică suprapunere, includere și atingere, respingând aria zero sau limitele inversate înainte de calcul și păstrând intrările.
Verifică înainte de aplicare
Compară comportamentul real cu rezultatul așteptat. Dacă o verificare eșuează, cercetează cauza înainte de alte modificări.
def union_area(first, second):
if any(type(v) not in (list, tuple) or len(v) != 4 for v in (first, second)):
raise ValueError("rectangle.container")
first, second = tuple(first), tuple(second)
for rectangle in (first, second):
if len(rectangle) != 4 or any(type(v) is not int for v in rectangle):
raise ValueError("rectangle.integer")
x0, y0, x1, y1 = rectangle
if x0 >= x1 or y0 >= y1:
raise ValueError("rectangle.bounds")
a, b, c, d = first
e, f, g, h = second
overlap = max(0, min(c, g) - max(a, e)) * max(0, min(d, h) - max(b, f))
return (c - a) * (d - b) + (g - e) * (h - f) - overlapConectează codul geometric la datele pe care le primește
RectDelta oferă un spațiu de lucru Windows pentru discutarea codului geometric ca parte a unei aplicații, inclusiv limitele intrărilor din jurul calculului. Deschide proiectul și descrie originea coordonatelor și utilizarea rezultatului. Cere asistentului conectat să inspecteze aceste relații înainte de a propune o implementare diferită a aritmeticii.
Pentru o sarcină de reuniune a dreptunghiurilor, precizează ordinea coordonatelor, tipul numeric acceptat și tratarea formelor care doar se ating. Adu dreptunghiuri incluse unul în altul și dreptunghiuri suprapuse ca exemple, apoi discută raportarea limitelor nevalide. Aceste decizii dau analizei un obiectiv concret, fără a transforma calculul ilustrativ într-o afirmație despre un motor geometric integrat.
Verifică împreună validarea și aritmetica și rulează testele proiectului cu forme obișnuite și respinse. Confirmă că apelantul primește rezultatul dorit și că intrările rămân disponibile nemodificate pentru operațiile ulterioare. RectDelta se conectează la servicii compatibile OpenAI sau Anthropic acceptate, cu date de autentificare când sunt necesare. Poți alege un model fără restricții acolo unde endpointul configurat îl oferă; regulile furnizorului și capacitățile serverului guvernează în continuare conexiunea. Păstrează exemplele de acceptare în conversație pentru a evalua fiecare editare față de aceeași cerință a aplicației.
Contractele geometrice înainte de schimbarea implementării
Ce trebuie să precizez despre un dreptunghi de intrare?
Precizează ordinea coordonatelor, tipurile numerice acceptate și dacă ambele dimensiuni trebuie să fie pozitive. Include modul în care trebuie să eșueze containerele malformate. Astfel asistentul poate verifica întreaga limită, fără a presupune că orice intrare de patru valori descrie o formă acceptabilă.
De ce să includ dreptunghiuri care se ating în cazurile de test?
Ele disting limitele comune de suprapunerea cu arie pozitivă. Precizează rezultatul așteptat al reuniunii și testează-l direct, alături de cazuri separate și incluse, astfel încât corecția să reflecte convenția geometrică folosită de restul aplicației.
Se poate schimba validarea în timpul simplificării aritmeticii?
Se poate schimba accidental, de aceea ambele merită analizate. Compară intrările acceptate și respinse înainte de a păstra corecția. Un calcul mai scurt nu trebuie să admită tacit limite inversate sau tipuri numerice excluse de contractul inițial.
Cum verific păstrarea intrărilor?
Păstrează copii ale containerelor originale de coordonate și compară-le după apel. Dacă etapele ulterioare ale aplicației le refolosesc, o arie corectă nu este suficientă pentru a demonstra că implementarea propusă respectă întregul contract.
RectDelta · Actualizat 2026-10-25