Составление имитационной модели нормального алгоритма Маркова (НАМ).
Для моделирования задачи используем средства программы Excel Microsoft Office.
Необходимо построить модель на листе табличного редактора, используя возможности встроенных функций и условного форматирования.
Возможный вариант модели представлен на рисунке 12. (адреса ячеек не менять иначе неправильно будет работать программа) .
Необходимо выполнить следующее:
1. Оформить таблицу формул алгоритма (рис 26).
В столбике Номер(адреса A1÷A5) пересчитать построчно ,начиная с 1 ,все номера используемых формул . У нас 1-2-3-4.
В столбике Левая часть (адреса B1÷B5) указать левые части используемых формул по мере их использования (порядок важен) У нас %a-%b-%-пусто (ячейка остается пустой. Если есть 0 , то его надо убрать клавишей Delete).
В столбике Правая часть (адреса C1÷C5) указать правые части используемых формул , соответствующих левым частям. У нас a%-b%-a-%
В столбике Маркер останова (адреса D1÷D5) останова указать символ “!”, если формула после выполнения должна остановиться (может быть несколько маркеров или не одного).У нас пусто-пусто-!-пусто.
Для других задач количество строк (формул) может быть больше или меньше. Поэтому для других задач необходимо таблицу откорректировать.
Для повышения наглядности необходимо выделить контуры ячеек таблицы толщиной и цветом по своему вкусу. Это делается командой Меню→Главная→Шрифт→Границы.
2. Оформить вспомогательную таблицу запуска программы.
|
|
Ячейка F1-содержимое “ запуск программы”
Ячейка G1-содержимое “ старт”
Ячейка G2-содержимое “0” (первоначально. Далее при запуске программы оно меняется вручную на 1)
Ячейка H1-содержимое “ шаг”
Ячейка F2-содержимое
=ЕСЛИ($G$2;ЕСЛИ(СЧЁТЕСЛИ(F10:F40;"Конечное слово");"конец";"начало");"'' 1--> старт''")
(набирать в ячейке по нажатию клавиши =,(тогда = в самой формуле не нужно набирать) и закончит набор клавишей Enter).
Ячейка H2-содержимое
=ЕСЛИ(G2;ЕСЛИ(H2=100;1;H2+1);0)
Для повышения наглядности необходимо выделить контуры ячеек таблицы толщиной и цветом по своему вкусу. Это делается командой Меню→Главная→Шрифт→Границы.
Для ячейки F2 ввести первое условное форматирование цветом и шрифтом. Для этого выделяем ячейку F2 и в меню выполняем команды Главная→Условное форматирование→Управление правилами→Создать правило→Использовать формулу для форматируемых ячеек →набрать формулу =$F$2=”начало”
и выбрать цвет и шрифт (у нас цвет желтый и шрифт по умолчанию ) , а также в графе Применяется к добавить
=$F$2
Для ячейки F2 ввести второе условное форматирование цветом и шрифтом. Для этого выделяем ячейку F2 и в меню выполняем команды Главная→Условное форматирование→Управление правилами→Создать правило→Использовать формулу для форматируемых ячеек →набрать формулу =$F$2=”конец”
|
|
и выбрать цвет и шрифт (у нас цвет красный и шрифт по умолчанию ) , а также в графе Применяется к добавить
=$F$2
3. Создаем таблицу исходной задачи.
Создается таблица на любом пустом месте в виде двух столбиков (Задано слово и Получить слово).В единственной строке указываем данные задачи(у нас bbab и bbaba).Оформляем таблицу по своему вкусу согласно предыдущим настройкам.
4. Оформляем таблицу решений.
Ячейка F9-содержимое “Исходное слово”
Ячейка G9-содержимое “Метка останова”
Ячейка F10-содержимое “bbab”
Ячейка G10-содержимое “0”
Ячейка F11-содержимое =ЕСЛИ($H$2>=СЧЁТЗ($F$11:F11);ЕСЛИ(G10=1;"Конечное слово";ЕСЛИ(ЕЧИСЛО(ПОИСК($B$2;F10;1));ЗАМЕНИТЬ(F10;ПОИСК($B$2;F10;1);ДЛСТР($B$2);$C$2);ЕСЛИ(ЕЧИСЛО(ПОИСК($B$3;F10;1));ЗАМЕНИТЬ(F10;ПОИСК($B$3;F10;1);ДЛСТР($B$3);$C$3);ЕСЛИ(ЕЧИСЛО(ПОИСК($B$4;F10;1));ЗАМЕНИТЬ(F10;ПОИСК($B$4;F10;1);ДЛСТР($B$4);$C$4);ЕСЛИ(ЕЧИСЛО(ПОИСК($B$5;F10;1));ЗАМЕНИТЬ(F10;ПОИСК($B$5;F10;1);ДЛСТР($B$5);$C$5);"стоп")))));"")
Так как ячейка F11 содержит много формул, ее необходимо тщательно проверить на предмет ошибок. Дальше необходимо повторить с некоторыми изменениями содержание этой ячейки в ячейках F12-F**(количество определяется шагами программы (взять по своему усмотрению с запасом (запас можно легко отрегулировать добавлением или удалением ячеек))).
|
|
Чтобы избежать ошибок необходимо воспользоваться приемом Excel протаскивание.
Для этого надо выделить ячейку F11 и за правый нижний край (при появление на углу крестика нажать левую клавишу мышки) протащить до желаемой нижней ячейки и отпустить кнопку мышки. Все ячейки будут заполнены с требуемыми изменениями. Необходимо помнить, что адреса ячеек со знаками $ не меняются от протаскивания. У нас необходимо заполнить ячейки по F18.
Ячейка G11-содержимое
=ЕСЛИ(F11="Конечное слово";1;ЕСЛИ(ЕЧИСЛО(ПОИСК($B$2;F10;1));ЕСЛИ(И(ЕЧИСЛО(ПОИСК($B$2;F10;1));ЕТЕКСТ($D$2));1;0);ЕСЛИ(ЕЧИСЛО(ПОИСК($B$3;F10;1));ЕСЛИ(И(ЕЧИСЛО(ПОИСК($B$3;F10;1));ЕТЕКСТ($D$3));1;0);ЕСЛИ(ЕЧИСЛО(ПОИСК($B$4;F10;1));ЕСЛИ(И(ЕЧИСЛО(ПОИСК($B$4;F10;1));ЕТЕКСТ($D$4));1;0);ЕСЛИ(ЕЧИСЛО(ПОИСК($B$5;F10;1));ЕСЛИ(И(ЕЧИСЛО(ПОИСК($B$5;F10;1));ЕТЕКСТ($D$5));1;0);0)))))
Заполняем ячейки методом протаскивания для G11÷G18 .
Ячейка E11-содержимое
=ЕСЛИ($H$2>=1;"шаг " & ЕСЛИ(ЕПУСТО(F11);"";СЧЁТЗ($F$11:F11));"")
Заполняем ячейки методом протаскивания для E11÷E18.
Для ячеек F11÷F18 применим условное форматирование цветом и шрифтом.
|
|
Для этого выделим ячейку F11 и в меню выполняем команды Главная→Условное форматирование→Управление правилами→Создать правило→Использовать формулу для форматируемых ячеек→набрать формулу
=$F$11=” Конечное слово”
и выбрать цвет и шрифт (у нас цвет красный и шрифт по умолчанию ) , а также в графе Применяется к добавить
=$F$11:$F$18)
Для наглядности вспомогательные ячейки G9÷G18 сделаем невидимыми для пользователя. Для этого надо выделить эти ячейки и нажать правую клавишу мышки→Формат ячеек→Цвет→установить “Белый” (то есть они сольются с фоном ячеек)→Enter.
Общий вид модели показан на рисунке 27:
5. Запускаем программу вводом в ячейку G2 цифры “1” и нажать клавишу Enter. В соседней ячейке H2 появиться цифра 1 (выполниться первый цикл итераций).
Для продолжения шагов необходимо нажимать многократно клавишу F9 в верхней части клавиатуры компьютера .
Если при оформлении модели программа Excel выдаст предупреждение и недопустимых циклических ссылках, необходимо в Главное меню→Параметры→Формулы→Включить итеративные вычисления (установить шаг итерации 1 (за одно нажатие клавиши F9 будет совершаться один шаг)).
Содержание отчета:
(отчет предоставить индивидуально в бумажном и электронном виде на носителе).
1.Решение 2-х задач для самостоятельного решения.
2.Текстовый алгоритм работы Машины Тьюринга для конкретной задачи.
3.Текстовый алгоритм работы нормального алгоритма Маркова (НАМ) для конкретной задачи.
4.Скриншоты имитационной модели машины Тьюринга с описанием управляющих формул.
5.Скриншоты имитационной модели нормального алгоритма Маркова (НАМ) с описанием управляющих формул.
6.Действующие модели в электронном виде в программе Microsoft Office Excel.
7.Рекомендации по оптимизации предложенных моделей.
Контрольные вопросы:
1. Абстрактный автомат - машина Тьюринга.
2.Определение нормального алгоритма Маркова.
3.Электронные таблицы Excel Microsoft Office.
4.Встроенные и пользовательские функции Excel.
5.Условное форматирование в Excel.
6.Принципы составления текстовых алгоритмов.
7.Составление управляющих вложенных формул в Excel.
8.Имитационные модели абстрактных автоматов.
9.Организация итерационных вычислений в Excel.
10.Достоинство и недостатки программирования с использованием
ресурсов Excel.
11.Способы корректировки моделей для решения различных задач.
Дата добавления: 2018-08-06; просмотров: 515; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!