Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Тема 17.2. Применимость программ. Определение результата выполнения программ

Тема 13.1. Основные определения теории графов | Тема 13.3. Отношения порядка и эквивалентности на графе | Тема 14.1. Граф достижимости | Тема 14.2. Взаимная достижимость, компоненты сильной связности и базы графа | Тема 15.1. Деревья | Тема 15.2. Обход графа | Тема 15.3. Расстояния. Диаметр, радиус и центр графа. Протяжённости. | Тема 16.1. Формальное описание машины Тьюринга | Тема 16.2. Примеры построения машины Тьюринга | Тема 16.3. Свойства машины Тьюринга как алгоритма |


Читайте также:
  1. II. Определение границ поясов ЗСО
  2. II. Определение границ поясов ЗСО
  3. III.4. Визуальное определение электрической оси сердца
  4. IV Определение показателя преломления стекла при помощи микроскопа.
  5. IV. ПРОГРАММА СЕМИНАРСКИХ ЗАНЯТИЙ
  6. IV. Регламент работы оргкомитета, программного комитета, жюри.
  7. IX. ПРОГРАММА СОРЕВНОВАНИЙ

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

Пример: определить состояние ленты после работы приведённой машины Поста

1. 4. 7.

2. 5. 8.

3. 6. 9.

Начальные состояния:

а). (1110011000) б). (зацикливание) в). (1001011000)

 

Пример: определить состояние ленты после работы приведённой машины Поста

1. 5. 9.

2. 6. 10.

3. 7. 11.

4. 8.

Начальные состояния:

а). (зацикливание) б). (010011) в). (01010110)

Пример: определить состояние ленты после работы приведённой машины Поста

1. 5. 9.

2. 6. 10.

3. 7. 11.

4. 8.

Начальные состояния:

а). (зацикливание…111)

б). (зацикливание…1111001)

в). (зацикливание 1010111…)

Пример: определить состояние, в котором окажется машина Поста в результате выполнения программы при заданном начальном состоянии ленты. (ячейка, на которую установлена каретка в начальный момент времени подчёркнута).

1. 5.

2. 6.

3. 7.

4. 8.

Начальные состояния:

а). ()

б). ()

Пример: определить состояние, в котором окажется машина Поста в результате выполнения программы при заданном начальном состоянии ленты. (ячейка, на которую установлена каретка в начальный момент времени подчёркнута).

1. 6. 11.

2. 7. 12.

3. 8. 13.

4. 9.

5. 10.

Начальные состояния:

а). ()

б). ()

в). ()

Пример: На ленте задан массив меток. Увеличить длину массива на 2 метки. Каретка находится либо слева от массива, либо над одной из ячеек самого массива.

1. 5.

2. 6.

3. 7.

4. 8.

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

1. 6.

2. 7.

3. 8.

4. 9.

5. 10.

Пример: На ленте задана последовательность массивов, включающая в себя один и более массивов. При этом два соседних массива отделены друг от друга одной пустой ячейкой. Необходимо на ленте оставить один массив длиной равной сумме длин массивов, присутствовавших изначально. Каретка находится над крайней левой меткой первого (левого) массива.

1. 6.

2. 7.

3. 8.

4. 9.

5. 10.

Пример: На ленте заданы два массива — и , . Вычислить разность этих массивов. Каретка располагается над левой ячейкой правого массива.

Запишем решение алгоритма в словесной форме:

1. ищем правый край массива , двигаясь слева направо;

2. стираем правую метку массива ;

3. ищем правый край массива , двигаясь слева направо;

4. стираем левую метку массива ;

5. проверяем, мы стёрли последнюю метку в массиве (в этом случае следующая справа ячейка должна быть пустой);

6. если стерли последнюю метку, то конец алгоритма;

7. иначе ищем правый конец массива , двигаясь справа налево;

8. переход на шаг 2.

1. 7.

2. 8.

3. 9.

4. 10.

5. 11.

6. 12.

Пример: На ленте заданы два массива. Найти модуль разности длин массивов. Каретка располагается над первой ячейкой левого массива.

1. 7. 13.

2. 8. 14.

3. 9. 15.

4. 10. 16.

5. 11. 17.

6. 12.

Пример: На ленте задан массив. Удвоить массив в два раза. Каретка располагается над первой ячейкой массива.

В результате работы программы справа от исходного массива будет сформирован новый массив удвоенной длины, исходный массив будет стёрт.

1. 7. 13.

2. 8. 14.

3. 9. 15.

4. 10. 16.

5. 11.

6. 12.

Пример: На ленте задан массив. Вычислить остаток от деления длины заданного массива на 3. Каретка располагается над первой ячейкой массива.

1. 8.

2. 9.

3. 10.

4. 11.

5. 12.

6. 13.

7.

Пример: На ленте машины Поста расположен массив из меток. Составить программу, действуя по которой машина выяснит, делится ли число на 3. Если да, то после массива через одну пустую ячейку поставить метку.

Нужно проверить, что массив состоит не менее чем из трёх меток, сместиться правее них и снова решать ту же задачу. Если правее очередных трёх меток окажется пробел, то за ним поставить ещё одну метку.

1. 6.

2. 7.

3. 8.

4. 9.

5.

Пример: На ленте имеется некоторое множество меток (общее количество меток не менее 1). Между метками множества могут быть пропуски, длина которых составляет одну ячейку. Заполнить все пропуски метками.

1. 5.

2. 6.

3. 7.

4.

Пример: На ленте имеется массив из отмеченных ячеек. Каретка обозревает крайнюю левую метку. Справа от данного массива на расстоянии в ячеек находится ещё одна метка. Составьте для машины Поста программу, придвигающую данный массив к данной ячейке.

1. 6.

2. 7.

3. 8.

4. 9.

5. 10.

Раздел 18. Основные понятия теории автоматов


Дата добавления: 2015-10-28; просмотров: 412 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Тема 17.1. Теоретическая часть. Состав машины Поста| Тема 18.1. Общие подходы к описанию устройств, предназначенных для обработки дискретной информации

mybiblioteka.su - 2015-2024 год. (0.029 сек.)