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

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

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

الدرس: الاستدعاء التكراري

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

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

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

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

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

📝 ملخص الصفحة

تتناول هذه الصفحة مفهوم الاستدعاء التكراري في البرمجة، حيث تُعرّف دالة الاستدعاء التكراري بأنها تتكون من حالتين رئيسيتين: الحالة الأساسية (Base Case) التي تتوقف فيها الدالة عن استدعاء نفسها لمنع التكرار اللانهائي، وحالة الاستدعاء التكراري (Recursive Case) التي تستدعي فيها الدالة نفسها حتى تصل إلى الحالة الأساسية.

يتم تقديم مثال شائع على الاستدعاء التكراري وهو حساب مضروب العدد، مع شرح القاعدة الرياضية للمضروب: n! = 1 إذا كان n=0، و n! = (n-1)! * n إذا كان n>0. كما يتضمن النص كودًا برمجيًا بلغة Python لحساب المضروب باستخدام حلقة التكرار (Iteration) للمقارنة مع الطريقة التكرارية.

يحتوي المحتوى على جدول يوضح حساب مضروب الأرقام من 0 إلى 5، يظهر الخطوات التكرارية والتوسيع التكراري، وشكل بياني يمثل قاعدة حساب المضروب باستخدام رسم تخطيطي يوضح الحالة الأساسية وحالة الاستدعاء التكراري، مما يساعد في فهم المفهوم بشكل مرئي وعملي.

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

--- SECTION: تتكون دالة الاستدعاء التكرارية من حالتين: --- تتكون دالة الاستدعاء التكرارية من حالتين:--- SECTION: الحالة الأساسية Base Case --- الحالة الأساسية Base Caseوفي هذه الحالة تتوقف الدالة عن استدعاء نفسها، ويتأكد الوصول إلى هذه الحالة من خلال الأمر المشروط. بدون الحالة الأساسية، ستتكرر عملية الاستدعاء الذاتي إلى ما لا نهاية.--- SECTION: حالة الاستدعاء التكرارية Recursive Case --- حالة الاستدعاء التكرارية Recursive Caseوفي هذه الحالة تستدعي الدالة نفسها عندما لا تتحقق شروط التوقف، وتظل الدالة في حالة الاستدعاء الذاتي حتى تصل إلى الحالة الأساسية.--- SECTION: أمثلة شائعة على الاستدعاء الذاتي Recursion Common Examples --- أمثلة شائعة على الاستدعاء الذاتي Recursion Common Examplesأحد الأمثلة الأكثر شيوعًا على استخدام الاستدعاء الذاتي هو عملية حساب مضروب رقم معين. مضروب الرقم هو ناتج ضرب جميع الأعداد الطبيعية الأقل من أو تساوي ذلك الرقم. يُعبّر عن المضروب بالرقم متبوعًا بالعلامة "!". على سبيل المثال، مضروب الرقم 5 هو 5! ويساوي 5*4*3*2*1.ستلاحظ أن عملية حساب المضروب تستند إلى القاعدة أدناه:n! = { 1 if n=0 ; (n-1)! * n if n>0 }لإنشاء برنامج يقوم باحتساب مضروب العدد باستخدام حلقة التكرار for, اتبع ما يلي:# calculate the factorial of an integer using iteration def factorialLoop(n): result = 1 for i in range(2,n+1): result = result * i return result# main program num = int(input("Type a number: ")) f=factorialLoop(num) print("The factorial of ", num, " is:", f)Type a number: 3 The factorial of 3 is:62023 - 1447--- VISUAL CONTEXT --- **TABLE**: جدول 2.1: مضروب الأرقام من 0 إلى 5 Description: A table showing factorial calculations for numbers from 0 to 5, presented with both recursive calculation steps and full iterative calculation with the final result. Table Structure: Headers: | | | | | Rows: Row 1: 0! | = | 1 | EMPTY | EMPTY | EMPTY Row 2: 1! | = | 0! * 1 | أو | 1! = 1 * 1 = 1 | 1! Row 3: 2! | = | 1! * 2 | أو | 2! = 2 * 1 = 2 | 2! Row 4: 3! | = | 2! * 3 | أو | 3! = 3 * 2 * 1 = 6 | 3! Row 5: 4! | = | 3! * 4 | أو | 4! = 4 * 3 * 2 * 1 = 24 | 4! Row 6: 5! | = | 4! * 5 | أو | 5! = 5 * 4 * 3 * 2 * 1 = 120 | 5! Empty cells: Row 1, Columns 4, 5, and 6 are visually empty. Calculation needed: The table demonstrates the calculation of factorials, showing both the recursive definition (n! = (n-1)! * n) and the expanded iterative calculation (n! = n * (n-1) * ... * 1) for small integers. Data: The table illustrates the factorial of numbers from 0 to 5. For each number, it shows a recursive step (e.g., 1! = 0! * 1) and an iterative expansion with the final numerical result (e.g., 1! = 1 * 1 = 1). Key Values: 0! = 1, 1! = 1, 2! = 2, 3! = 6, 4! = 24, 5! = 120 Context: This table provides concrete examples of factorial calculations, illustrating the concept of recursion and its result for small integers, complementing the textual explanation.**DIAGRAM**: شكل 2.3: قاعدة حساب المضروب Description: A flowchart-like diagram visually representing the mathematical definition of the factorial function (n!). It uses a large curly brace to define n! based on two conditions: the base case (n=0, where n! = 1) and the recursive case (n>0, where n! = (n-1)! * n). Two labeled boxes on the right, 'الحالة الأساسية' (Base Case) and 'حالة الاستدعاء التكرارية' (Recursive Case), point to their respective conditions within the formula. Key Values: n! = 1 if n=0, n! = (n-1)! * n if n>0 Context: This figure visually represents the recursive definition of the factorial function, clearly distinguishing between the base case (the stopping condition) and the recursive case (the step that calls itself), which is fundamental to understanding recursion in programming and mathematics.

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

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

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

