Lab01_Mashyna_Posta_07_11_2009_print
.pdfПриклад 6. Задано два масиви міток, які знаходяться на деякій відстані один від одного. Потрібно об’єднати їх в один масив. Каретка знаходиться над крайньою лівою міткою першого масиву (в початковому стані).
Розв’язок.
1.X 2
2.→ 3
3.? 4: 2
4.V 5
5.→ 6
6.? 8; 7
7.!
8.← 9
9.? 10: 8
10.→ 1
3. КОНТРОЛЬНІ ЗАПИТАННЯ
1.Що постулює так звана «теза Поста»?
2.Що таке алгоритм за Постом?
3.Що таке машина Поста?
4.Які складові абстрактної машини Поста?
5.Який набір команд виконує машина Поста?
6.Що таке початковий стан каретки?
7.Що таке стан стрічки?
8.Що таке стан машини Поста?
9.Навести перелік неприпустимих дій, які ведуть до аварійної зупинки машини.
10.Що таке програма для машини Поста?
11. Коли програма застосовна до біжучого стану машини Поста?
11
4.ЛАБОРАТОРНЕ ЗАВДАННЯ
1.Ознайомитись з принципами функціонування машини Поста.
2.Одержати індивідуальне завдання (див. Варіанти індивідуальних завдань).
3.Скласти блок-схему алгоритму та програму для машини Поста.
4.Виконати програму.
5.ЗМІСТ ЗВІТУ
1.Мета роботи.
2.Теоретичний аналіз опрацьованого матеріалу.
3.Відповіді на контрольні запитання.
4.Індивідуальне завдання, отримане у викладача.
5.Аналіз отриманих результатів і висновки.
6.Список використаної літератури.
СПИСОК ЛІТЕРАТУРИ
1.Emil Leon Post, Finite combinatory processes - Formulation 1, The Journal of Symbolic Logic 1 (1936), no. 3, 103–105
2.Успенский В.А. Машина Поста. — М. Наука, 1988.
3.Алферова З.А. Теория алгоритмов. — М.: Статистика, 1973.
4.Трахтенброт Б.А. Алгоритмы и вычислительные автоматы. — М.:
Сов.радио, 1974.
5.Манин Ю.И. Вычислимая и невычислимое. — М.: Сов. радио, 1980.
6.Мальцев А.И. Алгоритмы и вычислимые функции. — М.: Наука, 1986.
7.Марков А.А., Нагорный Н.М. Теория алгорифмов. — М.: Наука, 1984.
8.Миков А.И. Информатика. Введение в компьютерные науки. — Пермь,
ПГУ, 1998.
12
ВАРІАНТИ ІНДИВІДУАЛЬНИХ ЗАВДАНЬ
1.На стрічці машини Поста розташований масив у N відмічених комірках. Необхідно праворуч від даного масиву через одну порожню комірку розташувати масив удвічі більшого розміру (повинен складатися з 2*N міток). При цьому початковий масив може бути стертий.
2.На стрічці машини Поста розташований масив з N міток (мітки розташовані через пропуск). Потрібно стиснути масив так, щоб усі N
міток займали N розташованих підряд комірок.
3.На стрічці машини Поста розташовано N масивів міток, відокремлених один від одного вільною коміркою. Каретка знаходиться над крайньою лівою міткою першого масиву. Визначити кількість масивів.
4.Скласти програму додавання 2-х цілих додатних чисел а і b,
розташованих на стрічці машини Поста. Каретка розташована над однією з міток, що належать числу а. Число b знаходиться правіше за число а через декілька порожніх комірок.
5.Скласти програму додавання довільної кількості цілих додатних чисел,
записаних на стрічці машини Поста на відстані однієї порожньої комірки один від одного. Каретка знаходиться над крайньою лівою міткою лівого числа.
6.На стрічці машини Поста розташований масив з N міток. Скласти програму, діючи по якій машина з’ясує, чи ділиться число на 3. Якщо так, то після масиву через одну порожню комірку поставити мітку V.
7.Число k представлено на стрічці машини Поста k+1 мітками, що йдуть підряд. Знайти залишок від ділення цілого додатнього числа k на 3,
якщо відомо, що каретка знаходиться праворуч від заданого числа.
8.Скласти програму знаходження різниці двох додатних цілих чисел а і
b, що знаходяться на стрічці машини Поста. Каретка знаходиться над
лівою міткою лівого числа. Невідомо, яке число більше: а чи b.
13
9.На стрічці машини Поста розташований масив з 2*N-1 міток. Скласти програму відшукання середньої мітки масиву та її стирання.
10.На стрічці машини Поста розташовані два масиви. Скласти програму стирання більшого з цих масивів.
11.На інформаційній стрічці машини Поста знаходяться два масиви M та
N міток. Скласти програму з’ясування, чи однакові масиви по довжині. 12.На стрічці розташовано n масивів міток, відокремлених один від одного однією вільною коміркою. Каретка знаходиться над першою
міткою першого масиву. Визначити кількість масивів.
13. На стрічці машини Поста розташовано 2 масиви міток на деякій відстані один від одного. З’єднати ці два масиви в один. Каретка знаходиться над крайньою лівою міткою лівого масиву.
14.Задано масив міток. Каретка оглядає 1-шу порожню комірку перед початком масиву. Розсунути масив таким чином, щоб після кожної мітки була порожня комірка.
15.На стрічці машини Поста знаходяться n масивів міток. Каретка знаходиться десь над першим масивом. Видалити всі парні масиви,
якщо всі масиви розділені трьома порожніми секціями.
16. На стрічці задана послідовність масивів, яка включає один і більше масивів. При цьому два сусідні масиви відокремлені один від одного однією порожньою коміркою. Необхідно на стрічці залишити один масив довжиною, яка дорівнює сумі довжин масивів, присутніх спочатку. Каретка знаходиться над крайньою лівою міткою першого
(лівого) масиву.
17.На стрічці задано два масиви - m і n, m > n. Обчислити різницю цих масивів. Каретка розташовується над лівою коміркою правого масиву.
18.На стрічці задано масив. Подвоїти масив у два рази. Каретка розташовується над першою коміркою масиву.
14
19.На стрічці задано масив. Обчислити залишок від ділення довжини заданого масиву на 3. Каретка розташовується над першою коміркою масиву.
20.На стрічці є певна множина міток (загальна кількість міток не менше
1). Між мітками можуть бути порожні комірки. Кількість порожніх
комірок між мітками не більше однієї. Заповнити всі пропуски мітками.
21.На стрічці є масив з n відмічених комірок. Каретка оглядає крайню ліву мітку. Праворуч від заданого масиву на відстані в m комірок розташована ще одна мітка. Складіть для машини Поста програму, яка присуває даний масив до даної комірки.
22.Задано масив міток. Каретка розташовується десь над масивом, але не над крайніми мітками. Стерти всі мітки, крім крайніх, і поставити каретку в початкове положення.
23.Задано декілька масивів міток. Видалити парні масиви. Каретка знаходиться над першим масивом.
24.На стрічці машини Поста знаходяться два масиви в m і n міток.
Скласти програму яка з’ясовує, чи однакові масиви по довжині.
25. На стрічці розташовано два масиви різної довжини. Каретка оглядає крайній елемент одного з них. Скласти програму для машини Поста,
яка порівнює довжини масивів і стирає більший з них.
15
НАВЧАЛЬНЕ ВИДАННЯ
МАШИНА ПОСТА
МЕТОДИЧНІ ВКАЗІВКИ
до лабораторної роботи № 1 з курсу «Алгоритми і структури даних»
для студентів базового напрямку 6.050101 «Комп’ютерні науки»
Укладачі |
Керницький Андрій Богданович, |
|
Денисюк Павло Юрійович, |
|
Мельник Михайло Романович |
Редактор |
Лобур Михайло Васильович |
Комп’ютерне верстання |
Керницький Андрій Богданович, |
|
Денисюк Павло Юрійович |
16
