جمل التحكم (Control Structures)

عبارة عن نوع من التفرع (تنفيذ مجموعة خطوات بناءً على إجابة سؤال أو شرط معين) لتحديد المسارات التي سوف يتم تنفيذها ولتغييرها أيضا لمسارات جديدة.

لجمل التحكم ثلاث أنماط في لغة رينج – يمكنك أن تطلع عليهم وتبرمج بالنمط الذي يعجبك…

النمط الأول: http://ring-lang.sourceforge.net/doc1.3/controlstructures.html

النمط الثاني: http://ring-lang.sourceforge.net/doc1.3/getting_started2.html

النمط الثالث: http://ring-lang.sourceforge.net/doc1.3/getting_started3.html

أنواع جمل التحكم الموجودة في لغة رينج:

1-التفرع(Branching)

2-الحلقات التكرارية(Looping)

أولا التفرع (Branching):

If Statement

لتحديد مسار أو أكثر للتنفيذ بناءً على التعبير الشرطي، إذا كانت قيمته صحيحة (True) أو خاطئة (False).

 تعبير شرطي        If Expression

    الكود في حالة  Block of statements) — True)

 تعبير شرطي اخر But Expression

 الكود في حالة Block of statements) — True)

Else

غير ذلك من الكود في حالة  Block of statements) — False أو True)

OK

مثال توضيحي:

1.jpg

الكود

Short- Circuit Evaluation

  •  إذا كان أحد أطراف المعامل AND  يساوي صفر، فلا داعي لتقييم باقي أطراف المعامل  ويكون الناتج النهائي صفر(False).
  • إذا كان أحد أطراف المعامل OR يساوي واحد، فلا داعي لتقييم باقي أطراف المعامل ويكون الناتج النهائي واحد (True).
  • ملحوظة1: المتغير True معرف داخل اللغة بقيمة تساوي 1 والمتغير False معرف داخل اللغة بقيمة تساوي 0
  • ملحوظة2:القيمة الافتراضية للتقييم تساوي  (1) True الا في حالة (0) False.

مثال توضيحي:

2.jpg

 الكود

Switch Statement

تستخدم عندما يكون التفرع معتمد على متغير واحد وهناك شروط كثيرة.

  تعبير شرطي Switch Expression

On Expression

        Block of statements

Other

        Block of statements

 Off

مثال توضيحي:

3.jpg

الكود

ثانيا الحلقات التكرارية(Looping):

  • لتكرار مجموعة من المهام أو الأوامر.
  • تنفيذ مجموعة من الأوامر لعدد محدد من المرات حتى استيفاء الشرط.

ملحوظة:

يمكنك تكرار الكود لعدد غير محدد من المرات (عدد لانهائي) باستخدام While أو Do While.

While Loop

يتم اختبار الشرط قبل تنفيذ الكود ; ثم تنفيذ الكود وتكراره في حالة تحقق الشرط (True)، والتوقف في حالة عدم تحقق الشرط (False).

ملاحظة:

تستخدم While في حالة عدم معرفة عدد مرات التكرار، ولكن بناءً على تحقق شرط معين.

While Expression

        Block of statements

 End

مثال توضيحي:

4.jpg

الكود

For Loop

يتم تنفيذ الكود وتكراره لعدد محدد من المرات.

[For identifier=expression to expression [step expression

      Block of statements

 Next

ملحوظة:

  • لا حاجة لقيمة ابتدائية للمعرف.
  • لا حاجة لوجود شرط –فقط معرفة عدد مرات التكرار.

مثال1:

5.jpg

الكود

مثال 2 لعمل عداد عكسي:

6.jpg

الكود

For in Loop

[For identifier in List/String [step expression

        Block of statements

 Next

 استخدامات For In

  • لتخطي رقم معين في الحلقات التكرارية عن طريق استخدام الكلمة Step.
  •  يمكن استخدامها مع القائمة لقراءة وتعديل العناصر الموجودة داخل List.
  • الحصول على حروف الكلمات حرف حرف – كل حرف في سطر جديد.

مثال توضيحي:

7.jpg

الكود

Do Again Loop

يتم تنفيذ الكود أولا ثم يختبر الشرط ويستمر في التنفيذ طالما الشرط صحيح.

Do

        Block of statements

 Again expression

Loop Command

للقفز الي المرحلة التالية في الحلقة التكرارية عن طريق استخدام الكلمة Loop.

Loop [expression]       # inside loop

Exit Command

تستخدم للخروج من الحلقات التكرارية.

Exit [expression]       # inside loop

مثال توضيحي:

8.jpg

الكود

ملحوظة:

  •  يمكن الخروج من حلقتان تكراريتان عن طريقExit 2.
  •  كما يمكن الخروج من الحلقات التكرارية عن طريق استخدام  Exit/Loop بداخل دوال ثم استدعاء الدوال بداخل الحلقات التكرارية.

مثال توضيحي:

9.jpg

الكود

للاطلاع علي المقالات الاخري من هنا

يمكنك أن تتطلع علي Syntax  للغة مشابهه للغات اخري من هنا 

تستطيع الاطلاع علي المشاريع مفتوحة المصدر من الموقع  GitHub
الموقع الرسمي للغة  http://ring-lang.net

وشكرا لكم والي اللقاء

 

Advertisements

اترك رد

إملأ الحقول أدناه بالمعلومات المناسبة أو إضغط على إحدى الأيقونات لتسجيل الدخول:

WordPress.com Logo

أنت تعلق بإستخدام حساب WordPress.com. تسجيل خروج   / تغيير )

صورة تويتر

أنت تعلق بإستخدام حساب Twitter. تسجيل خروج   / تغيير )

Facebook photo

أنت تعلق بإستخدام حساب Facebook. تسجيل خروج   / تغيير )

Google+ photo

أنت تعلق بإستخدام حساب Google+. تسجيل خروج   / تغيير )

Connecting to %s