انتقل إلى المحتوى

01 · الأعداد الطبيعية: الصفر والخليفة والعودية

الأعداد الطبيعية: الصفر والخليفة والعودية

مثّل كل عدد طبيعي بصفر أو خليفة واقرأ المساواة والجمع من هاتين الحالتين.

قبل هذا الفصل

تعرف أن المعاملات تستدعي أساليب خاصة وأن المزيّن يسجل عند الرجوع.

بعد هذا الفصل تستطيع
  • شرح التعريف الرياضي لـ «الأعداد الطبيعية: الصفر والخليفة والعودية» بكلماتك
  • تحديد تمثيله في بيانات Python
  • توقع تنفيذ صغير من الشفرة الفعلية
التعريف الرياضي

الصفر والخليفة من منطلقات بيانو. أما `n + 0 = n` و`n + S(m) = S(n + m)` فهما تعريفان عوديان للجمع.

تمثيل البيانات

يمثل `pre=None` الصفر و`pre=n` يمثل `S(n)`. يُخزن 2 كسلسلة `S(S(0))` لا كحقل int.

التنفيذ في Python

`0` / `S(n)` → `NaturalNumber.pre`; recursive addition → `__add__`

التنفيذ والاختبارات للقراءة مع الفصل

peano/natural_number.py · tests/test_natural_number.py

التعريف الرياضي

التعريف الرياضي

الصفر والخليفة من منطلقات بيانو. أما n + 0 = n وn + S(m) = S(n + m) فهما تعريفان عوديان للجمع.

تمثيل البيانات

تمثيل البيانات

يمثل pre=None الصفر وpre=n يمثل S(n). يُخزن 2 كسلسلة S(S(0)) لا كحقل int.

التنفيذ في Python

التنفيذ في Python

يميز __eq__ الصفر من الخليفة ويقارن السوابق، ويطابق فرعا __add__ معادلتي الجمع مباشرة.

المطابقة الدقيقة المستخدمة في الدورة:

`0` / `S(n)` → `NaturalNumber.pre`; recursive addition → `__add__`

مسار التنفيذ

مسار التنفيذ

في 2 + 2 يتناقص الطرف الأيمن حتى الصفر، ثم تظهر الحالة الأساسية قبل الاستدعاءات الخارجية عند الرجوع.

توقع قبل التشغيل

اكتب سطر الحالة الأساسية وآخر سطر عودي والقيمة النهائية.

تجربة · الأعداد الطبيعية: الصفر والخليفة والعودية لم يُشغّل
⌘ / Ctrl + Enter
المخرجات
اكتب توقعك أولًا ثم شغّل.

التحقق بالاختبارات

التحقق بالاختبارات

تفحص الاختبارات تميّز الصفر وحقنية الخليفة ومعادلتي الجمع، لكنها لا تغني عن الاستقراء.

النطاق والحدود

النطاق والحدود

تُظهر السلسلة الأحادية البنية لكن كلفتها تزداد مع القيمة؛ استخدم مدخلات صغيرة.

أي عبارة تصف تنفيذ «الأعداد الطبيعية: الصفر والخليفة والعودية» وصفًا صحيحًا؟