Циклічний процес передбачає багаторазове повторювання одних і тих же дій на одному етапі обробки інформації. Однак широко поширена інша форма повторювання, коли одна і та ж послідовність дій повинна виконуватися не підряд, а на різних етапах обробки інформації. В алгоритмах такого роду в різних місцях зустрічаються фрагменти, однакові за діями, що виконуються, і різні тільки за значеннями початкових даних. При створенні програми за таким алгоритмом приходиться задавати одну й ту ж групу операторів, що відповідає кожному такому фрагменту. Для більш ефективного програмування подібних повторень в ТП введено конструкцію – підпрограми. Повторювана послідовність операторів оформлюється у вигляді самостійної програмної одиниці, записаної одноразово, але у відповідних місцях програми забезпечується її виконання за зверненням до неї.
Використання апарату підпрограм дозволяє скоротити обсяг та покращити структуру програми с точки зору наочності та сприйняття, зменшити можливість помилок та спростити відладку програми. Підпрограма може розглядатися як самостійний модуль із своїми вхідними і вихідними даними, що дозволяє використовувати її в загальному ієрархічному підході при конструюванні алгоритму та програми за принципом спадаючого проектування.
В Турбо Паскалі підпрограми реалізуються у вигляді процедуртафункцій.