برمجة جامباس/جمل التحكم-حلقات التكرار


أحد الأسباب التي تجعلنا نكتب برنامجا هو أتمتة المهام المتكررة وفقا لبعض الشروط. يتم توفير هذه الوظيفة من قبل هياكل المراقبة أو دورات تكرارها. هذه الهياكل تجعل من الممكن لجزء واحد من البرنامج أن يتكرر عدة مرات ، اعتمادا على بعض الشروط.

FOR – NEXT

عدل

يتم التكرار لعدد محدد مسبقا من الأوقات. .

  • بناء الجملة
 FOR Variable = Expression TO Expression [STEP Expression]
...
NEXT

'تكرار محدد.

 FOR iCount = 1 TO 20 STEP 3
   PRINT iCount & " ";
 NEXT

FOR EACH IN

عدل

تكرار محدد بعدد المتغيرات في تعبير معين.

  • تركيب الجملة
FOR EACH Variable IN Expression
...
NEXT

حلقة تعداد.

 FOR EACH Element IN Dict
   PRINT Element;
 NEXT

DO – LOOP

عدل

هذه الجملة تقوم بعملية تكرار للشرط طالما كانت قيمة ذلك الشرط صحيحة. سيتم تقييم الشرط إما في بداية الشرط أو نهايته وذلك إعتمادا على الجملة المستخدمة هل هي: DO WHILE - LOOP أو DO - LOOP UNTIL. إذا كانت قيمة الشرط منذ البداية خطأ (false) عند تقييم الشرط في بداية الجملة (شرط الدخول) فلن يتم تنفيذ الأكواد بداخل تلك الجملة أبدا. وعلى العكس من ذلك ، إذا تم تقييم الشرط في نهاية الجملة (شرط الخروج) فسيتم تنفيذ الأكواد بداخل تلك الجملة على الأقل مرة واحدة ، على الرغم من أن الشرط صحيحا في خروج ودخول الجملة.

  • بناء الجملة
DO [WHILE Condition]
...
[BREAK|CONTINUE]
...
LOOP [UNTIL Condition]

'تكرار لا نهائي.

 DO WHILE a <= 5
   PRINT "Hello World"; a
   INC a
 LOOP

' نفس التأثير مع UNTIL

 DO
   PRINT "Hello World"; a
   INC a
 LOOP UNTIL a = 6

REPEAT – UNTIL

عدل

سيتم تكرار الجمل المحصورة بين طرفي الجملة حتى تصبح قيمة تلك الجمل صحيحة.

  • بناء الجملة
REPEAT
...
UNTIL Condition

'حلقة تكرار مع اختبار خروج في النهاية.

 REPEAT
   PRINT Timer 'حلقة التكرار سيتم تنفيذها مرة واحدة على الأقل حتى لو كانت قيمة UNTIL خطأ منذ البداية. 
 UNTIL Timer > 10

WHILE - WEND

عدل

الجمل المحصورة بين طرفي الجملة سيتم تنفيذها مادامت مطابقة للحالة.

  • بناء الجملة
 
WHILE Condition
...
WEND

'إنشاء حلقة مع اختبار خروج في البداية

 WHILE a \<= 10
   PRINT "Hello World"; a
   INC a
 WEND