Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теор_алг_ЛАБ1(1).doc
Скачиваний:
4
Добавлен:
25.11.2019
Размер:
112.13 Кб
Скачать

Лабораторна робота №1.

Тема: «Машина Поста»

Мета: навчитися програмно реалізовувати основні інструкції з набору елементарних операцій для машини Поста.

Конфігурація машини Поста задана наступним чином:

вар. №1

Конфігурація машини Поста

V

V

V

V

V

вар. №2

Конфігурація машини Поста

V

V

V

V

V

вар. №3

Конфігурація машини Поста

V

V

V

V

V

вар. №4

Конфігурація машини Поста

V

V

V

V

V

V

вар. №5

Конфігурація машини Поста

V

V

V

V

V

V

V

V

вар. №6

Конфігурація машини Поста

V

V

V

V

V

V

вар. №7

Конфігурація машини Поста

V

V

V

V

V

V

V

вар. №8

Конфігурація машини Поста

V

V

V

V

V

V

V

вар. №9

Конфігурація машини Поста

V

V

V

V

V

V

V

V

вар. №10

Конфігурація машини Поста

V

V

V

V

V

V

V

вар. №11

Конфігурація машини Поста

V

V

V

V

V

V

вар. №12

Конфігурація машини Поста

V

V

V

V

V

V

V

V

вар. №13

Конфігурація машини Поста

V

V

V

V

V

V

V

V

вар. №14

Конфігурація машини Поста

V

V

V

V

V

V

V

V

V

вар. №15

Конфігурація машини Поста

V

V

V

V

V

V

V

V

ЗАВДАННЯ:

1. Реалізувати графічно задану конфігурацію машини Поста. (Мова програмування довільна)

2. К – номер комірки, яка задається «зовнішньою силою». В даному випадку К – номер варіанта. Комірка №1 – це крайня зліва комірка.

Написати програму, яка реалізує перші чотири інструкції з набору Поста:

  1. відмітити комірку, якщо вона порожня;

  2. стерти мітку, якщо вона є;

  3. переміститися вліво на 1 комірку;

  4. переміститися вправо на 1 комірку.

V j – поставить метку, перейти к j-й строке программы.

X j – стереть метку, перейти к j-й строке программы.

<- j – сдвинуться влево, перейти к j-й строке программы.

-> j – сдвинуться вправо, перейти к j-й строке программы.

? j1; j2 – если в ячейке нет метки, то перейти к j1-й строке программы, иначе перейти к j2-й строке программы.

! – конец программы (стоп).

МАШИНА ПОСТА Машина Поста — це абстрактна неіснуюча реально обчислювальна машина, створена для уточнення формалізації поняття алгоритму. Являє собою універсальний виконавець, що дозволяє вводити початкові дані і читати результат виконання програми. У 1936 р. американський математик Еміль Пост у статті описав систему, що має алгоритмічної простотою і здатну визначати, чи є та чи інша задача алгоритмічно вирішуваною. Якщо завдання має алгоритмічне рішення, то вона представима у формі команд для машини Поста.

Машина Поста складається з …

нескінченної стрічки, поділеної на однакові осередки секції. Осередок може бути порожньою 0 або порожнеча або містити позначку 1 або будь-який інший знак, головки каретки, здатної пересуватися по стрічці на одну клітинку в ту чи іншу сторону, а також здатною перевіряти наявність мітки, прати і записувати мітку. Поточний стан машини Поста описується станом стрічки і положенням каретки.Стан стрічки — інформація про те, які секції порожні, а які відзначені. Крок — це рух каретки на одну клітинку вліво або вправо. Стан стрічки може змінюватися в процесі виконання програми.

Кареткою управляє програма, що складається з рядків команд. Кожна команда має наступний синтаксис: