Метод разработки программ, в частности, требующий разбиения программы на небольшие независимые части (модули): следование, ветвление, цикл. Обеспечивает возможность проведения строгого доказательства правильности программ, повышает уверенность в правильности конечной программы.