Картинки из квадратов \ Презентация \ Доработка "любимой модели" \

12.7.3. Естественная связь
с "автоматными" конструкциями

Начало см. здесь и здесь.
Сейчас идет такой тренд — с самого начала изучать логику и программирование. Одной из наиболее фундаментальных (и одновременно достаточно простых) концепций современного Computer Science является концепция "конечных автоматов". Поэтому можно попробовать использовать какие-то их адаптированные версии в детских играх начального уровня.
Эта идея является тем более оправданной, что один из простейших и древнейших алгоритмов — антанаиресис, лежащий в основе всей арифметики, оказывается естественным образом связанным с новомодными "автоматными" конструкциями (как это ни странно может показаться на первый взгляд).
Суть этой связи можно почувствовать при рассмотрении решения задач о проверке пропорций (наподобие этой). Более конкретно эту связь можно увидеть на приводимом ниже алгоритме построения прямоугольника по заданной программе. Начальная конфигурация нашего автомата будет выглядеть так (формальное определение "начальной конфигурации" см. здесь):
В составе этого "автомата" используется игровое поле, которое я предлагал ранее, и на которое уже положен один желтый квадрат. Это будет символизировать начальное состояние устройства управления нашего автомата. Справа от игрового поля находится последовательность карточек с символами V, H и E, символизирующая собой входную ленту нашего автомата (в общем случае последовательность расположения символов V, H и E на ленте, а также их общее количество могут быть любыми). Таким образом, в целом начальная конфигурация автомата включает в себя один желтый квадрат, положенный на игровое поле и распределение символов V, H и E на входной ленте, причем головка автомата, изображенная красной стрелкой, обозревает самый первый символ на входной ленте.
Работа такого автомата будет происходить по тактам. Поскольку в начальной конфигурации головка автомата обозревает символ V, то на первом такте автомат выполняет простое вертикальное действие и сдвигает головку на одну позицию вправо. Под "простым вертикальным действием" понимается добавление на игровом поле к имеющемуся уже там одному квадрату еще одного квадрата сверху (соответствующего первому по размерам):
После выполнения первого такта автомат будет находиться в состоянии, символизируемом прямоугольником шириной 1 у. е. и высотой 2 у. е. на игровом поле, а его головка будет обозревать второй символ на входной ленте (символ H). Теперь автомат выполняет второй такт. Поскольку сейчас головка обозревает символ H, то на втором такте автомат выполняет простое горизонтальное действие и снова сдвигает головку на одну позицию вправо. Под "простым горизонтальным действием" понимается добавление на игровом поле к уже имеющемуся там прямоугольнику еще одного квадрата справа (соответствующего по размерам вертикальной стороне прямоугольника):
После выполнения второго такта автомат будет находиться в состоянии, символизируемом прямоугольником шириной 3 у. е. и высотой 2 у. е. на игровом поле, а его головка будет обозревать третий символ на входной ленте (символ E). Поскольку теперь головка автомата обозревает символ E (так называемую пустую цепочку), то работа автомата прекращается. Можно считать, что результатом его работы по данной программе является прямоугольник шириной 3 у. е. и высотой 2 у. е., построенный на игровом поле. О связи строки символов в бинарном алфавите {V, H} на входной ленте нашего автомата с антанаиресисом см. здесь.
Продолжение см. здесь.
К началу данной страницы
Картинки из квадратов \ Презентация \ Доработка "любимой модели" \