اختبار هياكل السيطرة والحلقات

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

إختبار الهياكل

هذا ، سيسمح لأداء بعض التعليمات وفقا لما إذا كان الشرط صحيحا ام لا.

If ... Then

هذه أبسط حالات الشرط:

If condition Then

Endif

الشرط هو تعبير عن اختبار. حالة العلامات هي :

  • = > = : اكبر من

  • = <= : أصغر من

  • = > : أكبر أو يساوي

  • = < == : أصغر أو يساوي

  • = : المساواة

  • = <> = : لا يساوي

يمكننا أيضا المقارنة بين اثنين من القيم ، واثنين من المتغيرات على سبيل المثال :
If Variable1 = Variable2 Then

هنا, العلامة "=" يدل على وجود اختبار المساواة وليس لإسناد قيمة للمتغير المتغير (مثل a = 1).

الآن, هذا مثال للتوضيح :

Public Sub Main()

  Dim age As Integer

  Print "How old are you ? "
  Input age

  If age >= 18 Then
    Print "You are major."
  Else
    Print "You are minor."
  Endif

End

الكلمة ELSE هي إختيارية. كمثال:

' Gambas module file

Public Sub Main()

  Dim power As Integer = 15  'power in ch

  If puissance < 15 Then
    Print "Do you want to change your car? :p "
  Endif

End

ملاحظة أخرى, الكلمة ENDIF إختيارية إذا كان هناك جملة شرطية واحدة ,مثال:

Public Sub Main()

  Dim power As Integer = 15  'power in ch

  If puissance < 15 Then Print "Do you want to change your car? :p "

End

تركيب Select ... Case

نستخدم هذا التركيب عند وجود أكثر من قيمة لإختبارها. باستخدام هذا التركيب, سيكون الكود أكثر وضوحا وأكثر قابلية للقراءة :

Public Sub Main()

  Dim pays As string

  Print "De quel pays venez-vous ?"
  Input pays
  pays= lcase(pays) 'remove uppercases

  Select Case pays
     Case "france"
        Print "Bonjour !"
     Case "england"
        Print "Hello !"
     Case "espana"
        Print "Ola !"
     Case "portugal"
        Print "Hola !"
     Case Else
        print"??"
  End Select

End

حلقات التكرار

حلقات التكرار يسمح لك بتكرار تعليمة واحدة أو أكثر . هناك ثلاث أنواع لحلقات التكرار تسمح لك بفعل الشيء نفسه بعدة طرق.

For

جملة التكرار For يسمح لك بتنفيذ التعليمة ن مرة.

Public Sub Main()

  Dim i As Integer

  For i = 1 To 5
    Print "Value of i: " & i
  Next

End

عندما يصل جامباس إلى التكرار لأول مره, فإنه ينقل القيمة 1 إلى i, ثم ينفذ التعليمات التالية حتى يصل إلى الكلمة المفتاحيةNEXT . ويعود جامباس إلى بداية التكرار, ثم يزيد قيمة , المتغير i حتى يصل إلى 5. سيتم قراءة التعليمات داخل التكرار 5 مرات :

Value of i: 1
Value of i: 2
Value of i: 3
Value of i: 4
Value of i: 5

Do ... Loop

بعذ الأحيان لا نعلم عدد مرات التكرار المطلوبة. ولكن نعلم متى يجب أن يقف. وهذا مثال للتوضيح :

Public Sub Main()

  Dim result As integer

  Print "How many two and two ?"

  Do
     Input result
  Loop Until result = 4

  PRINT "Congratulation! You have found :-) "

End

نستخدم أيضا الجملة WHILE بدلا من UNTIL لنجعل التكرار ينفذ تحت شرط ما.

Do
  Input result
Loop While result <> 4

While

بالنسبة لـ WHILE, فهي ذات تركيب خاص بها كما في المثال التالي:

' Gambas module file

Public sub Main()

  Dim age As Integer

  While age < 10
    Inc age
    Print "Value of age : " & age
  Wend

End

الناتج:

Value of age : 1
Value of age : 2
Value of age : 3
Value of age : 4
Value of age : 5
Value of age : 6
Value of age : 7
Value of age : 8
Value of age : 9
Value of age : 10

لقد انتهينا من التكرار , يمكنك ال.