برمجة جامباس/جمل التحكم -تقييم التعابير
يمكن أن يتكون البرنامج من سلسلة من الأوامر أو التعليمات التي ستوجه الكمبيوتر من أجل حل مشكلة ما. جمل التحكم تسمح بتنفيذ التعليمات على حسب الترتيب الذي كتبت به. هذه الجمل تمكن من السيطرة على مسار البرنامج ويتم تمريرها من طرف إلى آخر. الهدف الأساسي من هذه الجمل هو السيطرة على تسلسل، وتشعب وتقييم التعبير والتكرار والحلقات (الوارد وصفها في المقطع السابق).
ويمكن للتشعب أن ينقل السيطرة إلى جزء آخر من البرنامج بالاعتماد على ما إذا كان يفي بشرط معين أو تعبير محدد. جمل التحكم المدعومة في جامباس هي:
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."