الثانوية العامة 2026الاستعلام عن النتيجةاعرف الكليات المناسبة لمجموعكتنسيق 2026

الحاسب الآلي · الصف الثالث الإعدادي · الترم الأول

الحلقات التكرارية LOOP في خرائط التدفق

مفهوم التكرار في خرائط التدفق، حلقة العد وحلقة الشرط، وأمثلة عملية مثل جمع الأعداد من 1 إلى 10 مع تحويلها إلى كود VB.NET باستخدام For وDo While.

آخر تحديث: · كيف نراجع المحتوى

المحتوى الرئيسي

مفهوم التكرار (Loop)

التكرار هو التركيب الثالث من تراكيب خرائط التدفق (بعد التتابع والتفرع)، ويُستخدم عندما تحتاج المشكلة إلى إعادة تنفيذ مجموعة من الخطوات أكثر من مرة، دون الحاجة لكتابة نفس الخطوات يدويًّا في كل مرة. يعتمد التكرار دائمًا على رمز القرار (المعين) لاختبار شرط الاستمرار أو التوقف في كل دورة (Iteration).

أنواع الحلقات التكرارية

1. حلقة العد (Counting Loop / For Loop)

تُستخدم عندما يكون عدد مرات التكرار معروفًا مسبقًا وثابتًا. تعتمد على متغير خاص يسمى عداد (Counter)، يبدأ من قيمة ابتدائية، ويزداد (أو يقل) بمقدار ثابت في كل دورة، حتى يصل إلى قيمة نهائية محددة فيتوقف التكرار.

عناصر حلقة العد الأساسية:

  • قيمة بداية العداد.
  • قيمة نهاية العداد (شرط التوقف).
  • مقدار الزيادة (خطوة التكرار)، وغالبًا يكون 1.

2. حلقة الشرط (Conditional Loop / While Loop)

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

تمثيل حلقة العد في خريطة التدفق

خطوات المشكلة: جمع الأعداد من 1 إلى 10

  1. Start
  2. Sum = 0 , i = 1 (Process - تهيئة)
  3. هل i ≤ 10 ؟ (Decision - شرط الاستمرار)
    • لا → اطبع Sum (Output)، ثم End
    • نعم ↓
  4. Sum = Sum + i (Process - تنفيذ جسم الحلقة)
  5. i = i + 1 (Process - تحديث العداد)
  6. ارجع إلى الخطوة 3 (سهم عودة للأعلى)

يلاحَظ أن رمز المعين هنا يُختبَر في كل دورة، وأن هناك سهمًا يعود من نهاية جسم الحلقة إلى نقطة اختبار الشرط من جديد، وهذا السهم الراجع هو ما يميّز شكل حلقة التكرار في خريطة التدفق عن شكل التفرع العادي.

الكود المقابل بلغة VB.NET باستخدام For:

Dim i As Integer
Dim Sum As Integer

Sum = 0

For i = 1 To 10
    Sum = Sum + i
Next i

Console.WriteLine("مجموع الأعداد من 1 إلى 10 = " & Sum)

هنا تتولى جملة For...Next تلقائيًّا إدارة العداد i (بداية القيمة، الزيادة بمقدار 1 تلقائيًّا، واختبار شرط التوقف)، فيما يقابل عناصر خريطة التدفق الأربعة (التهيئة، الشرط، جسم الحلقة، تحديث العداد) بشكل مضمّن داخل الجملة نفسها.

خريطة تدفق لجمع الأعداد من 1 إلى 10: تهيئة Sum وi ثم معين الشرط i ≤ 10، وعند نعم يُنفذ Sum = Sum + i ثم i = i + 1 ويعود السهم إلى الشرط، وعند لا تُطبع Sum

تمثيل حلقة الشرط في VB.NET

مثال: إدخال أعداد وجمعها، والتوقف فقط عند إدخال القيمة صفر (عدد مرات التكرار هنا غير معروف مسبقًا).

Dim Num As Integer
Dim Sum As Integer

Sum = 0
Num = Console.ReadLine()

Do While Num <> 0
    Sum = Sum + Num
    Num = Console.ReadLine()
Loop

Console.WriteLine("المجموع = " & Sum)

في هذا المثال، يستمر التكرار طالما الشرط Num <> 0 متحققًا، ويتوقف تلقائيًّا بمجرد أن يدخل المستخدم الرقم صفر، بصرف النظر عن عدد مرات الإدخال.

الفرق بين حلقة العد وحلقة الشرط

وجه المقارنةحلقة العد (For)حلقة الشرط (While)
عدد مرات التكرارمعروف ومحدد مسبقًاغير معروف، يعتمد على تحقق الشرط
العدادإلزامي، يُدار تلقائيًّاغير إلزامي
مثالطباعة الأعداد من 1 إلى 100القراءة حتى يُدخِل المستخدم “توقف”

خطر التكرار اللانهائي

يجب دائمًا التأكد من أن شرط التوقف قابل للتحقق فعليًّا بعد عدد محدود من الدورات؛ فإذا نُسي تحديث العداد (الخطوة 5 في المثال أعلاه) أو نُسي تغيير القيمة التي يعتمد عليها الشرط، فسيستمر التكرار إلى ما لا نهاية (Infinite Loop)، وهو خطأ منطقي شائع يجب الانتباه إليه عند تصميم أي حلقة.

النقاط الرئيسية

  • التكرار يُستخدم لإعادة تنفيذ خطوات معينة أكثر من مرة دون تكرارها يدويًّا.
  • حلقة العد (For): عدد مرات التكرار معروف مسبقًا، وتعتمد على عداد يبدأ ويزيد وينتهي بقيم محددة.
  • حلقة الشرط (While): عدد مرات التكرار غير معروف، ويعتمد الاستمرار على تحقق شرط.
  • في خريطة التدفق، تظهر الحلقة كسهم عودة من نهاية جسم الحلقة إلى رمز اختبار الشرط.
  • نسيان تحديث العداد أو شرط التوقف يؤدي إلى تكرار لا نهائي (Infinite Loop)، وهو خطأ يجب تجنبه.

أسئلة للمراجعة

  1. ما الفرق الأساسي بين حلقة العد وحلقة الشرط؟
  2. ما العناصر الثلاثة الأساسية التي يجب توافرها في أي حلقة عد؟
  3. صمم خريطة تدفق (وصفًا) لحساب حاصل ضرب الأعداد من 1 إلى 5 (5!).
  4. حوّل الخريطة التي صممتها في السؤال السابق إلى كود VB.NET باستخدام For...Next.
  5. ما الخطأ الذي يؤدي إلى تكرار لا نهائي؟ وكيف يمكن تجنبه؟
  6. اكتب كود VB.NET باستخدام Do While يطبع الأعداد الزوجية فقط من 2 إلى 20.
الأهداف العامة
  • أن يوضّح الطالب مفهوم التكرار (Repetition/Loop) في خرائط التدفق.
  • أن يميّز الطالب بين حلقة العد وحلقة الشرط.
  • أن يصمم الطالب خريطة تدفق تحتوي على حلقة تكرارية لمشكلة مثل جمع أعداد من 1 إلى 10.
  • أن يحوّل الطالب خريطة تدفق تكرارية إلى كود VB.NET باستخدام جملتي For وDo While.
حلّ أسئلة هذا الدرساختبر فهمك بأسئلة اختيار من متعدد وأسئلة مقالية مع نموذج إجابة، أو خض اختبارًا تفاعليًا سريعًا
أبلغ عن خطأ في هذا الدرس