- •По дисциплине «Теория алгоритмов»
- •Глава 1. Машина Тьюринга
- •1. Теоретические сведения
- •1.1 Краткое описание машины Тьюринга
- •Глава 1. Машина Тьюринга 4
- •1. Теоретические сведения 4
- •2. Практическая часть: Примеры на составление программ для мт 9
- •Глава 2. Нормальные алгоритмы Маркова 31
- •1. Теоретические сведения 31
- •2.Практическая часть: Примеры на составление нам 34
- •Глава 3. Задачи теоретического характера 57
- •Глава 4. Машина Поста. 72
- •1.2 Программа для машины Тьюринга
- •1.3 Правила выполнения программы
- •1.4 Соглашения для сокращения записи
- •2. Практическая часть: Примеры на составление программ для мт
- •Практическая работа №1: Перемещение автомата, замена символов, анализ символов.
- •Задачи для решения
- •Практическая работа №2 Сравнение символов, стирание слова, удаление символа из слова.
- •Задачи для решения
- •Практическая работа №3: Сжатие слова, вставка символа в слово.
- •Задачи для решения
- •Практическая работа № 4: Раздвижка слова, формирование слова на новом месте, фиксирование места на ленте.
- •Задачи для решения
- •Глава 2. Нормальные алгоритмы Маркова
- •1. Теоретические сведения
- •1.1 Краткое описание нормальных алгоритмов Маркова
- •4. Если в левой части формулы подстановки указано пустое слово, то подстановка сводится, по определению, к приписыванию в слева к слову p:
- •1.2 Правила выполнения нам
- •2.Практическая часть: Примеры на составление нам
- •Практическая работа №5: Вставка и удаление символов, перестановка символов
- •Практическая работа №6: Использование спецзнака, фиксация спецзнаком заменяемого символа.
- •Практическая работа № 7: Перемещение спецзнака, смена спецзнака.
- •Практическая работа № 8: Перенос символа через слово, использование нескольких спецзнаков.
- •Глава 3. Задачи теоретического характера
- •Задачи для решения.
- •Практическая работа №10 Самоприменимость алгоритма
- •Задачи для решения.
- •Глава 4. Машина Поста.
- •Практическая работа №13. Работа с массивами
- •Практическая работа №14 Ориентация на ленте
- •Практическая работа 15. Действия над заданным на ленте множеством меток
- •Практическая работа 16. Сравнение
- •Простые программы
- •Литература
Практическая работа 16. Сравнение
Пример 1 На ленте расположены два массива разной длины. Каретка обозревает крайний элемент одного из них. Составьте программу для машины Поста, сравнивающую длины массивов и стирающую больший из них. Отдельно продумайте случай, когда длины массивов равны.
Решение аналогично нахождению разности двух чисел.
Пример 2. На ленте машины Поста находятся два массива в m и n меток. Составить программу выяснения, одинаковы ли массивы по длине.
Решение аналогично нахождению разности двух чисел.
Пример 3. Дано N массивов меток. Массивы разделены тремя пустыми ячейками. Количество меток в массиве не меньше двух. Если количество меток в массиве кратно трем, то стереть метки в этом массиве через одну, в противном случае стереть весь массив. Каретка находится над крайней левой меткой первого массива.
Решение. В задаче присутствует большое количество условий. Вместе с тем реализация этих условий требует лишь внимательного составления программы.
Простые программы
Задача 1
Составить программу перевода информационной ленты из начального состояния в конечное:
Н.с. |
… |
۷ |
۷ |
۷ |
|
۷ |
|
۷ |
|
۷ |
… |
К.с. |
… |
۷ |
۷ |
۷ |
|
۷ |
۷ |
|
۷ |
۷ |
… |
Задача 2
Составить программу для прохождения каретки от левой метки к правой. Количество пустых клеток между метками неизвестно.
Н.с. |
… |
۷ |
|
|
|
|
|
|
|
۷ |
… |
К.с. |
… |
۷ |
|
|
|
|
|
|
|
۷ |
… |
Задача 3
Составить программу для заполнения всех клеток от левой метки до правой. Количество пустых клеток между метками неизвестно.
Н.с. |
… |
۷ |
|
|
|
|
|
|
|
۷ |
… |
К.с. |
… |
۷ |
۷ |
۷ |
۷ |
۷ |
۷ |
۷ |
۷ |
۷ |
… |
Задача 4
Составить программу перевода информационной ленты из начального состояния в конечное. Количество меток произвольное (не обязательно равно 4).
Н.с. |
… |
۷ |
|
۷ |
۷ |
۷ |
۷ |
|
|
|
… |
К.с. |
… |
|
۷ |
۷ |
۷ |
۷ |
|
|
|
|
… |
Задача 5
Составить программу перевода информационной ленты из начального состояния в конечное. Количество меток произвольное (не обязательно равно 4).
Н.с. |
… |
۷ |
|
... |
۷ |
۷ |
۷ |
۷ |
|
|
… |
К.с. |
… |
|
۷ |
۷ |
۷ |
۷ |
|
|
|
|
… |
