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


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

IF - THEN - ELSE عدل

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

  • تركيب الجملة
 IF Expression [{AND IF|OR IF} Expression ...] [THEN]
...
[ELSE IF Expression [{AND IF|OR IF} Expression ...] [THEN]
...]
[ELSE
...]
ENDIF

SELECT – CASE عدل

البرمجة المسيرة بالأحداث

وتعرف هذه البنية بالتفرع المتعدد، وذلك لأن المتغير يمكن أن يحتمل مجموعة واسعة من القيم.

  • تركيب الجملة
SELECT [CASE] Expression
[CASE Expression [TO Expression2] [, ... ]
...]
[CASE Expression [TO Expression2] [, ... ]
...]
[{CASE ELSE|DEFAULT}
...]
END SELECT

مثال

 SELECT CASE w
   CASE 1
     a = a + 1
   CASE 2
     b = b + 1
   CASE 3
     c = c + 1
   CASE 4
     d = d + 1
   CASE 5
     e = e + 1
   CASE 6
     f = f + 1
   CASE ELSE
     PRINT "This is impossible!"
 END SELECT

هياكل السيطرة المتداخلة عدل

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

[ 'المستوى الأول في الهيكل
      {المستوى الثاني},
      (المستوى الثاني),
      <المستوى الثاني>,
      {المستوى الثاني,
             <المستوى الثالث
                    (المستوى الرابع
                           {المستوى الخامس}
                    'إنهاء المستوى الرابع)
             'إنهاء المستوى الثالث>
      'إنهاء المستوى الثاني  }
'إنهاء المستوى الأول ]

Did you hear all.......... He said?

If (أو IIf) عدل

  • تركيب الجملة
Value = IIf (bTest AS Boolean , vTrue , vFalse)
Value = If (bTest AS Boolean , vTrue , vFalse)
  • مثال
 PRINT If((X MOD 2) = 0, "even", "odd")
 PRINT "You have " & X & " message" & If(X <> 1, "s", "") & " waiting."