Problem

2/12

العودية. محاكاة الدورة

Theory Click to read/hide

العودية. محاكاة الحلقة لقد رأينا أن العودية هي التنفيذ المتكرر للتعليمات الواردة في روتين فرعي. وهذا بدوره يشبه عمل الدورة. هناك لغات برمجة يكون فيها بناء الحلقة غائبًا على الإطلاق ، على سبيل المثال ، Prolog. & nbsp؛
دعنا نحاول محاكاة عمل الحلقة لـ . & nbsp؛

تحتوي الحلقة لـ على متغير عداد الخطوة. في روتين فرعي متكرر ، يمكن تمرير مثل هذا المتغير كمعامل. // الإجراء LoopImitation () مع معلمتين. // المعلمة الأولى & ndash؛ عداد الخطوة ، المعلمة الثانية & ndash ؛ العدد الإجمالي للخطوات. LoopImitation باطلة (int i، int n) { كوت & lt؛ & lt؛ "مرحبًا N" & lt؛ & lt؛ أنا & lt ؛ & lt ؛ نهاية. // العامل المراد تكراره لأي قيمة لـ i إذا (i & lt ؛ n) // حتى يساوي عداد الحلقة n ، {// استدعاء مثيل جديد للإجراء ، مع المعلمة i + 1 (انتقل إلى القيمة التالية i). LoopImitation (i + 1، n) ؛ } }

Problem

ادرس البرنامج أدناه ورتب في البرنامج الرئيسي استدعاء إجراء مع المعلمات i = 1 ، n = 10 . # تضمين & lt؛ iostream & gt؛ استخدام اسم للمحطة؛ // الإجراء LoopImitation () مع معلمتين. // المعلمة الأولى & ndash؛ عداد الخطوة ، المعلمة الثانية & ndash ؛ العدد الإجمالي للخطوات. LoopImitation باطلة (int i، int n) { كوت & lt؛ & lt؛ "مرحبًا N" & lt؛ & lt؛ أنا & lt ؛ & lt ؛ نهاية. // العامل المراد تكراره لأي قيمة لـ i. إذا (i & lt ؛ n) // حتى يساوي عداد الحلقة n ، {// استدعاء مثيل جديد للإجراء ، مع المعلمة i + 1 (انتقل إلى القيمة التالية i). LoopImitation (i + 1، n) ؛ } } رئيسي() { // هنا من الضروري إصدار استدعاء إجراء مع المعلمات i = 1 ، n = 10. }