درس ۷ از ۲۵ · جریان برنامه

حلقه‌ها

حلقه‌ها کاری را بارها انجام می‌دهند: چند بار مشخص، روی یک بازه، تا وقتی شرطی برقرار است، یا برای هر عضو یک فهرست.

تکرار

تکرار ۳: بدنه را سه بار اجرا می‌کند. با در ک شمارنده‌ای به نام ک می‌گیرید که از صفر شروع می‌شود. تکرار ۱ تا ۱۰ روی بازه می‌چرخد (دو سر بازه هم جزو آن‌اند)، هر ۳ گام را تعیین می‌کند و اگر آغاز بزرگ‌تر از پایان باشد، حلقه رو به پایین می‌شمارد.

loop-count.salam
روال ریشه:
    تکرار ۳:
        سرچاپ "سلام"
    پایان
    تکرار ۴ در ک:
        چاپ ک, ""
    پایان
    سرچاپ ""
    تکرار ۱۰ تا ۰ هر ۵ در ک:
        سرچاپ "شمارش معکوس", ک
    پایان
پایان
خروجیسلام سلام سلام 0 1 2 3 شمارش معکوس 10 شمارش معکوس 5 شمارش معکوس 0

حلقه‌ی تا

تا شرط: تا وقتی شرط برقرار است تکرار می‌شود؛ یعنی شرط را همان‌طور بنویسید که می‌خواهید حلقه ادامه پیدا کند.

loops.salam
روال ریشه:
    تکرار ۱ تا ۱۰ هر ۳ در ک:
        سرچاپ "دور", ک
    پایان
    ناپایا شمار := ۳
    تا شمار > ۰:
        سرچاپ شمار
        شمار = شمار - ۱
    پایان
    سرچاپ "پرتاب!"
پایان
خروجیدور 1 دور 4 دور 7 دور 10 3 2 1 پرتاب!

هر ... در

با هر عضو در فهرست روی همه‌ی عضوهای یک آرایه، وکتور یا نگاشت می‌گردید. شکل هر (شماره، عضو) در فهرست شماره‌ی هر عضو را هم می‌دهد.

loop-each.salam
روال ریشه:
    شهرها := ["تهران", "اصفهان", "شیراز"]
    هر شهر در شهرها:
        سرچاپ شهر
    پایان
    هر (شماره، شهر) در شهرها:
        سرچاپ شماره + ۱, شهر
    پایان
پایان
خروجیتهران اصفهان شیراز 1 تهران 2 اصفهان 3 شیراز

بشکن و گذر

بشکن از حلقه بیرون می‌رود و گذر به دور بعدی می‌پرد. در حلقه‌های تودرتو، بشکن ۲ از دو حلقه با هم بیرون می‌رود.

loop-break.salam
روال ریشه:
    تکرار ۱ تا ۱۰ در ک:
        اگر ک % ۲ == ۰:
            گذر
        پایان
        اگر ک > ۷:
            بشکن
        پایان
        چاپ ک, ""
    پایان
    سرچاپ ""
    تکرار ۳ در الف:
        تکرار ۳ در ب:
            اگر الف + ب == ۳:
                بشکن ۲
            پایان
            سرچاپ الف, ب
        پایان
    پایان
پایان
خروجی1 3 5 7 0 0 0 1 0 2 1 0 1 1