Подпрограмма ( subroutine ) - часть программы, которая реализует определенный алгоритм и позволяет обращение к ней с разных частей общей (главной) программы. В терминах языков программирования: функции ( С ), процедуры ( Pascal ), методы ( Java ).
Подпрограмма часто используется для сокращения размеров программ в тех задачах, в процессе решения которых необходимо выполнить несколько раз одинаковый алгоритм при различных значениях параметров. Инструкции (операторы, команды), которые реализуют соответствующую подпрограмму, записывают один раз, а в необходимых местах размещают инструкцию вызова подпрограммы.
Набор применяемым подпрограмм образует библиотеку стандартных подпрограмм.
В большинстве языков программирования высокого уровня, подпрограммы называются процедурами и функциями. В зависимости от языка программирования, термины «процедура» и «функция» могут различаться (как правило, процедурой называют подпрограмму, которая не возвращает результата, а функция имеет результат и может использоваться как часть выражения) или рассматриваться как синонимы (в частности, в языке C, где в первоначальном варианте все подпрограммы могли возвращать результат, по преимуществу называют функциями).