Технология программирования на языках процедурного программирования (типа языка Паскаль) предлагает проектировать программы методом последовательных уточнений.
Концепция процедур и функций (подпрограмм) позволяет выделить подзадачу как явную подпрограмму и оформить ее в виде процедуры или функции. Таким образом, программа представляет собой структуру, элементами которой являются процедуры и функции – основные семантические единицы программы.
В частности, в качестве подзадачи может фигурировать и исходная задача с измененными исходными данными (задача «меньшего размера»).