Основы разработки программного обеспечения вычислительных систем. Милованов И.В - 36 стр.

UptoLike

36
Для решения задачи надо обеспечить сотрудничество трёх объектов:
экземпляра класса «ГрафикРазворота», «РегуляторУгла» и «Контроллер-
Угла».
Описание класса «КонтроллерУгла» может иметь следующий вид:
with Класс «ГрафикРазворота». Класс «РегуляторУгла»;
use Класс «ГрафикРазворота». Класс «РегуляторУгла»;
Package Класс «КонтроллерУгла» is
type указатель на График is access all ГрафикРазворота;
type «КонтроллерУгла» is tagged private;
procedure «Обрабатывать» (in out КонтроллерУгла;
угол: указатель на График);
function Запланировано (КонтроллерУгла;
угол: указатель на График) return Секунда;
private
type «КонтроллерУгла» is tagged record;
регулятор: РегуляторУгла := Новый РегуляторУгла (1.1.10);
end Класс «КонтроллерУгла».
П р и м е ч а н и е. Операция «Запланировано» позволяет клиентам запро-
сить у экземпляра «КонтроллерУгла» время обработки следующего графика.
И наконец, описание класса «РегуляторУгла» представим в следую-
щей форме:
with Класс «ДатчикУгла». Класс «Порт»;
use Класс «ДатчикУгла». Класс «Порт»;
Package Класс «РегуляторУгла» is
type Режим is (Увеличение. Уменьшение);
subtype Размещение is Natural range ...;
type РегуляторУгла is tagged private;
function Новый РегуляторУгла (номер: Размещение;
например: Направление: Порт: Порт)
return «РегуляторУгла»;
procedure «Включить»(in out РегуляторУгла);
procedure «Выключить»(in out РегуляторУгла);
procedure «УвеличитьУгол»(in out РегуляторУгла);
procedure «УменьшитьУгол»(in out РегуляторУгла);
function ОпросСостояния(РегуляторУгла)
return Режим: