Aire de l’union de deux rectangles
Calculez l’aire de l’union de deux rectangles alignés sur les axes à bornes entières strictement croissantes.
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) - overlapModèles
Configurez un endpoint compatible OpenAI ou Anthropic avec son URL de base et une clé API si nécessaire. Testez la connexion. Un serveur local doit fonctionner ; les outils distants peuvent transmettre des données séparément.
Projet
Testez chevauchement, inclusion et contact, en rejetant aire nulle ou bornes inversées avant calcul et en préservant les entrées.
Vérifiez avant d’appliquer
Comparez le comportement observé au résultat attendu. Si une vérification échoue, cherchez la cause avant de poursuivre les modifications.
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) - overlapReliez le code géométrique aux données qu’il reçoit
RectDelta fournit un espace de programmation pour Windows où discuter du code géométrique dans son application, y compris les limites d’entrée entourant le calcul. Ouvrez le projet et décrivez l’origine des coordonnées et l’usage du résultat. Demandez à l’assistant connecté d’examiner ces relations avant de proposer une autre implémentation de l’arithmétique.
Pour une tâche d’union de rectangles, précisez l’ordre des coordonnées, le type numérique accepté et le traitement des formes qui ne font que se toucher. Fournissez des rectangles contenus et se chevauchant comme exemples d’entrée, puis discutez du signalement des bornes invalides. Ces décisions donnent à la revue une cible concrète sans transformer le calcul illustratif en affirmation de présence d’un moteur géométrique intégré.
Examinez ensemble validation et arithmétique, et exécutez les vérifications du projet avec des formes ordinaires et rejetées. Confirmez que l’appelant reçoit le résultat voulu et que les entrées restent disponibles sans modification pour la suite. RectDelta se connecte aux services compatibles OpenAI ou Anthropic pris en charge, avec des identifiants si nécessaire. Un modèle sans restrictions peut être choisi si le point de terminaison configuré en propose un ; les règles du fournisseur et les capacités du serveur régissent toujours la connexion. Gardez les exemples d’acceptation dans la conversation pour évaluer chaque modification suggérée selon la même exigence applicative.
Contrats géométriques avant de modifier l’implémentation
Que préciser à propos d’un rectangle en entrée ?
Indiquez l’ordre des coordonnées, les types numériques acceptés et si les deux dimensions doivent être positives. Incluez le mode d’échec des conteneurs mal formés. L’assistant pourra ainsi examiner toute la frontière d’entrée plutôt que de supposer que quatre valeurs décrivent toujours une forme acceptable.
Pourquoi inclure des rectangles qui se touchent dans les tests ?
Ils distinguent une frontière commune d’un chevauchement d’aire positive. Précisez le résultat d’union attendu et testez-le directement, avec des cas disjoints et contenus, afin que le correctif respecte la convention géométrique du reste de l’application.
La validation peut-elle changer pendant un nettoyage arithmétique ?
Elle peut changer accidentellement, d’où l’importance d’examiner les deux. Comparez les entrées acceptées et rejetées avant de conserver le correctif. Un calcul plus court ne doit pas admettre silencieusement des bornes inversées ou des types numériques exclus par le contrat d’origine.
Comment vérifier la préservation des entrées ?
Conservez des copies des conteneurs de coordonnées d’origine et comparez-les après l’appel. Si des étapes suivantes de l’application les réutilisent, une aire correcte ne suffit pas à prouver que l’implémentation proposée respecte le contrat complet.
RectDelta · Mis à jour 2026-10-25