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

من ويكي الكتب


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

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