6.4 Пример законченной программы.
Рассмотрим программу рисования геометрических фигур на экране. Она
естественным образом распадается на три части:
- [1] монитор экрана: набор функций и структур данных низкого уровня
для работы с экраном; оперирует только такими понятиями, как
точки, линии;
- [2] библиотека фигур: множество определений фигур общего вида
(например, прямоугольник, окружность) и стандартные
функции для работы с ними;
- [3] прикладная программа: конкретные определения фигур, относящихся
к задаче, и работающие с ними функции.
Как правило, эти три части программируются разными людьми в разных
организациях и в разное время, причем они обычно создаются
в перечисленном порядке. При этом естественно возникают затруднения,
поскольку, например, у разработчика монитора нет точного представления
о том, для каких задач в конечном счете он будет использоваться. Наш
пример будет отражать этот факт. Чтобы пример имел допустимый
размер, библиотека фигур весьма ограничена, а прикладная
программа тривиальна. Используется совершенно примитивное
представление экрана, чтобы даже читатель, на машине
которого нет графических средств, сумел поработать с этой программой.
Можно легко заменить монитор экрана на более развитую программу,
не изменяя при этом библиотеку фигур или прикладную программу.