Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

Прізвище: Бойко

Ім'я: Назарій
Група: КН-106
Варіант: 2
Дата захисту:16.03.2020р.

Кафедра: САПР
Дисципліна: Алгоритмізація та програмування. Ч.2
Перевірив: Андрійчук М. І.

ЗВІТ
до лабораторної роботи №3
на тему «Нормальні алгоритми Маркова"

Мета роботи: вивчити правила побудови програм та алгоритмічних граф-схем


нормальних алгоритмів Маркова (НАМ), правила побудови складніших алгоритмів за
допомогою операцій композиції.

Відповіді на контрольні запитання:


1. З чого складається алгоритмічна система, заснована на відповідності між
словами в абстрактному алфавіті.
Складається з об’єктів подвійної природи: елементарні оператори і
елементарні розпізнавачі.
2. Що таке нормальний алгоритм Маркова?
Нормальним алгоритмом Маркова (НАМ) називається непорожній
скінчений впорядкований набір операторів підстановки:
3. Правила виконання нормальних алгоритмів Маркова.
Робота НАМ до виконання послідовності кроків. На кожному кроці
переглядаються зверху вниз оператори підстановки, що входять в НАМ і
вибирається перший з операторів, який можна застосувати до вхідного слова р.
4. Як працює алгоритм, визначений граф-схемою?
Вхідне слово надходить на вхід і рухається за напрямком, вказаним
стрілками. При надходженні слова у вузол розпізнавання відбувається перевірка
умови, яка поставлена у відповідність даному вузлу. При виконанні умови слово
надходить в операторний вузол, при невиконанні − до наступного розпізнавача.
5. Що таке узагальнені нормальні алгоритми?
Алгоритми, які задаються графами, складеними виключно з розпізнавачів
входження слів і операторів підстановки.
6. У чому відмінність між УНА та НАМ?
Наявність у НАМ підстановок двох типів - завершальних і звичайних
7. Які способи композиції нормальних алгоритмів Вам відомі?
Нові алгоритми можуть бути побудовані з уже відомих алгоритмів
шляхом застосування різних способів композиції алгоритмів:

Індивідуальне завдання №2: Задати НАМ, який реалізує віднімання А − Б, де


значеннями А і Б є натуральні числа, представлені рядками, що складаються з символів
1 (наприклад, для А= 4, Б = 3, А − Б = 1 слово “1111−111” повинне бути перероблене
алгоритмом у слово “1”). Перевірити роботу алгоритму для випадків:
а) А = 6, Б = 2; б) А = 3, Б = 5.
Розв’язок:
Табл. 1
Образец → Замена
1 *1 → 1*
2 *- → -#
3 #1 → 0
4 -0 → 0-
5 10 →
6 *0 → ##
7 -## → .
8 ##- → -1.
9 → *

Результати виконання роботи:

Завдання 1.

Рис 1.1 Програма до запуску алгоритму


Рис 1.2 Програма після запуску алгоритму

Завдання 2.

Рис 2.2 Програма до запуску алгоритму


Рис 2.2 Програма після запуску алгоритму

Аналіз результатів: було отримано індивідуальне завдання, а саме реалізувати


віднімання А – Б, де значеннями А і Б є натуральні числа, представлені рядками, що
складаються з символів 1. За допомогою двох додаткових символів * та # було
створено алгорим, який виконує це завдання. Спочатку символ “ * ” зсуваємо до
мінусу, після чого міняємо місцями та заміняєм * на новий знак “ # ”, який по
сумісництву з 1, буде створювати 0, який пересувається вліво поки не досягне 1 з
алфавіту А, після чого зникає. Після цього цикл повторюється знову.

Висновок: в результаті виконання індивідуального завдання створено алгоритм який


дозволяє віднімати А – Б, де значеннями А і Б є натуральні числа, представлені рядками,
що складаються з символа 1.

You might also like