مساحة اتحاد مستطيلين
احسب مساحة اتحاد مستطيلين موازيين للمحاور بحدود صحيحة متزايدة قطعا.
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) - overlapالنماذج
اضبط نقطة اتصال متوافقة مع OpenAI أو Anthropic باستخدام العنوان الأساسي ومفتاح API عند الحاجة. اختبر الاتصال. يجب أن يعمل خادم النموذج المحلي؛ وقد ترسل الأدوات البعيدة البيانات بشكل منفصل.
المشروع
اختبر التداخل والاحتواء والتلامس وارفض المساحة الصفرية والحدود المعكوسة قبل الحساب مع إبقاء المدخلين.
راجع قبل التطبيق
قارن السلوك الفعلي بالنتيجة المتوقعة. إذا فشل فحص، تحقّق من السبب قبل إجراء تغييرات إضافية.
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) - overlapاربط الشيفرة الهندسية بالبيانات التي تتلقاها
يوفر RectDelta بيئة برمجة على Windows لمناقشة الشيفرة الهندسية ضمن تطبيق، بما يشمل حدود المدخلات حول الحساب. افتح المشروع وصف مصدر الإحداثيات واستخدام النتيجة. اطلب من المساعد المتصل فحص هذه العلاقات قبل اقتراح تنفيذ حسابي مختلف.
لمهمة اتحاد المستطيلات، حدد ترتيب الإحداثيات ونوع الأعداد المقبول ومعالجة الأشكال التي تتلامس فقط. أحضر مستطيلات محتواة ومتداخلة كأمثلة ثم ناقش الإبلاغ عن الحدود غير الصالحة. تمنح هذه القرارات المراجعة هدفا محددا دون تحويل الحساب التوضيحي إلى ادعاء وجود محرك هندسي مدمج.
راجع التحقق والحساب معا وشغل اختبارات المشروع بأشكال عادية ومرفوضة. أكد تلقي المستدعي النتيجة المقصودة وبقاء المدخلات دون تغيير للأعمال اللاحقة. يتصل RectDelta بخدمات مدعومة متوافقة مع OpenAI أو تابعة لـ Anthropic مع بيانات الاعتماد عند الحاجة. يمكن اختيار نموذج بلا قيود حيث توفره نقطة النهاية المضبوطة؛ وتظل قواعد المزود وقدرات الخادم حاكمة للاتصال. احتفظ بأمثلة القبول في المحادثة لتقييم كل تعديل مقترح وفقا لمتطلب التطبيق نفسه.
العقود الهندسية قبل تغيير التنفيذ
ماذا أحدد بشأن مدخلات المستطيل؟
اذكر ترتيب الإحداثيات والأنواع العددية المقبولة وهل يجب أن يكون البعدان موجبين. أدرج كيفية فشل الحاويات المعيبة. يستطيع المساعد حينها مراجعة الحد كاملا بدلا من افتراض أن كل مدخل من أربع قيم يمثل شكلا مقبولا.
لماذا أدرج مستطيلات متلامسة في الاختبارات؟
تميز الحدود المشتركة من تداخل ذي مساحة موجبة. حدد نتيجة الاتحاد المتوقعة واختبرها مباشرة مع حالات الانفصال والاحتواء، لتعكس الرقعة القاعدة الهندسية المستخدمة في بقية التطبيق.
هل يمكن أن يتغير التحقق أثناء تنظيف الحساب؟
قد يتغير عرضيا، ولذلك يستحق الاثنان المراجعة. قارن حالات المدخلات المقبولة والمرفوضة قبل الاحتفاظ بالرقعة. لا ينبغي لحساب أقصر أن يسمح بصمت بحدود معكوسة أو أنواع أعداد يستبعدها عقدك الأصلي.
كيف أتحقق من الحفاظ على المدخلات؟
احتفظ بنسخ من حاويات الإحداثيات الأصلية وقارنها بعد الاستدعاء. إن أعادت خطوات التطبيق اللاحقة استخدامها، فلا تكفي صحة المساحة وحدها دليلا على احترام التنفيذ المقترح للعقد الكامل.
RectDelta · آخر تحديث 2026-10-25