دالة الاستدعاء التكرارية Recursive Function - كتاب الذكاء الإصطناعي - الصف 12 - الفصل 1 - المملكة العربية السعودية

الكتاب: كتاب الذكاء الإصطناعي - الصف 12 - الفصل 1 | المادة: الذكاء الإصطناعي | المرحلة: الصف 12 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

الدرس: دالة الاستدعاء التكرارية Recursive Function

📚 معلومات الصفحة

الكتاب: كتاب الذكاء الإصطناعي - الصف 12 - الفصل 1 | المادة: الذكاء الإصطناعي | المرحلة: الصف 12 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

نوع المحتوى: درس تعليمي

مستوى الصعوبة: متوسط

📝 ملخص الصفحة

تقدم هذه الصفحة شرحاً لمفهوم الدوال التكرارية في البرمجة، حيث تستدعي الدالة نفسها بشكل متكرر حتى يتم تحقيق شرط معين. تبدأ الصفحة بمثال عملي لدالة تستدعي دالة أخرى لحساب متوسط الدرجات، حيث تُستخدم دالة `mySumGrade` لحساب مجموع الدرجات ثم دالة `avgFunc` لحساب المتوسط.

يتم بعد ذلك تقديم مفهوم الاستدعاء التكراري (Recursive Call) حيث تشرح الصفحة كيفية قيام الدالة باستدعاء نفسها، مع توضيح البنية العامة للدالة التكرارية التي تتضمن حالة أساسية (base case) واستدعاءً تكرارياً. يتم عرض كود برمجي يوضح هيكل الدالة التكرارية النموذجي.

تتضمن الصفحة أيضاً مخططاً تدفقياً (شكل 2.2) يوضح عملية الاستدعاء التكراري، حيث يبدأ البرنامج الرئيسي باستدعاء الدالة التكرارية، ثم يتم فحص شرط معين - إذا كان الشرط خاطئاً تعود الدالة لاستدعاء نفسها، وإذا كان صحيحاً تنتقل إلى تنفيذ الأمر النهائي. هذا المخطط يساعد في فهم التدفق المنطقي للدوال التكرارية.

📄 النص الكامل للصفحة

--- SECTION: EMPTY --- لنلق نظرة على مثال لدالة تستدعي دالة أخرى.--- SECTION: EMPTY --- def mySumGrade (gradesList): sumGrade=0 l=len(gradesList) for i in range(l): sumGrade=sumGrade+gradesList[i] return sumGrade def avgFunc (gradesList): s=mySumGrade(gradesList) l=len(gradesList) avg=s/l return avg# program section grades=[89,88,98,95] averageGrade=avgFunc(grades) print ("The average grade is: ",averageGrade)--- SECTION: استدعاء الدالة --- .mySumGrade--- SECTION: EMPTY --- تستخدم دالة ()len قائمة كمعامل مدخل، لحساب وتحديد عدد العناصر في القائمة.--- SECTION: EMPTY --- The average grade is: 92.5--- SECTION: دالة الاستدعاء التكرارية Recursive Function --- دالة الاستدعاء التكرارية Recursive Function--- SECTION: EMPTY --- في بعض الحالات تستدعي الدالة نفسها وهذه الخاصية تسمى الاستدعاء التكراري (Recursive Call). يكون بناء الجملة العام لدالة الاستدعاء التكرارية على النحو التالي:--- SECTION: EMPTY --- شكل 2.2: تمثيل الاستدعاء التكراري--- SECTION: EMPTY --- # recursive function def recurseFunction(): if (condition): # base case statement else: #recursive call recurseFunction()# main program .......# normal function call recurseFunction() .......--- SECTION: EMPTY --- الاستدعاء التكراري هو عملية استدعاء الدالة لنفسها.--- SECTION: EMPTY --- 2023 - 1447--- SECTION: EMPTY ------ VISUAL CONTEXT --- **DIAGRAM**: شكل 2.2: تمثيل الاستدعاء التكراري Description: A flowchart illustrating the concept of a recursive function. It starts with a rectangular box labeled 'البرنامج الرئيس' (Main Program). An arrow points from it to another rectangular box labeled 'recurseFunction()'. From 'recurseFunction()', an arrow leads to a diamond-shaped box labeled 'الشرط' (Condition). If the condition is 'خاطئ' (False), an arrow loops back from the diamond to 'recurseFunction()'. If the condition is 'صحيح' (True), an arrow leads from the diamond to a rectangular box labeled 'الأمر' (Command/Statement). Table Structure: Headers: N/A Rows: Calculation needed: EMPTY X-axis: EMPTY Y-axis: EMPTY Data: The diagram shows a decision-making process where a function repeatedly calls itself based on a condition, eventually leading to a final command when the condition is met. Key Values: البرنامج الرئيس, recurseFunction(), الشرط, خاطئ, صحيح, الأمر Context: This flowchart visually represents the control flow of a recursive function, highlighting the conditional check that determines whether the function calls itself again or proceeds to its base case action.

🎴 بطاقات تعليمية للمراجعة

عدد البطاقات: 4 بطاقة لهذه الصفحة

ما هو الاستدعاء التكراري (Recursive Call)؟

الإجابة: هو أن تقوم الدالة باستدعاء نفسها.

الشرح: الاستدعاء التكراري هو خاصية في الدوال حيث تقوم الدالة باستدعاء نفسها بشكل مباشر أو غير مباشر.

تلميح: ماذا يحدث عندما تستدعي الدالة اسمها من داخلها؟

ما هو البناء العام لدالة الاستدعاء التكراري؟

الإجابة: تتكون دالة الاستدعاء التكراري من شرط (base case) يحدد متى تتوقف الدالة عن استدعاء نفسها، وجزء يقوم باستدعاء الدالة نفسها (recursive call) إذا لم يتحقق الشرط.

الشرح: الشرط (base case) ضروري لمنع حدوث حلقة لا نهائية، بينما يقوم الاستدعاء التكراري بتنفيذ العملية المتكررة.

تلميح: لكي لا تستمر الدالة في استدعاء نفسها للأبد، ماذا يجب أن يكون هناك؟

لماذا يعتبر وجود الشرط (base case) ضرورياً في دوال الاستدعاء التكراري؟

الإجابة: الشرط ضروري لتحديد متى تتوقف الدالة عن استدعاء نفسها، مما يمنع حدوث حلقة لا نهائية ويسمح للدالة بالوصول إلى نتيجة.

الشرح: بدون شرط توقف، ستستمر الدالة في استدعاء نفسها إلى ما لا نهاية، مما يؤدي إلى استهلاك موارد النظام وانهيار البرنامج.

تلميح: تخيل أن دالة تستدعي نفسها بدون توقف، ما هي المشكلة التي ستحدث؟

ما هو مصطلح "Recursive Call" باللغة العربية؟

الإجابة: الاستدعاء التكراري.

الشرح: يُشير هذا المصطلح إلى العملية التي تستدعي فيها الدالة نفسها كجزء من تنفيذها.

تلميح: ما هو المصطلح المستخدم عندما تقوم دالة بدعوة نفسها؟