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