زیرروال در برنامهنویسی کامپیوتر، به دنبالهای از دستورالعملها گفته میشود که به صورت یک واحد بستهبندی شده، یک کار خاص(task) را برای یک برنامه انجام میدهد. این واحد در آینده میتواند هر کجا که آن کار خاص باید انجام شود استفاده یا فراخوانی شود.
زیربرنامه ممکن است داخل یک برنامه یا بهطور جداگانه داخل کتابخانه (رایانه) ای تعریف شده باشد که میتواند توسط برنامههای مختلف مورد استفاده قرار گیرد. در زبانهای برنامهنویسی مختلف، زیرروال(subroutine) ممکن است با نامهای مختلف اسلوب(method)، تابع(function)، روال(routine) و یا زیربرنامه(subprogram) شناخته شود. گاهی اوقات اصطلاح عمومی «واحد قابل فراخوانی» نیز استفاده میشود.
نام زیربرنامه نشان میدهد یک زیرروال رفتاری مشابه یک برنامه کامپیوتری دارد که به عنوان یک گام در یک برنامه بزرگتر یا زیربرنامه دیگر استفاده میشود. زیرروال اغلب کد میشود تا بتوان آن را چند بار و از مکانهای مختلف در طول یک اجرای برنامه (از جمله در میان دیگر زیرروالهای کد شده) مورد استفاده قرار داد (به اصطلاح call کرد). پس از صدا کردن زیرروال و اجرای آن، برنامه به دستور بعدی پس از زیرروال برمیگرد. موریس ویلکس، دیوید ویلر، و استنلی گیل مخترعین این مفهوم شناخته شدهاند که آن را زیرروال بسته (در تقابل با زیرروال باز یا ماکرو ) نامیدهاند.
زیربرنامهها از ابزارهای قدرتمند برنامهنویسی هستند و قواعد نوشتاری (syntax) بسیاری از زبان برنامهنویسی، استفاده از آنها را پشتیبانی میکند. استفاده از زیربرنامه اغلب موجب کاهش هزینههای توسعه و نگهداری برنامههای بزرگ میشود. همچنین میزان کیفیت و اعتبار برنامه را افزایش میدهد. زیربرنامهها که میتوانند در کتابخانهها جمعآوری شوند، روش مهمی برای اشتراک یا تجارت نرمافزارها به حساب میآیند.
مزایای شکستن یک برنامه به زیربرنامههای مختلف به شرح زیر است:
فهرست مطالب:
معناي فراخواني و برگشت
فراخواني زيربرنامه در يك زبان
برگشت زيربرنامه
پياده سازي زيربرنامه هاي ساده
معناي فراخواني در زيربرنامه "ساده"
معناي برگشت در زيربرنامه "ساده"
حافظه های مورد نیاز
بخش های زیر برنامه
ركورد فعاليت و كد زيربرنامه هاي ساده
پياده سازي زيربرنامه هايي با متغيرهاي پوياي پشته اي
بازگشتی
زيربرنامه هاي تودرتو
و...