
- •Алгоритмізація і програмування процедур обробки інформації Навчально-методичний посібник для самостійного вивчення дисципліни Рекомендовано Міністерством освіти України
- •Алгоритмізація і програмування процедур обробки інформації Навчально-методичний посібник для самостійного вивчення дисципліни
- •Тема 1. Введення в теорію алгоритмів 6
- •Тема 2. Форми та засоби представлення алгоритмів 14
- •Тема 3. Алгоритмічні системи 23
- •Тема 4. Класифікація задач і процесів обробки інформації 44
- •Тема 5. Типи алгоритмічних процесів та принципи їх побудови 49
- •Тема 6. Алгоритми обробки соціально- економічної інформації 88
- •Тема 7. Визначення та короткий огляд мов програмування 123
- •Тема 8. Технологія програмування 133
- •Типова програма
- •Дисципліни «Алгоритмізація і програмування
- •Процедур обробки інформації»
- •Частина і
- •Тема 4. Класифікація задач і процесів обробки інформації
- •Тема 5. Типи алгоритмічних процесів та принципи їх побудови
- •Тема 6. Алгоритми обробки соціально-економічної інформації
- •Тема 7. Визначення та короткий огляд мов програмування
- •Тема 8. Технологія програмування
- •Навчально-методичне забезпечення
- •1.1. Методичні вказівки до вивчення теми
- •1.1.1. Визначення та властивості алгоритму
- •1.1.2. Алфавітні оператори
- •1.1.3. Характеристики алгоритму
- •1.2. Практичне заняття
- •1.3. Термінологічний словник
- •1.4. Завдання для перевірки знань
- •Тема 2. Форми та засоби представлення алгоритмів
- •2.1.1. Словесна форма
- •2.1.2. Словесно-формульна форма
- •2.1.3. Граф-схеми
- •2.1.4. Блок-схеми
- •2.1.5. Операторні схеми
- •2.1.6. Ніро-схеми
- •2.1.7. Таблиці рішень
- •2.2. Термінологічний словник
- •2.3. Практичні заняття
- •2.4. Задачі
- •3.1. Методичні вказівки до самостійного вивчення теми
- •3.1.1. Визначення алгоритмічної системи
- •3.1.2. Рекурсивні функції
- •3.1.3. Нормальні алгоритми Маркова
- •3.1.4. Машини Поста
- •3.1.5. Машини Тьюринга
- •3.1.6. Абстрактні автомати
- •3.1.7. Формальні граматики
- •3.1.8. Алгоритмічні основи еом
- •3.2. Термінологічний словник
- •3.3. Навчальні завдання
- •3.4. Завдання для перевірки знань
- •Тема 4. Класифікація задач і процесів обробки інформації
- •4.1. Методичні вказівки до самостійного вивчення теми
- •Науково-технічні задачі
- •Задачі обробки спискових структур
- •Задачі обробки символьної інформації
- •Інформаційно-пошукові задачі
- •Задачі моделювання та ділові ігри
- •Економічні задачі
- •4.2. Питання для перевірки знань
- •Тема 5. Типи алгоритмічних процесів та принципи їх побудови
- •5.1. Методичні вказівки до вивчення теми
- •5.1.1. Лінійні алгоритми (5.1)
- •5.1.2. Розгалужені алгоритми (5.2)
- •5.1.3. Прості циклічні процеси з параметром (5.5)
- •5.1.4. Ітераційні циклічні процеси ( 5.6 )
- •5.1.5. Складні циклічні процеси (5.7)
- •5.2. Термінологічний словник
- •5.3. Плани практичних занять
- •Запитання для перевірки знань
- •Запитання для перевірки знань
- •Приклади задач
- •Запитання для перевірки знань
- •Приклади задач
- •Запитання для перевірки знань
- •Приклади задач
- •Запитання для перевірки знань
- •5.4. Навчальні завдання Завдання до 1-го заняття
- •Завдання до 2-го заняття
- •Завдання до 3-го заняття
- •Завдання до 4-го заняття
- •Завдання до 5-го заняття
- •5.5. Завдання для перевірки знань
- •Тема 6. Алгоритми обробки соціально-економічної інформації
- •6.1. Методичні вказівки до вивчення теми
- •6.1.1. Створення та контроль наборів даних (6.1)
- •6.1.2. Коригування наборів даних (6.2)
- •6.1.3. Сортування наборів даних (6.3)
- •6.1.4. Розрахунки підсумків на основі окремого запису (6.4)
- •Список працюючих жінок
- •6.1.5. Розрахунки підсумків на основі всіх записів (6.5)
- •Про середню заробітну плату
- •6.1.6. Розрахунки проміжних підсумків на основі частини записів (6.6)
- •6.1.7. Обробка запитів з використанням довідників (6.7)
- •Список підприємств
- •6.1.8. Розрахунки підсумків на основі багатьох запитів з використанням декількох вхідних файлів (6.8)
- •6.2. Плани практичних занять Заняття 1.
- •Заняття 2
- •Запитання для перевірки знань
- •Наявна кількість матеріалу____________
- •Запитання для перевірки знань:
- •Поділ працівників за статтю
- •Поділ працівників за неперервним стажем роботи
- •Поділ заробітної плати за розрядами робіт
- •Списки робітників, молодших за 20 років
- •Запитання для перевірки знань:
- •Список підприємств, що замовили
- •Перелік матеріалів
- •Справка про попит / пропозицію на
- •Сума затрат на матеріали
- •Результат обліку матеріалів на складах
- •Перелік матеріалів на складах
- •6.3. Термінологічний словник
- •6.4. Навчальні завдання
- •Тема 7. Визначення та короткий огляд мов програмування
- •7.1. Методичні вказівки до самостійного вивчення теми
- •7.1.1. Визначення мови програмування
- •7.1.2. Вимоги до мов програмування
- •7.1.5. Програмні інтерфейси та інструментальні засоби розробки програмних продуктів
- •7.2. Термінологічний словник
- •7.3. Запитання для самоконтролю засвоєння теми
- •Тема 8. Технологія програмування
- •8.1. Методичні вказівки до самостійного вивчення теми
- •8.1.1. Способи розробки програм
- •8.1.2. Основні технологічні етапи розробки програм
- •8.1.4. Розробка проекту програми
- •8.1.5. Написання програми
- •8.1.6. Налагодження програми
- •8.1.8. Супроводження програми
- •8.2. Запитання для самоконтролю засвоєння теми
Задачі обробки спискових структур
Ці задачі виникають тоді, коли доводиться маніпулювати даними зі складними взаємозв’язками: наприклад, переклади з однієї природної мови на іншу, управління системою дорожніх світлофорів, створення розкладу занять. При цьому власне одиниці інформації (елементи списків) не перетворюються. Мова йде тільки про формування й перетворення списків. Складні взаємозв’язки вимагають складної і досить заплутаної організації повернення до слів, з використанням адресних посилань. Термін «обробка списків» означає, насамперед, упорядкування набору за якою-небудь ознакою, пошук першого елемента списку, додавання нового елемента до списку, пошук наступного за означеним елементом списку і т. п., тобто безліч операцій над списками суттєво відрізняється від арифметичних.
Особливо важливо зазначити, що довжина списків може бути заздалегідь не відомою, і розміщення таких даних вимагає особливого підходу, коли кожний елемент списку повинен мати посилання (адресу) на наступний, пов’язаний з ним елемент. При цьому використовують метод ітерації і метод рекурсії.
Метод рекурсії полягає в тому, що зі списку виділяються підсписки, над якими виконуються відповідні операції, і відбувається повернення до списку (на верхній рівень) з підстановкою нових значень для виконання тієї самої операції.
Метод ітерації — повторне виконання назад, поки не виконується задана дія. Алгоритми їх рішення зручніше представити в межах таких алгоритмічних систем, як рекурсивні функції.
Задачі обробки символьної інформації
При розв’язанні задач обробки символьної інформації насамперед зустрічаються з такими операціями, як порівняння, пошук потрібного слова, вибірка тексту, перетворення тексту, контроль і коригування текстів. Ці задачі розв’язуються з використанням здебільшого логічних операцій, а найпростіші арифметичні вирази використовуються для індексації слів. Арифметичних перетворень інформації немає.
Незважаючи на простоту використаних операцій, алгоритми розв’язання цих задач можуть бути дуже складними і вимагають відповідних навичок і винахідливості в алгоритмізації. Найбільш зручно представляти їх алгоритми засобами нормальних алгоритмів Маркова.
Інформаційно-пошукові задачі
Це задачі логічного характеру, їх доводиться розв’язувати при створенні, використанні й коригуванні великих наборів різноманітної інформації, коли інформація не перетворюється, а тільки зберігається в логічно пов’язаних наборах (так званих базах даних — БД), ведеться пошук окремих одиниць інформації, робляться вибірки за однією ознакою чи групою ознак, виконується заміна окремих порцій інформації новими значеннями, проводяться впорядкування і всілякі сортування пошукових і коригуючих масивів інформації. Отже, алгоритми розв’язання, таких задач залежать від структури наборів даних, вони використовують стандартні процедури обробки інформації.
Задачі моделювання та ділові ігри
Подібні задачі виникають у тій області діяльності, де можливе паралельне виконання деяких послідовних процесів перетворення інформації, використовується неповна інформація про поведінку і стан системи, де неможливо врахувати всі фактори, які впливають на систему.
У таких ситуаціях виконується абстрактне моделювання процесу функціонування системи й оточуючого її середовища за допомогою завдання значень параметрам, які характеризують систему і середовище. Інакше кажучи, проводиться теоретичний експеримент (ділова гра), мета якого — вивчити поведінку даної моделі в даному середовищі і знайти оптимальні чи хоча б реальні правила управління системою, конфігурацію системи для довгострокового та поточного планування її функціонування. Найбільш зручним засобом для представлення алгоритмів моделювання є така алгоритмічна система, як абстрактні автомати, в яких сукупність станів системи і вхідні сигнали разом із правилами переходів і виходів з будь-якою наперед заданою точністю можуть відобразити поведінку модельованої системи в заданому середовищі.