أخبار الموقع

الخوارزميات العودية (Récursivité / Recursion) في البرمجة: المفهوم والتطبيقات مع تمارين بكالوريا محلولة — الثالثة ثانوي (بكالوريا) إعلام آلي — شعبة تقني رياضي — المنهاج الجزائري

الخوارزميات العودية (Récursivité)

العودية (Récursivité أو Recursion) هي تقنية برمجية تقوم فيها الدالة باستدعاء نفسها لحل مشكلة بتقسيمها إلى مسائل فرعية أصغر. تعتبر من المفاهيم الهامة في امتحانات البكالوريا شعبة تقني رياضي.

1. مفهوم الدالة العودية

الدالة العودية هي دالة تستدعي نفسها ضمن تعريفها. يجب أن تحتوي على شرط توقف (Condition darrêt) يمنع التكرار اللانهائي.

function Factorielle(n : integer) : integer;
begin
  if n <= 1 then
    Factorielle := 1        { شرط التوقف }
  else
    Factorielle := n * Factorielle(n - 1);  { استدعاء عودي }
end;

2. شروط الدالة العودية

  • شرط التوقف (Cas de base): حالة بسيطة يمكن حلها مباشرة
  • الاستدعاء العودي (Appel récursif): استدعاء الدالة نفسها بقيمة أصغر
  • التقارب: يجب أن تقترب كل استدعاء من شرط التوقف

3. مقارنة بين الخوارزميات العودية والتكرارية

الخوارزميات العودية الخوارزميات التكرارية
أسهل في الفهم والكتابة قد تكون أطول في الكتابة
تستهلك ذاكرة أكثر (Stack) تستهلك ذاكرة أقل
مناسبة للمسائل ذات البنية العودية (الأشجار) مناسبة للعمليات البسيطة
قد تكون أبطأ عادة أسرع في التنفيذ

📝 تمرين بكالوريا محلول – حساب المضروب (Factorielle)

التمرين: اكتب برنامجاً في Pascal يستخدم دالة عودية لحساب مضروب عدد صحيح n (n!) حيث n يُدخله المستخدم. ملاحظة: n! = 1 × 2 × 3 × … × n.

الحل النموذجي:

program FactorielleRecursive;
uses wincrt;
var
  n : integer;

function Fact(n : integer) : integer;
begin
  if n <= 1 then
    Fact := 1
  else
    Fact := n * Fact(n - 1);
end;

begin
  write("Entrez un entier positif : ");
  readln(n);
  if n < 0 then
    writeln("Erreur : nombre negatif !")
  else
    writeln(n, "! = ", Fact(n));
end.

📝 تمرين بكالوريا محلول – متتالية فيبوناتشي

التمرين: اكتب دالة عودية في Pascal لحساب حد متتالية فيبوناتشي حيث: Fib(0)=0, Fib(1)=1, Fib(n)=Fib(n-1)+Fib(n-2).

function Fibonacci(n : integer) : integer;
begin
  if n <= 1 then
    Fibonacci := n
  else
    Fibonacci := Fibonacci(n-1) + Fibonacci(n-2);
end;

📌 نصائح للبكالوريا

  • حدد دائماً شرط التوقف أولاً قبل كتابة الاستدعاء العودي
  • تأكد أن المشكلة الفرعية أصغر من المشكلة الأصلية
  • يمكن تحويل معظم الخوارزميات العودية إلى تكرارية والعكس
  • في امتحان البكالوريا، اكتب الخوارزمية العودية إذا كانت أبسط في الفهم

📍 دروس مشابهة:
المصفوفات (Tableaux) في لغة Pascal: التعريف والتصريح والمعالجة مع تمارين بكالوريا محلولة
خوارزميات الفرز والبحث: الفرز الفقاعي والبحث الثنائي مع تمارين بكالوريا محلولة

شاهد أيضا

وزارة التربية تؤكد على التكفل النفسي بالمقبلين على امتحان البكالوريا

أكدت وزارة التربية الوطنية، في مراسلة رسمية وجهتها إلى مديري التربية عبر ولايات الوطن، على …

وزير التربية يكشف آخر مستجدات مسابقة توظيف الأساتذة وينهي الجدل حول الامتحانات المهنية

كشف وزير التربية الوطنية، محمد صغير سعداوي، خلال الندوة الوطنية الأخيرة التي جمعت مديري التربية …

وزارة التربية تحدد آجال سحب كشوف نقاط شهادة التعليم المتوسط 2026

أعلنت وزارة التربية الوطنية عن تحديد آجال سحب كشوف نقاط شهادة التعليم المتوسط (البيام) دورة …

بنك الأسئلة التربوية (2) — للتلاميذ: طرق المراجعة والتحفيز الدراسي (75 سؤالاً)

📚 بنك الأسئلة التربوية (2) — للتلاميذ: طرق المراجعة والتحفيز الدراسي الحلقة الثانية من بنك …

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *