При програмуванні «зверху вниз» алгоритм записується у вигляді послідовності кроків. У кожен момент часу людина може розглядати невелике число деталей, тому на верхньому рівні алгоритму число кроків зазвичай невелика. При написанні програми не слід приховувати таку структуру. У більшості випадків корисно мати на увазі наступну рекомендацію: з читання тексту програми повинно бути ясно, що робить програма. а не як вона це робить. Особи, яких цікавить відповідь на друге питання, повинні знайти його в іншому місці, переглядаючи інші об'єкти, але не основний блок програми.
Іншими словами, щоб програми було простіше розуміти і записувати, слід робити їх більш компактними. Для цього в мові програмування повинні бути кошти, що дозволяють розбивати програму на логічно пов'язані блоки, кожен з яких вирішує деяку підзадачу. Крім того, нерідко буває, що такого роду підзадачі повинні виконуватися в програмі неодноразово.
У Турбо-Паскалі такими засобами є процедури, функції і модулі.
Процедури і функції - це закінчені програмні одиниці, які вирішують деяку підзадачі і, можливо, виконуються багаторазово.
Модулі є основою модульного програмування в Турбо-Паскалі. Вони використовуються для створення бібліотек, які можуть включатися в різні програми (при цьому зовсім необов'язково мати в наявності вихідний текст), а великі програми можуть розділятися на логічно пов'язані модулі.
Переваги модульного програмування:
1) спрощення процесу написання і налагодження;
2) скорочення обсягу програм.
Недолік - деяке збільшення витрат часу і пам'яті на оформлення модулів і звернення до них.
18.1. процедури
Процедура - це незалежний програмний блок (програмна одиниця), що виконує рішення деякої самостійної підзадачі.
Процедури (і функції) розміщуються в програмі відразу ж після опису змінних (в розділі Var) і перед словом Begin. що вказує початок її основної частини, тобто наступним чином: