Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Алгоритмізація та програмування.doc
Скачиваний:
31
Добавлен:
16.11.2019
Размер:
3.81 Mб
Скачать

Задачі обробки спискових структур

Ці задачі виникають тоді, коли доводиться маніпулювати даними зі складними взаємозв’язками: наприклад, переклади з однієї природної мови на іншу, управління системою дорожніх світлофорів, створення розкладу занять. При цьому власне одиниці інформації (елементи списків) не перетворюються. Мова йде тільки про формування й перетворення списків. Складні взаємозв’язки вимагають складної і досить заплутаної організації повернення до слів, з використанням адресних посилань. Термін «обробка списків» означає, насамперед, упорядкування набору за якою-небудь ознакою, пошук першого елемента списку, додавання нового елемента до списку, пошук наступного за означеним елементом списку і т. п., тобто безліч операцій над списками суттєво відрізняється від арифметичних.

Особливо важливо зазначити, що довжина списків може бути заздалегідь не відомою, і розміщення таких даних вимагає особливого підходу, коли кожний елемент списку повинен мати посилання (адресу) на наступний, пов’язаний з ним елемент. При цьому використовують метод ітерації і метод рекурсії.

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

Метод ітерації — повторне виконання назад, поки не виконується задана дія. Алгоритми їх рішення зручніше представити в межах таких алгоритмічних систем, як рекурсивні функції.

Задачі обробки символьної інформації

При розв’язанні задач обробки символьної інформації насамперед зустрічаються з такими операціями, як порівняння, пошук потрібного слова, вибірка тексту, перетворення тексту, контроль і коригування текстів. Ці задачі розв’язуються з використанням здебільшого логічних операцій, а найпростіші арифметичні вирази використовуються для індексації слів. Арифметичних перетворень інформації немає.

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

Інформаційно-пошукові задачі

Це задачі логічного характеру, їх доводиться розв’язувати при створенні, використанні й коригуванні великих наборів різноманітної інформації, коли інформація не перетворюється, а тільки зберігається в логічно пов’язаних наборах (так званих базах даних — БД), ведеться пошук окремих одиниць інформації, робляться вибірки за однією ознакою чи групою ознак, виконується заміна окремих порцій інформації новими значеннями, проводяться впорядкування і всілякі сортування пошукових і коригуючих масивів інформації. Отже, алгоритми розв’язання, таких задач залежать від структури наборів даних, вони використовують стандартні процедури обробки інформації.

Задачі моделювання та ділові ігри

Подібні задачі виникають у тій області діяльності, де можливе паралельне виконання деяких послідовних процесів перетворення інформації, використовується неповна інформація про поведінку і стан системи, де неможливо врахувати всі фактори, які впливають на систему.

У таких ситуаціях виконується абстрактне моделювання процесу функціонування системи й оточуючого її середовища за допомогою завдання значень параметрам, які характеризують систему і середовище. Інакше кажучи, проводиться теоретичний експеримент (ділова гра), мета якого — вивчити поведінку даної моделі в даному середовищі і знайти оптимальні чи хоча б реальні правила управління системою, конфігурацію системи для довгострокового та поточного планування її функціонування. Найбільш зручним засобом для представлення алгоритмів моделювання є така алгоритмічна система, як абстрактні автомати, в яких сукупність станів системи і вхідні сигнали разом із правилами переходів і виходів з будь-якою наперед заданою точністю можуть відобразити поведінку модельованої системи в заданому середовищі.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]