تابع (علوم رایانه)
From Wikipedia, the free encyclopedia
در برنامهنویسی، تابع (به انگلیسی: Function) یا رویه (در حالتی که خروجی نداشته باشد) به تکهای از کدهایی سازمان یافته گویند که برای انجام عملی خاص استفاده میشوند. این واحد در آینده میتواند هر کجا که آن کارِ ویژه باید بینجامد، استفاده یا فراخوانی (Call) شود. در فلوچارت توابع را با مستطیلی که دو خط عمودی و افقی در بالا و سمت چپ آن رسم شده نشان میدهند.[1] برخلاف توابع ریاضی، توابع میتوانند هر تعدادی ورودی، خروجی داشته یا اصلاً ورودی یا خروجی یا هر دو را نداشته باشند. به نوع خاصی از تابع که ورودی ندارد، رویه (به انگلیسی: routine) گویند.
تابع ممکن است داخل یک برنامه یا بهطور جداگانه داخل کتابخانه (رایانه) ای تعریف شده باشد که میتواند توسط برنامههای مختلف مورد استفاده قرار گیرد. در زبانهای برنامهنویسی مختلف، رویه ممکن است با نامهای مختلف اسلوب(Method)، تابع (Function)، روال (Routine) یا زیربرنامه (Subprogram) شناخته شود. گاهی اصطلاح عمومی «واحد قابل فراخوانی» نیز استفاده میشود.[2]
نام زیربرنامه نشان میدهد یک زیرروال رفتاری مشابه یک برنامه رایانهای دارد که به عنوان یک گام در یک برنامه بزرگتر یا زیربرنامه دیگر استفاده میشود. زیرروال اغلب کد میشود تا بتوان آن را چند بار و از مکانهای مختلف در طول یک اجرای برنامه (از جمله در میان دیگر زیرروالهای کد شده) مورد استفاده قرار داد (به اصطلاح call کرد). پس از صدا کردن زیرروال و اجرای آن، برنامه به دستور بعدی پس از زیرروال برمیگرد. موریس ویلکس، دیوید ویلر، و استنلی گیل مخترعان این مفهوم شناخته شدهاند که آن را زیرروال بسته (در تقابل با زیرروال باز یا ماکرو[3] ) نامیدهاند.[4][5]
زیربرنامهها از ابزارهای قدرتمند برنامهنویسی هستند[6] و قواعد نوشتاری (syntax) بسیاری از زبان برنامهنویسی، استفاده از آنها را پشتیبانی میکند. استفاده از زیربرنامه اغلب موجب کاهش هزینههای توسعه و نگهداری برنامههای بزرگ میشود. همچنین میزان کیفیت و اعتبار برنامه را افزایش میدهد.[7] زیربرنامهها که میتوانند در کتابخانهها جمعآوری شوند، روش مهمی برای اشتراک یا تجارت نرمافزارها به حساب میآیند.