
- •1. Поняття конструктивного об’єкту.
- •2. Загальна схема побудови алгоритмічної системи
- •3. Алфавітні алгоритми.
- •4. Означення нормального алгоритму.
- •Розв’язування. Застосувавши першу підстановку до слова х, одержимо слово
- •Операція входження має вигляд
- •Іі. Завдання до лабораторної роботи:
- •III. Завдання для самостійного виконання
- •Індивідуальне завдання №2
Іі. Завдання до лабораторної роботи:
Розв’язати задачі та реалізувати їх у середовищі AlgoMachines:
1.
Нехай
і задано схему нормального алгоритму
Побудувати блок-схему та граф-схему дії даного алгоритму і знайти результат перетворення заданих слів:
а) X=abba;
б) X=bbaabb;
в) X=aa.
3. Побудувати схему алгоритму, який незастосовний до будь-якого слова в будь-якому алфавіті.
4. Побудувати схему алгоритму, який застосований до будь-якого слова в будь-якому алфавіті.
5. В алфавіті U={|} побудувати схему нормального алгоритму для знаходження суми скінченного числа натуральних чисел. Вхідне слово X подавати у вигляді: ||||+||||||+||.
6.
Нехай
задано два слова X і Y в алфавіті
.
В розширеному алфавіті
побудувати
нормальний алгоритм, який слово виду
перетворює в слово X, тобто
.
Цей алгоритм називається алгоритмом відсікання правої частини слова.
7. В
алфавіті
задане деяке натуральне число X. Побудувати
схему нормального алгоритму такого, що
.
Подати
його у вигляді блок-схеми та граф-схеми
і виконати при
,
.
8. Побудувати схему нормального алгоритму для знаходження значення булевого виразу, який містить константи 0 і 1, символи операцій заперечення (), кон’юнкція (), диз’юнкція (), імплікація (->) і еквіваленція (<->) при цьому для зазначення порядку виконання операцій можна застосовувати круглі дужки. Наприклад, вхідним словом для алгоритму може бути вираз (01) (11)->(0<->1).
III. Завдання для самостійного виконання
1. Розв’язати задачі та реалізувати їх у середовищі AlgoMachines:
1.1. Аналогічно до задачі 6 побудувати схему алгоритму відсікання лівої частини слова.
1.2. Побудувати
схему нормального алгоритму подвоєння
слів в алфавіті
.
1.3. Побудувати схему нормального алгоритму подвоєння слів в алфавіті .
1.4. В
алфавіті
задане деяке натуральне число X. Побудувати
схему нормального алгоритму такого, що
.
Подати
його у вигляді блок-схеми та граф-схеми
і виконати при
,
.
1.5. В алфавіті
задано деяке натуральне число X.
Сконструювати нормальні алгоритми А
такі, що
а)
;
б)
.
Побудувати їх блок-схеми та граф-схеми.
1.6.
Задана схема нормального алгоритму B є
початком схеми нормального алгоритму
для знаходження добутку двох натуральних
чисел в алфавіті
.
Побудувати схему алгоритму A, яка є
продовженням схеми В, таку, що з’єднання
алгоритмів В і А буде схемою нормального
алгоритму для знаходження добутку двох
натуральних чисел в алфавіті U. Вхідне
слово X
подавати
у вигляді
.
.
2. Розглянути теоретичні питання: Основні способи побудови нормальних алгоритмів. Алгоритмічно нерозв’язні проблеми в теорії нормальних алгоритмів. Універсальний нормальний алгоритм.
3. Підготуватися до контрольної роботи з теми: «Нормальні алгоритми Маркова».
Індивідуальне завдання №2
1. Скласти схему нормального алгоритму у відповідному алфавіті, який перевертає задане слово, побудувати блок-схему та граф-схему алгоритму і реалізувати його у середовищі AlgoMachines:
Algorithm;
Computer;
Plotter;
Software;
Printer;
Scaner;
Internet;
Telephon;
Processor;
Program;
Display;
Mouse;
Hardware;
Speakers;
Information;
Intranet;
Microchip;
Keyboard.
2.
В алфавіті
задано деяке натуральне число X
у
десятковій системі числення. Скласти
нормальний алгоритм А
такий, що для вхідного слова виду Х+N
(або Х-N)
обчислює відповідне значення виразу:
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
.
Побудувати
блок-схему та граф-схему алгоритму і
реалізувати його у середовищі AlgoMachines.
При цьому для функцій виду
при
машина повинна працювати «вічно».