Skip to content

الفصل 19: المولدات والتكرار

المستوى: متقدم | المولدات (yield)، التكرارات المخصصة، المولدات اللانهائية

19.1 المولدات

المولد دالة تُنتج قيماً واحدة تلو الأخرى باستخدام أنتج:

sad
مولد دالة أرقام_زوجية(حد)
    متغير ن = 0
    بينما (ن <= حد)
        أنتج ن
        ن = ن + 2
    نهاية
نهاية

لكل رقم في أرقام_زوجية(20)
    اطبع(رقم + " ")
نهاية
# 0 2 4 6 8 10 12 14 16 18 20

19.2 مولد لانهائي

sad
مولد دالة فيبوناتشي()
    متغير أ = 0
    متغير ب = 1
    بينما (صحيح)
        أنتج أ
        متغير مؤقت = أ + ب
        أ = ب
        ب = مؤقت
    نهاية
نهاية

# أخذ أول 10 قيم
متغير عداد = 0
لكل قيمة في فيبوناتشي()
    اطبع(قيمة + " ")
    عداد = عداد + 1
    إذا (عداد >= 10)
        توقف
    نهاية
نهاية

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