الإجابة: تتكون دالة الاستدعاء التكرارية من حالتين: الحالة الأساسية (Base Case) التي تتوقف عندها الدالة عن استدعاء نفسها، وحالة الاستدعاء التكرارية (Recursive Case) التي تستدعي فيها الدالة نفسها.

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

تلميح: فكر في الوظيفة الرئيسية لكل جزء من الدالة التكرارية: أحدهما يوقف التكرار والآخر يستمر فيه.

ماذا يحدث في الحالة الأساسية (Base Case) لدالة الاستدعاء التكرارية؟

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

الشرح: بدون حالة أساسية واضحة، ستستمر الدالة في استدعاء نفسها إلى ما لا نهاية، مما يؤدي إلى خطأ أو استهلاك غير محدود للذاكرة.

تلميح: ما هو الهدف من وجود شرط في البرنامج التكراري؟

متى تستدعي دالة الاستدعاء التكرارية نفسها؟

الإجابة: تستدعي دالة الاستدعاء التكرارية نفسها في حالة الاستدعاء التكرارية (Recursive Case) عندما لا تتحقق شروط التوقف (الحالة الأساسية)، وتظل الدالة في حالة الاستدعاء الذاتي حتى تصل إلى الحالة الأساسية.

الشرح: هذه هي الخطوة التي تضمن استمرار العملية الحسابية أو المنطقية حتى يتم الوصول إلى النتيجة النهائية.

تلميح: فكر في الشرط الذي يجعل الدالة تقوم بتنفيذها مجدداً.

كيف يتم تعريف مضروب الرقم (n!) رياضياً؟

الإجابة: يُعرّف مضروب الرقم n (يُكتب n!) بأنه حاصل ضرب جميع الأعداد الطبيعية الأقل من أو تساوي ذلك الرقم. رياضياً، يُعرّف كالتالي: n! = { 1 إذا كان n=0 ; (n-1)! * n إذا كان n>0 }

الشرح: هذه القاعدة الرياضية توضح كيف يمكن حساب مضروب أي عدد صحيح غير سالب، إما مباشرة (للحالة الأساسية n=0) أو بشكل تكراري.

تلميح: ما هي القيمة التي يتوقف عندها حساب المضروب؟ وما هي القاعدة التي تربط مضروب العدد بمضروب العدد الذي يسبقه؟

اشرح كيف يمكن حساب مضروب الرقم 5 (5!) باستخدام التعريف التكراري.

الإجابة: باستخدام التعريف التكراري، يتم حساب 5! على النحو التالي: 5! = 4! * 5 4! = 3! * 4 3! = 2! * 3 2! = 1! * 2 1! = 0! * 1 0! = 1 (الحالة الأساسية) بالتعويض بالقيم: 1! = 1 * 1 = 1 2! = 1 * 2 = 2 3! = 2 * 3 = 6 4! = 6 * 4 = 24 5! = 24 * 5 = 120

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

تلميح: ابدأ من الحالة الأساسية ثم عد إلى الأعلى، أو ابدأ من العدد المطلوب وتفكيكه حتى تصل للحالة الأساسية.