- •Определения и способы описания конечных автоматов
- •Математическая модель и схема рекуррентных соотношений конечного автомата "Умный родитель"*)
- •Графический способ описания конечного автомата "Умный родитель"
- •Табличный способ описания конечного автомата "Умный родитель"
- •Реализация конечного автомата "Умный родитель" в среде электронных таблиц ms Excel
Реализация конечного автомата "Умный родитель" в среде электронных таблиц ms Excel
1. Закодировать равномерным двоичным кодом символы входного алфавита автомата "Умный родитель" и записать их в справочник, для этого: 1.1. Определить длину кодового слова равномерного двоичного кода для символов входного алфавита: = {неудовлетворительно, отлично}. Воспользоваться формулой: (бит). 1.2. Кодовые слова символов записать справочник на рабочем листе MSExcel, ключевое поле справочника – входной символ алфавита. Кодовые символы разместить в ячейках диапазонаC5:C6 (рис.6). | |
2. Закодировать равномерным двоичным кодом символы выходного алфавита автомата "Умный родитель" и записать их в справочник, для этого: 2.1. Определить длину кодового слова равномерного двоичного кода для символов выходного алфавита: = {брать ремень, ругать ребенка, успокаивать ребенка, надеяться, радоваться, ликовать}. Воспользоваться формулой: (бита). 2.2. Кодовые слова символов выходного алфавита записать в справочник на рабочем листе MSExcel, ключевое поле справочника – кодовое слово символа выходного алфавита. Кодовые слова разместить в ячейках диапазонаЕ5:Е10 (рис.7). 2.3. Символы выходного алфавита разместить в ячейках диапазона F5:F10.
Рис. 7. Справочники кодовых слов для символов входного и выходного алфавитов | |
3. Закодировать равномерным двоичным кодом символы алфавита состояний автомата "Умный родитель" и записать их в справочник, для этого: 3.1. Определить длину кодового слова равномерного двоичного кода для символов алфавита состояний автомата: = {начальное состояние, расстроенное, гневное, радостное}. Воспользоваться формулой: (бита). 3.2. Кодовые слова символов алфавита состояний записать справочник на рабочем листе MSExcel, ключевое поле справочника – кодовое слово символа выходного алфавита. Кодовые слова разместить в ячейках диапазона I5:I8 (рис.8). 3.3. Символы выходного алфавита разместить в ячейках диапазона J5:J10 (рис. 8).
Рис. 8. Справочники кодовых слов для символов входного, выходного алфавитов и алфавита состояний | |
4. Для формирования кодированной таблицы переходов и выходов необходимо создать совместную таблицу переходов и выходов в ячейках рабочего листа D15:H21. В клетки таблицы записать кодовые слова для символов входного, выходного алфавитов и алфавита состояний как показано на схеме (рис. 9).
Рис. 9. Совместная таблица значений функций переходов и выходов | |
5. По данным совместной таблицы переходов и выходов составить кодированную таблицу переходов и выходов (рис.10). Это справочник, его строка состоит из трех полей: – ключевого поля, – кодового слова, определяющего состояние автомата в следующий момент времени, – кодового слова, определяющего выходной символ алфавита. Таблицу разместить в диапазоне N3:P10рабочего листа, заполняя построчно значения ячеек: а) ключевое поле справочника (значения в ячейках колонки N) формируется из трех двоичных символов: первый бит – кодовый знак символа входного алфавита, адресует строку совместной таблицы переходов и выходов, два следующих бита – кодовый знак символа алфавита состояний, адресует колонку совместной таблицы переходов и выходов, б) клетка совместной таблицы переходов и выходов, которая расположена на пересечении этой строки и столбца (рис.9), содержит кодовое слово последующего состояния. Записать его в поле кодовой таблицы «Последующее состояние», в) кроме того, в этой же клетке совместной таблицы переходов и выходов записано кодовое слово выходного символа. Занести это кодовое слово в поле кодовой таблицы «Выходной символ». Рис. 10. Кодированная таблицы переходов и выходов на рабочем листе MS Excel | |
6. «Кодированная таблица переходов и выходов» – служит справочником. Поэтому строки этой таблицы следует упорядочить по возрастанию значения поля «Входной символ/Текущее состояние». |
7. Подготовить диапазон ячеек A28:F29 для демонстрации работы автомата "Умный родитель": 7.1. Занести наименования столбцов в ячейки диапазона A28:F28 в соответствии со схемой на рис. 11. 7.2. В ячейку С29 занести код начального состояния – "00". 7.3. Из справочника «Входной алфавит X» в ячейкуD29 выбрать соответствующий этому коду символ входного алфавита (рис. 11), для этого в ячейку D29 ввести формулу:=ВПР(C29;$I$5:$K$8;2) Диапазон ячеек примет вид
Рис. 11. Подготовка к демонстрации работы автомата |
8. Диапазон ячеек А30:F30соответствует первому такту работы автомата. Для определения кодов и символов входного, выходного алфавита и алфавита состояний для первого такта использовать следующие формулы:
8.1. В ячейку B30ввести формулу определения кода входного символа:=ВПР(A30;$A$5:$C$6;3)
8.2. В ячейку C30ввести формулу:=ВПР(B30&C29;$N$3:$P$10;2). Эта формула определяет код состояния автомата на первом такте работы автомата. Первый параметр функции задает образец поиска в кодированной таблице переходов и выходов. Образец состоит из трех битов: первый бит – кодовый знак символа входного алфавита, значение ячейки B30, два следующих бита – код начального состояния, значение ячейки C29.
8.3. В ячейку D30 ввести формулу:=ВПР(C30;$I$5:$K$8;2).
8.4. В ячейку E30ввести формулу:=ВПР(B30&C29;$N$3:$P$10;3).
8.5. В ячейку F30ввести формулу:=ВПР(E30;$E$5:$G$10;2). |
9. Чтобы убедиться в корректности введенных формул, измените режим просмотра рабочего листа. На линейке управления перейдите на закладку Формулы, затем активируйте командуПоказать формулы(рис. 12).
Рис.12. Переход в режим просмотра формул рабочего листа
|
10. Включается режим просмотра формул в ячейках рабочего листа (рис.13).
Рис.13. Просмотр рабочего листа в режиме формул
|
11. Просмотрите формулы и вернитесь в режим отображения значений результата (рис. 14).
Рис. 14. Просмотр рабочего листа в режиме отображения результата. |
12. В диапазон ячеек B30:B35 ввести входную цепочку символов (рис. 15), например, такую:
неудовлетворительно отлично отлично неудовлетворительно отлично отлично
Рис. 15. Входная цепочка символов автомата "Умный родитель" записывается в диапазон B30:B35 |
13. Определить значения ячеек диапазона для каждого входного символа. Для этого выделить диапазон ячеек B30:F30 и маркером автозаполнения раскопировать его на диапазон B30:F35 (рис. 16).
Рис. 16. Диапазон ячеек рабочего листа MS Excel – иллюстрация работы автомата "Умный родитель"
|
14. Схема рабочего листа со сценарием работы автомата "Умный родитель" представлена на рис. 17.
Рис. 17. Рабочий лист MS Excel – результат выполнения лабораторной работы 4.