Цель работы:
1. Изучить конечные автоматы,
2. Рассмотреть клеточные автоматы и игру «Жизнь» в качестве примера конечных автоматов,
3. Изучить методы работы с JavaScript,
4. Написать Web-приложение реализующий клеточный автомат, используя язык программирования JavaScript.
Применение конечных автоматов
Автоматное программирование широко применяется при построении лексических анализаторов (классические конечные автоматы) и синтаксических анализаторов (автоматы с магазинной памятью).
Кроме того, мышление в терминах конечных автоматов (то есть разбиение исполнения программы на шаги автомата и передача информации от шага к шагу через состояние) необходимо при построении событийно-ориентированных приложений. В этом случае программирование в стиле конечных автоматов оказывается единственной альтернативой порождению множества процессов или потоков управления.
Продуманное применение конечных автоматов облегчает организацию и сопровождение, как логики пользовательского интерфейса, так и логики приложения. Благодаря этому код будет более гибким и надежным
В процессе работы были получены следующие результаты:
1. Была рассмотрена и изучена стандартная модель Джона Конвея.
2. Придуманы способ настройки смены поколения двух популяций.
3. Были изучены методы работы с JavaScript.
4. При помощи средств JavaScript было разработано приложение, реализующее простой интерфейс управления клетками и полем.
5. При помощи средств JavaScript был написан скрипт, рисующий график.
Данная модель может применяться для ознакомления с разнообразием клеточных автоматов, а так же для развития теоретического аппарата клеточных автоматов с различными условиями смены поколений.
1. Клумова, И.Н. Игра «Жизнь» / И.Н. Клумова // Квант. - 1974. - № 9. - С. 26-30.
2. Тоффоли, Т. Машины клеточных автоматов / Т. Тоффоли, Н. Марголус. - М.: Мир, 1991. - 283 с.
3. Флэнаган, Д. JavaScript. Подробное руководство/Д. Флэнаган. - Пер. с англ. - СПб: Символ-Плюс, 2008. - 992 с., ил.
4. The Game of Life [Электронный ресурс] - Режим доступа: http://life.written.ru.
5. Википедия [Электронный ресурс] - Режим доступа: http://ru.wikipedia.or.
6. WebReference.ru [Электронный ресурс] - Режим доступа: https://webref.ru.
7. JavaScript.ru [Электронный ресурс] - Режим доступа:
http://javascript.ru.
8. Хабрахабр [Электронный ресурс] - Режим доступа:
https://habrahabr.ru/