Skip to content

الشروطُ والحلقات

هدفُك: أن يختارَ البرنامجُ طريقًا، أو يُكرِّرَ عملًا.

كلُّ كتلةٍ تُفتَحُ بكلمةٍ وتُغلَقُ بـ**نهاية**. لا أقواسَ معقوفةٌ في اللغة.

اختِرْ طريقًا — إذا

القاعدةُ المُعلَنة: gr.stmt.if.

sad
متغير الدرجة = 78
إذا (الدرجة >= 90)
    اطبع_سطر("ممتاز")
وإلا إذا (الدرجة >= 75)
    اطبع_سطر("جيد جدًّا")
وإلا
    اطبع_سطر("مقبول")
نهاية
جيد جدًّا

وإلا إذا تتكرَّرُ ما شئت، ووإلا أخيرةٌ بلا شرط، ونهاية واحدةٌ تُغلِقُ السلسلةَ كلَّها.

العواملُ التي تُقارِنُ بها

== · != · < · <= · > · >=

الرَّبطُ المنطقيُّ كلماتٌ عربيّة

و · أو · ليس — وهي ثلاثةُ عواملَ مُعلَنةٌ في keywords.yaml:

sad
متغير العمر = 20
متغير معه_بطاقة = صحيح
إذا (العمر >= 18 و معه_بطاقة)
    اطبع_سطر("يدخل")
نهاية
إذا (ليس معه_بطاقة أو العمر < 18)
    اطبع_سطر("لا يدخل")
وإلا
    اطبع_سطر("تمّ")
نهاية
يدخل
تمّ

كرِّرْ ما دامَ شرطٌ قائمًا — بينما

القاعدةُ المُعلَنة: gr.stmt.while.

sad
متغير ع = 1
بينما (ع <= 3)
    اطبع_سطر(ع)
    ع = ع + 1
نهاية
1
2
3

لا تنسَ تقديمَ العدّاد

سطرُ ع = ع + 1 هو ما يُنهي الحلقة. بحذفِه تدورُ إلى الأبد — والمترجِّمُ لا يمنعُك.

كرِّرْ على عناصرِ مجموعة — لكل … في

sad
متغير أعداد = [3، 1، 4]
لكل ن في أعداد
    اطبع_سطر(ن)
نهاية
3
1
4

اخرُجْ أو تخطَّ — توقف واستمر

sad
لكل ن في [1، 2، 3، 4، 5]
    إذا (ن == 2)
        استمر
    نهاية
    إذا (ن == 4)
        توقف
    نهاية
    اطبع_سطر(ن)
نهاية
1
3

استمر يقفزُ إلى الدورةِ التالية، وتوقف يخرجُ من الحلقة.

اجمعْ بينهما

sad
متغير مجموع = 0
لكل ن في [1، 2، 3، 4، 5]
    إذا (ن % 2 == 0)
        مجموع = مجموع + ن
    نهاية
نهاية
اطبع_سطر(مجموع)
6

إن نسيتَ نهاية

⛔ [SYN013] الكتلة لم تُغلَق — توقعت 'نهاية'
   💡 أضف 'نهاية' لإغلاق الكتلة قبل متابعة بقية الكود.
   📍 الموقع: السطر 3، العمود 1

اقرأْ عن قراءةِ هذه الرسائلِ في قراءةُ رسالةِ خطأٍ من المترجِّم.

ثمّ

مُرخَّص بموجب رخصة MIT