Использование обучающей программы StudyProgram для овладения навыками составления программ для машины Поста - Кодирование информации

Программа StudyProgram предназначена для того, чтобы помочь в усвоении приемов составления программ для машины Поста. Работа с программой осуществляется следующим образом. После запуска программы на экране появляется окно "StudyProgram", представленное на Рис.4. В нем имеется 3 раздела. Выберите 1-й раздел "Программирование машины Поста".

При выборе данного пункта меню появляется диалоговое окно,

Диалоговое окно содержит три кнопки: "GO", "Справка" и "Вернуться к выбору темы". Вверху расположено текстовое поле "Входная строка машины Поста". Сюда вводится входная строка машины Поста. Каждый символ строки соответствует одной ячейке ленты, 0 - отсутствие метки, 1 - наличие метки. Предполагается, что головка ленты находится над 1-й слева ячейкой. В окно, расположенное под данным окном вводится набор команд, выполняющий поставленную задачу. Каждая команда должна состоять из 4-х целых положительных чисел. 1-е число - это порядковый номер команды, 2-е число - тип команды, 3-е число - номер следующей команды при безусловном переходе и 4-е число - номер следующей команды при условном переходе. Если команда не является командой условного перехода, то 4-е число может быть любым. Числа в команде должны отделяться друг от друга запятой, а каждая команда заканчиваться точкой с запятой.

Порядок записи и выполнения программы следующий:

    1) В окно "Входная строка машины Поста" введите произвольную строку, состоящую из нулей и единиц, для которой поставленная задача имеет смысл. Например, если задача состоит в стирании 1-й метки, то, чтобы проверить правильность работы программы, во входной строке должна присутствовать хотя бы одна метка, т. е. единица. 2) В нижележащее окно введите в соответствии с выше перечисленными правилами набор команд, решающих поставленную задачу. 3) Нажмите кнопку "GO", после чего записанные команды будут выполнены и в поле "Выходная строка" появится результат работы машины Поста в виде выходной строки символов, состоящей из нулей и единиц.

В общем виде отдельная команда машины Поста имеет следующий вид: n, K, m1, m2; где n - порядковый номер команды, К - тип команды, m1, m2 - порядковые номера следующих команд. Имеется шесть типов команд машины Поста, которым для удобства можно дать номера от 1 до 6. Ниже дано описание команд машины Поста.

Тип команды

Действие команды

1

Движение головки на одну клетку вправо и переход к команде m1

2

Движение головки на одну клетку влево и переход к команде m1

3

Нанесение метки в ячейку и переход к команде m1

4

Стирание метки в ячейке и переход к команде m1

5

Проверка наличия метки в клетке, над которой находится головка. Если метка отсутствует, то управление передается с номером m1, если метка есть, то с номером m2

6

Остановка машины

Пример команды машины Поста: 1, 1, 2, 0;. Данная команда имеет порядковый номер 1, тип команды - 1 (движение головки на одну клетку вправо). После выполнения команды управление передается команде, имеющей порядковый номер 2.

Рассмотрим пример простой программы, которая стирает первую метку, записанную на ленте. Предположим, что в начале работы головка находится над крайней левой ячейкой ленты. Поставленная задача может быть выполнена с помощью следующего набора команд.

    - 1, 5, 2, 4; 1-я команда - 2, 1, 3, 0; 2-я команда - 3, 5, 2, 4; 3-я команда - 4, 4, 5, 0; 4-я команда - 5, 6, 0, 0; 5-я команда

Разберем работу программы. 1-я команда - это команда типа 5, т. е. условный переход. Если ячейка пустая, то управление передается команде 2, в противном случае - 4-й команде. 2-я команда - это сдвиг головки на одну ячейку вправо и передача управления 3-й команде. 3-я команда - это опять условный переход. Если метка отсутствует, то возврат ко второй команде и переход на 4-ю в противном случае. 4-я команда стирает метку (очевидно, она там есть, т. к. мы попадаем на 4-ю команду только при наличии метки) и передает управление 5-й команде, которая является командой остановки машины.

При нажатии кнопки "Справка" выводится окно со справочным материалом по данной теме

При нажатии кнопки "Вернуться к выбору темы" Вы возвращаетесь на стартовое окно программы.

Если входная строка введена неправильно, то выведется сообщение об ошибке

Если список команд не соответствует заданному шаблону, то выведется сообщение об ошибке

Похожие статьи




Использование обучающей программы StudyProgram для овладения навыками составления программ для машины Поста - Кодирование информации

Предыдущая | Следующая