توابع در زبان برنامهنویسی آقای هاشمی با bebin
تعریف میشوند.
در ادامه ساختار یک تابع را مشاهده میکنید.
پس از کلمهکلیدی bebin
نام تابع، در اینجا esme_functione_bebin
نوشته شده است.
سپس ورودیهای مورد نظر برای تابع را داخل پرانتز مشخص میکنیم.
توجه داشته باشید که مقادیری که درون پرانتز تعریف شده است، برای اسکوپ داخلی تابع، قابل دسترسی هستند و اصطلاحا local هستند.
تعریف تابع، مشابه چیزی که در بالا مشاهده میکنید،به خودی خود قرار نیست نتیجهای در بر داشته باشد. بنابرین، میبایست تابع مورد نظر «صدا زده شود» یا «call» بشود. به این ترتیب ما خواهیم توانست بارها از قابلیت تابع در کدهای خودمان استفاده کنیم بدون آنکه مجبور شویم تمام دستورات را بنویسم. فقط کافی است تابع صدا زده شود.
تابع azinja
در زبان برنامهنویسی آقای هاشمی، یک تابع خاص وجود دارد به نام azinja
و این نام برای شروع برنامهها رزرو شده است.
به عبارت دیگر، azinja
زمانی که یک فایل .hashem
را در خط فرمان سیستم عامل خودتان اجرا میکنید، هستهی زبان آقای هاشمی باید نقطهی شروعی را انتخاب کند و به اجرای
برنامه بپردازد. این سوال که هسته زبان آقای هاشمی ازکجا شروع میکند پاسخش bebin azinja
است.
مثال
یک نمونه تابع برای جمع دو عدد. این کد در فایلی با نام jam_adad_ha.hashem
ذخیره میکنیم.
اجرای همین قطعه کد زبان هاشمی و نتیجه آن را در ادامه میبینید.
توابع بازگشتی
توابع بازگشتی یا recursive به توابعی گفته میشود که خودشان را صدا میزنند. در ریاضیات از این حالت برای تعریف تابع فاکتوریل و یا برای نمایش سری فیبوناچی استفاده میشود.
پیاده سازی کد بازگشتی فاکتوریل در زبان برنامه نویسی آقای هاشمی :
خروجی:
استفاده حرفهای تر از توابع
برای محاسبه ترکیب ریاضی و محاسبه تعداد حالت های ممکن برای انخاب k
عضو از یک مجموعه n
عضوی فرمول زیر را به کار میبریم
اما در این فرمول سه بار از فاکتوریل استفاده شده است و ما در یک تابع جدید، تنها کافی است سه بار تابع factorial
مثال قبلی را فراخوانی کنیم