Читайте также:
|
|
На сегодняшний день существует много объектов управления, программирование которых требует усилий из-за большого количества состояний, реализуемых в них. Решение таких сложных задач лежит в области применения прикладной теории автоматов, получившая распространение в программировании как switch-технология.
Теоретические положения по проектированию и применению теории автоматов рассмотрели В.Г.Лазарев, Е.И.Пийль [1], Дж.Хопкрофт, Р.Мотвани, Дж.Ульман [2]. Основные концепции технологии автоматного программирования приведены в книге А.А.Шалыто, Н.И.Поликарповой [3]. Применение swith-технологии отражено в исследованиях и разработках российских ученых А.С.Бобровских [4], Р.И.Баженова [5, 6], М.А.Афанасьевой [7], Л.С.Гринруга [8, 9], В.Татарчевского [10], М.А.Мазина [11], О.Г.Степанова [12], Ю.Ю.Янкина [13]. Зарубежные ученые применяют рассматриваемую технологию в собственных изысканиях [14, 15, 16].
В данной работе решается задача демонстрации методов ускоренного выполнения операций и моделирование поведения цифрового автомата на примере управления пульта от телевизионного приемника.
Для решения поставленной задачи, описывая абстрактный цифровой автомат, был разработан следующий порядок: представление работы цифрового автомата графом состояний; приведение таблицы состояния и входных (выходных) сигналов; программирование исходного кода программы-эмулятора на основе автоматной теории, используя оператор case; разработка интерфейса программы-эмулятора.
Представим модель управления работой пульта телевизора с помощью автомата, его графом состояний (рис. 1.).
Рисунок 1 - Граф состояний автомата
Опишем состояния и входные (выходные) сигналы для реализации цифрового автомата, управляющего работой пульта телевизора (табл.1).
Таблица 1 - Состояния и входные (выходные) сигналы
Состояние | Входные сигналы | Выходные сигналы | |||
A1 | Выключено | Z1 | Включить/выключить | W1 | Включить |
A2 | Включено | Z2 | Канал + | W2 | Выключить |
А3 | Ожидание ввода номера канала | Z3 | Канал - | W3 | Переключить канал |
Z4 | Громкость + | W4 | Изменить громкость | ||
Z5 | Громкость - | W5 | Сформировать номер канала | ||
Z6 | Цифровая кнопка | ||||
Z7 | Передать номер канала |
В основе модели цифрового автомата, реализованного в среде Delphi, представлен оператор case, он обеспечивает структурированный эквивалент последовательности условных операторов той же самой переменной, и является рациональным элементом программирования, чем оператор if.
Представим фрагмент исходного кода для иллюстрации применения switch-технологии:
procedure TForm4.ctrl(sost,sInp: integer);
begin
a:=sost;
z:=sInp;
case a of
1:
case z of
1:
begin
timer1.enabled:=false;
a:=2;
w:=1;
aview;
end;
end;
2:
case z of
1:
begin
timer1.enabled:=false;
a:=1;
w:=2;
aview;
end;
2,3:
begin
w:=3;
aview;
end;
4,5:
begin
w:=4;
aview;
end;
6:
begin
a:=3;
w:=5;
label4.Caption:='3';
timer1.enabled:=true;
timer2.Enabled:=true;
aview;
end;
end;
3:
case z of
1:
begin
timer1.enabled:=false;
a:=1;
w:=1;
aview;
end;
6:
begin
w:=5;
aview;
end;
7:
begin
timer1.enabled:=false;
a:=2;
w:=3;
aview;
end;
end;
end;
end;
procedure TForm4.aview;
begin
vsost.Text:=amet[a];
vsin.Text:=zmet[z];
vsout.Text:=wmet[w];
end;
Реализованная модель работы автомата по управлению пультом от телевизора представлена на рис. 2.
Рисунок 2 - Интерфейс программы
Таким образом, проведенное исследование позволило разработать программу-эмулятор, которая моделирует поведение цифрового автомата. Switch-технология позволила быстро и без ошибок запрограммировать управление устройством - пультом от телевизора.
Учение о нравственности, морали - это...
# этика
# логика
# гносеология
# аксиология
# нет правильного ответа
Дата добавления: 2014-12-20; просмотров: 114 | Поможем написать вашу работу | Нарушение авторских прав |