Explanation: تسمى تقنية البرمجة للبرنامج نفسها العودية.
وتسمى تقنية البرمجة لبرنامج يدعو نفسه العودية. يستخدم العودية على نطاق واسع كخوارزمية في لغات البرمجة. تحتوي العملية أو الدالة على طريقة لاستدعاء نفسها بشكل مباشر أو غير مباشر في تعريفها أو وصفها. عادة ما يحول طبقة مشكلة كبيرة ومعقدة حسب الطبقة إلى مشكلة أصغر مماثلة للمشكلة الأصلية التي يجب حلها. لا تتطلب الاستراتيجية المتكررة سوى عدد صغير من البرامج لوصف الحسابات المتكررة المتعددة المطلوبة لعملية حل المشكلات ، مما يقلل بشكل كبير من كمية الكود في البرنامج. تكمن قدرة التكرار في استخدام البيانات المحدودة لتحديد مجموعة من الكائنات اللانهائية.
ثلاثة شروط للتوكر:
1. الشروط الحدودية
2. قسم التقدم المتكرر
3. شريحة العودة بشكل متكرر
عندما لا تكون حالة الحدود غير راضية ، تابع بشكل متكرر ؛ عندما يتم استيفاء حالة الحدود ، ارجع بشكل متكرر.
فيما يلي برنامجان مثال:
1. استخدم رمز Java للعثور على مصنع 5. (مصنع 5 = 5*4*3*2*1)
حزمة org.wxp.recursion ؛ / ***احسب مصنع 5 (النتيجة = 5*4*3*2*1)*Author Championship.wong*/ public class test01 {public static void main (args [] args) {system.out.println (f (5)) ؛ } static int f (int n) {if (1 == n) return 1 ؛ عودة أخرى n*(n-1) ؛ }} في هذا السؤال ، يتم تحليل الشروط الثلاثة للتكرار:
(1) شروط الحدود: العامل ، الضرب إلى الرقم الأخير ، أي 1 ، العائد 1 ، وسيتم تنفيذ البرنامج حتى النهاية ؛
(2) قسم التقدم المتكرر: عندما لا تساوي المعلمة الحالية 1 ، تابع استدعاء نفسك ؛
(3) مقطع الإرجاع بشكل متكرر: ابدأ من أكبر رقم ، إذا كانت المعلمة الحالية 5 ، فهي 5*4 ، أي ، 5*(5-1) ، أي ، n*(n-1)
2. استخدم رمز Java للعثور على التسلسل: 1 ، 1 ، 2 ، 3 ، 5 ، 8 ...... رقم 40 رقم
حزمة org.wxp.recursion ؛ / *** ابحث عن التسلسل: 1 ، 1 ، 2 ، 3 ، 5 ، 8 ...... رقم 40 رقم*/ فئة عامة test_02_fibonacci {public static void main (string [] args) {system.out.println (f (6)) ؛ } static int f (int n) {if (1 == n || 2 == n) return 1 ؛ عودة أخرى f (n-1) + f (n-2) ؛ }} 3. وصف المشكلة: حل قيمة الموضع العاشر لتسلسل فيبوناتشي؟ (يشير تسلسل Fibonacci ، المعروف أيضًا باسم التسلسل المقسّم الذهبي ، إلى تسلسل: 1 ، 1 ، 2 ، 3 ، 5 ، 8 ، 13 ، 21 ، ... في الرياضيات ، يتم تعريف تسلسل Fibonacci في الطريقة العودية التالية: f0 = 0 ، f1 = 1 ، fn = f (n-1)+f (n-2)
قائمة البرامج:
/** *<p> العنوان: Java خوارزمية العودية مثال </p> *<p> الوصف: استخدم الخوارزمية العودية لحل قيمة الرقم الخامس من تسلسل Fibonacci </p> *<p> filename: fibonacci.java </p>/public class fibonacci { تسلسل Fibonacci *معلمات الإدخال: int n *نوع الإرجاع: int */ public static int fun (int n) {if (1 == n || 2 == n) {return 1 ؛ } آخر {return (fun (n-1) + fun (n-2)) ؛ }} / ** *الطريقة الوصف: الطريقة الرئيسية *معلمات الإدخال: string [] args *نوع الإرجاع: void * / public static void main (string [] args) {system.out.println (fun (10)) ؛ }}نتائج التشغيل كما يلي:
انسخ الرمز على النحو التالي: 55