Лист 3. Модель блока ввода символов (EnturanceTape)
1. Назначение
Представляет модель блока ввода символов (с клавиатуры).
2. Базовые классы
LFsaAppl (базовый автоматный класс)
3. Связи
Имеет связь с моделью блока FL - предикат x6.
4. Функционирование
4.1. Роли состояний:
Состояние «e0» - состояние ожидания первого символа; «kbhit» - ожидание очередного символа; «sym» - символ на выходе блока; «ESC» - проверяется символ на значения END или ESC.
Примечание 1. «e0» - начальное состояние, «00» - конечное.
4.2. Алгоритм работы:
Первоначально блок ET, дождавшись символа через состояние «kbhit» попадает в состояние «ESC», где проверяется значение введенного символа. Если это символ END, то ввод текущей строки завершен и выполняется переход в начальное состояние – «e0» для ввода следующей строки, если символ – END, то работа блока завершается, любой другой символ передается на выход блока. При этом автомат переходит в состояние «sym», а значению символа соответствует свойство объекта C (метод GetSym возвращает значение текущего символа) . Находясь в состоянии «sym», автомат ожидает перехода внешней среды – в нашем случае блока FL, в состояние «ok», что служит для модели сигналом к вводу очередного символа, чему соответствует переход ее в состояние «kbhit».