Área de unión de dos rectángulos
Calcula el área de unión de dos rectángulos alineados con los ejes y límites enteros estrictamente crecientes.
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) - overlapModelos
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.
Proyecto
Comprueba solapamiento, contención y contacto, rechazando área cero o límites invertidos antes de operar y conservando las entradas.
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.
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) - overlapConecta el código geométrico con los datos que recibe
RectDelta ofrece un entorno de programación para Windows donde analizar código geométrico como parte de una aplicación, incluidos los límites de entrada del cálculo. Abre el proyecto y describe de dónde proceden las coordenadas y para qué se usa el resultado. Pide al asistente conectado que examine esas relaciones antes de proponer una implementación distinta de la aritmética.
Para una tarea de unión de rectángulos, especifica el orden de coordenadas, el tipo numérico aceptado y el tratamiento de figuras que solo se tocan. Aporta rectángulos contenidos y superpuestos como ejemplos de entrada y analiza después cómo deben comunicarse los límites no válidos. Estas decisiones dan un objetivo concreto a la revisión del código sin convertir el cálculo ilustrativo en una afirmación sobre un motor geométrico integrado.
Revisa juntas la validación y la aritmética y ejecuta las comprobaciones del proyecto con figuras normales y rechazadas. Confirma que el código llamador recibe el resultado previsto y que las entradas siguen disponibles sin cambios para trabajos posteriores. RectDelta se conecta a servicios compatibles con OpenAI o de Anthropic admitidos, con credenciales cuando sean necesarias. Puedes elegir un modelo sin restricciones cuando el endpoint configurado lo ofrezca; las reglas del proveedor y las capacidades del servidor siguen rigiendo la conexión. Mantén los ejemplos de aceptación en la conversación para evaluar cada cambio sugerido frente al mismo requisito de la aplicación.
Contratos geométricos antes de cambiar la implementación
¿Qué debo especificar sobre la entrada de un rectángulo?
Indica el orden de coordenadas, los tipos numéricos aceptados y si ambas dimensiones deben ser positivas. Incluye cómo deben fallar los contenedores malformados. El asistente podrá revisar el límite completo en lugar de suponer que toda entrada de cuatro valores describe una figura aceptable.
¿Por qué incluir rectángulos que se tocan en las pruebas?
Distinguen los límites compartidos del solapamiento con área positiva. Indica el resultado esperado de la unión y pruébalo directamente junto con casos separados y contenidos, para que el parche refleje la convención geométrica usada por el resto de tu aplicación.
¿Puede cambiar la validación durante una limpieza aritmética?
Puede cambiar accidentalmente, por eso ambas merecen revisión. Compara casos de entrada aceptados y rechazados antes de conservar el parche. Un cálculo más corto no debe admitir silenciosamente límites invertidos ni tipos numéricos excluidos por el contrato original.
¿Cómo debo comprobar que se conservan las entradas?
Guarda copias de los contenedores de coordenadas originales y compáralas después de la llamada. Si pasos posteriores de la aplicación los reutilizan, un área correcta por sí sola no basta para demostrar que la implementación propuesta respeta el contrato completo.
RectDelta · Actualizado 2026-10-25