Лр 5 (Сценарий)

Обновления:

Внимание: сценарий может состоять только из одних команд для мт, переведенных прогой. Комментарии желательны, но можно без них. (Даже лучше без них, чтобы не придрался к ним)

6.11.2016 Я потерял интерес к жизни когда дописывал 37-й комментарий к своей МТ5, поэтому переделал прогу, чтобы она сделала это за меня. Новая версия тут (она сама генерирует комментарии, но сильно не наглейте, напишите чего-нибудь своего, чтобы массо одинаковых работ не было)

31.10.2016 Прога для перевода МТ5 в сценарий клац

Итак, форма сдачи сценария (одно из двух):

  1. Диаграмма Тьюринга
  2. Набор команд (q,a,s,d,q’)

Сам Титов, по моему мнению, меньше будет придираться именно к набору команд. И лично я буду делать именно этим способом.

Пишем мы МТ в 5-ках, поэтому и сценарий должен ему соответствовать.

Критерии:

  1. Каждая строчка сценарий должна содержать одну команду МТ. Она же в свою очередь должна состоять из начального состояния q₀ (₀-индекс), буквы, которую видит головка мт a, буквы, которую она пишет s, действия, которое она делает и состояния d, в которое оно перейдет q₁ (1-индекс).
  2. Каждая строчка сценарий должна содержать описание того, что делает ваша команда.

Алфавит команд (эквивалентны интерпретатору): 

r-вправо;  l- влево; u-оставаться на месте; s-стоп,завершение;

Пример:

q₀,λ,1,r,q₁

Старт МТ. Головка видит λ, записывает в ячейку «1» двигается на одну ячейку право, переходит в состояние q₁.

q₁,λ,0,l,q₂

Если в состоянии q₁ головка мт видит λ, то заменяет его на «0» и двигается налево, переходя в состояние q₂

И так далее. Еще желательно разделить программу на блоки, т.е. пояснить скажем, что эти 10 команд копируют текст, а эти 15 считают нолики и записывают там что-то… И в сценарии отразить это двойными(тройными,…,n) индексами, если программа программа сразу не является очевидной.

+ Выяснилось, что нашему горячо любимому преподу нравится *каноническая* форма записи команд мт (Аля см скрин, + моя прога от 6.11.2016 делает это в каноническом виде)

Пример:

<блок 1: выполнение дичи #1>

q₁₁,λ,1,r,q₁₂             <коммент>

q₁₁,λ,2,r,q₁₃              <коммент>

<блок 2: выполнение дичи #2>

q₂₁,λ,1,l,q₂₂               <коммент>

и так далее..

Так, и как всегда, чет вкусненькое для своих ребят. Символы для копирования в сценарий:

Подстрочные символы: ₀ ₁ ₂ ₃ ₄ ₅ ₆ ₇ ₈ ₉

Пробел: λ

Стрелочка: →

Мой сценарий, после 5-ти минут редактирования машинного перевода выглядел так:

%d1%81%d1%86%d0%b5%d0%bd%d0%b0%d1%80%d0%b8%d0%b9

Как будет выглядеть ваш сценарий деда в принципе не волнует, лишь бы он был, и там было много написано (но если работа сдана с опозданием или были замечания до этого, то он может все таки придраться, так что на ваш страх и риск)

maxspt

Оставить отклик

Ваш адрес эл.почты не будет опубликован.