روالها
روالها تکههایی از برنامهاند که نام دارند، ورودی میگیرند و نتیجه برمیگردانند. با آنها کد را تکهتکه، خوانا و قابل استفادهی دوباره میکنید.
تعریف و فراخوانی
روال با روال نام(ورودیها): گونهی خروجی: تعریف میشود و نتیجه را با برگشت پس میدهد. روال میتواند خودش را هم صدا بزند:
روال فیبوناچی(ن: صحیح): صحیح:
اگر ن < ۲:
برگشت ن
پایان
برگشت فیبوناچی(ن - ۱) + فیبوناچی(ن - ۲)
پایان
روال ریشه:
تکرار ۱۰ در ک:
چاپ فیبوناچی(ک), ""
پایان
سرچاپ ""
پایانمقدار پیشفرض
ورودیهایی که مقدار پیشفرض دارند در فراخوانی اختیاریاند. روالی که خروجی ندارد گونهی خروجی نمیخواهد.
روال خوشامد(نام: رشته، پیشوند: رشته = "سلام"):
سرچاپ پیشوند + "،", نام
پایان
روال مساحت(پهنا: صحیح، بلندی: صحیح = ۱): صحیح:
برگشت پهنا * بلندی
پایان
روال ریشه:
خوشامد("مینا")
خوشامد("مینا"، "درود")
سرچاپ مساحت(۴)، مساحت(۴، ۵)
پایانگونهی خروجی خودکار
اگر گونهی خروجی را ننویسید، سلام آن را از برگشتها میفهمد:
روال میانگین(الف: اعشار۶۴، ب: اعشار۶۴):
برگشت (الف + ب) / ۲.۰
پایان
روال بیشینه(الف: صحیح، ب: صحیح):
اگر الف > ب:
برگشت الف
پایان
برگشت ب
پایان
روال ریشه:
سرچاپ میانگین(۳.۰، ۴.۰)، بیشینه(۸، ۳)
پایانهمنامی
چند روال میتوانند یک نام داشته باشند، به شرطی که گونهی ورودیهایشان فرق کند؛ سلام از روی آرگومانها روال درست را انتخاب میکند.
روال دوبرابر(عدد: صحیح): صحیح:
برگشت عدد * ۲
پایان
روال دوبرابر(متن: رشته): رشته:
برگشت متن + متن
پایان
روال ریشه:
سرچاپ دوبرابر(۲۱)
سرچاپ دوبرابر("ها")
پایاننامهای چندواژهای
نام روال هم میتواند چندواژهای باشد تا کد مثل جمله خوانده شود:
روال آخر هفته است(روز: صحیح): منطقی:
برگشت روز == ۶ یا روز == ۷
پایان
روال ریشه:
سرچاپ آخر هفته است(۶)، آخر هفته است(۲)
پایانورودی ارجاعی
ورودیها بهطور پیشفرض کپی میشوند و تغییرشان بیرون روال دیده نمیشود. اگر پس از نام ورودی &: بنویسید، روال به خودِ متغیر فراخواننده دسترسی پیدا میکند و میتواند تغییرش دهد.
روال افزایش(عدد &: صحیح):
عدد = عدد + ۱
پایان
روال بیاثر(عدد: صحیح): صحیح:
برگشت عدد + ۱
پایان
روال ریشه:
ناپایا امتیاز := ۱۰
افزایش(امتیاز)
افزایش(امتیاز)
سرچاپ امتیاز, بیاثر(امتیاز), امتیاز
پایان