Алгоритм решения задачи проектируется путем декомпозиции всей задачи в отдельные подзадачи. Обычно подзадачи реализуются в виде подпрограмм.
Подпрограмма это последовательность операторов, которые определены и записаны только в одном месте программы, однако их можно вызвать для выполнения из одной или нескольких точек программы. Каждая подпрограмма определяется уникальным именем. В языке ПАСКАЛЬ существуют два типа подпрограмм процедуры и функции.
Процедура и функция это именованная последовательность описаний и операторов. При использовании процедур или функций ПАСКАЛЬ программа должна содержать текст процедуры или функции и обращение к процедуре или функции.