Декомпозиция
Задача реализации чёрного ящика
для sqrt естественным образом разбивается на подзадачи:
- как понять, что очередное приближение нас устраивает,
 
- как улучшить очередное приближение, и т.д.
 
Каждая из этих задач решается с помощью отдельной подпрограммы (процедуры):
- подпрограмма выполняет точно определенную подзадачу,
 
- каждая подпрограмма может быть использована при определении других.