المعلوميات · الثالثة إعدادي
الاستدعاء الذاتي في XLOGO – Récursivité
يساعدك هذا الدرس على فهم الاستدعاء الذاتي في XLOGO وتطبيق المفاهيم في نشاط مدرسي. اقرأ الشرح، ثم أنجز التمرينين قبل إظهار التصحيح.
1. الفكرة
الإجراء ذاتي الاستدعاء يستدعي نفسه لحل نسخة أصغر من المسألة. لا يعني ذلك تكرارًا بلا نهاية؛ نحتاج حالة توقف واضحة وتغيرًا يقربنا منها. يستخدم الاستدعاء الذاتي في أشكال ومسائل قابلة للتجزئة.
2. حالة التوقف
في العد التنازلي نوقف التنفيذ عندما يصبح n أصغر من 1. في غير ذلك نعرض n ثم نستدعي الإجراء بقيمة n-1. يجب تنفيذ الاختبار قبل الاستدعاء التالي، وإلا قد يستمر البرنامج دون الوصول إلى النهاية.
3. تتبع التنفيذ
عند appel compte 3 تظهر 3 ثم 2 ثم 1. الاستدعاء بالقيمة 0 يحقق شرط التوقف ولا يعرض عددًا إضافيًا. نختبر أولًا عددًا صغيرًا؛ المسائل الكبيرة قد تستهلك موارد كثيرة.
تطبيق محلول
للتأكد من نهاية compte 3 نتتبع القيم 3→2→1→0. كل خطوة تنقص القيمة، ويوقف الاختبار عند 0 السلسلة. إذا زدنا n بدل إنقاصه فلن نقترب من هذا الشرط.
pour compte :n
si :n<1 [stop]
ec :n
compte :n-1
fin
compte 3
الأوامر مكتوبة وفق واجهة XLOGO الفرنسية. اكتب تعريف الإجراء في المحرر، ثم نفذ سطر الاستدعاء في منطقة الأوامر عندما يتضمن المثال إجراءً.
تمارين مع التصحيح
1. لماذا نحتاج حالة توقف؟
إظهار التصحيح
لإنهاء الاستدعاءات عند بلوغ حالة محددة.
2. ما الخطأ في استدعاء الإجراء بالقيمة نفسها دائمًا؟
إظهار التصحيح
قد لا تتقدم المسألة نحو التوقف ويستمر الاستدعاء حتى حدوث خطأ أو إيقاف.
إعداد تربوي أصلي للمنير. المصطلحات والوظائف العامة ثابتة، وقد تختلف أسماء القوائم بحسب البرنامج والإصدار. مرجع تقني: دليل XLOGO الرسمي، الأوامر والإجراءات.
