При программировании «сверху вниз» алгоритм записывается в виде последовательности шагов. В каждый момент времени человек может рассматривать небольшое число деталей, поэтому на верхнем уровне алгоритма число шагов обычно небольшое. При написании программы не следует скрывать такую структуру. В большинстве случаев полезно иметь в виду следующую рекомендацию: из чтения текста программы должно быть ясно, что делает программа, а не как она это делает. Лица, которых интересует ответ на второй вопрос, должны найти его в другом месте, просматривая другие объекты, но не основной блок программы.
Другими словами, чтобы программы было проще понимать и записывать, следует делать их более компактными. Для этого в языке программирования должны быть средства, позволяющие разбивать программу на логически связанные блоки, каждый из которых решает некоторую подзадачу. Кроме того, нередко бывает, что такого рода подзадачи должны выполняться в программе неоднократно.
В Турбо-Паскале такими средствами являются процедуры, функции и модули.
Процедуры и функции — это законченные программные единицы, которые решают некоторую подзадачу и, возможно, выполняются многократно.
Модули являются основой модульного программирования в Турбо-Паскале. Они используются для создания библиотек, которые могут включаться в различные программы (при этом совсем необязательно иметь в наличии исходный текст), а большие программы могут разделяться на логически связанные модули.
Достоинства модульного программирования:
1) упрощение процесса написания и отладки;
2) сокращение объема программ.
Недостаток — некоторое увеличение затрат времени и памяти на оформление модулей и обращение к ним.