- •Алгоритмізація і програмування процедур обробки інформації Навчально-методичний посібник для самостійного вивчення дисципліни Рекомендовано Міністерством освіти України
- •Алгоритмізація і програмування процедур обробки інформації Навчально-методичний посібник для самостійного вивчення дисципліни
- •Тема 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. Запитання для самоконтролю засвоєння теми
Економічні задачі
Ці задачі необхідно виділити в окремий клас через особливості соціально-економічної інформації. Дякуючи цим особливостям, вони поєднують властивості задач різних класів: обробки символьної інформації, логічних задач, задач моделювання. Крім того, для їх розв’язання необхідні засоби обробки записів, які поєднують інформацію різних типів.
Для обробки економічної інформації характерні такі типові процеси, як вибір, сортування (упорядкування), об’єднання, стиснення, групування. Крім того, вихідна інформація звичайно фор-мується у вигляді документів складної структури, тому необхідно передбачити алгоритми генерації звітів. Алгоритми їх відрізняються різноманітністю організації циклічних процесів обробки і застосуванням широкого класу економіко-математичних методів, статистичних методів досліджень, для розробки яких і доказу правомірності застосування використовується складний апарат математичної статистики і багатомірного аналізу. Тому для побудови алгоритмів неможливо використовувати одну яку-небудь алгоритмічну систему. Необхідне деяке їх поєднання.
Задачі розробки та підтримки діалогового режиму
Будь-яка система інтерактивної роботи містить набір таких часткових задач: коригування, вилучення, додавання рядків тексту, нумерація рядків, виділення та об’єднання різних програм-них текстів, перейменування, копіювання, формування вихідних форм у співпраці з користувачем, користувацький інтерфейс, гра-фічне забезпечення і т.ін.
4.2. Питання для перевірки знань
1. Основні відмінності науково-технічних задач.
2. Особливості задач обробки символьної інформації.
3. Особливості задач обробки списочних структур.
4. Особливості розв’язання інформаційно-пошукових задач.
5. Що таке ділові ігри?
6. Особливості економічної інформації.
7. Основні операції обробки економічної інформації.
8. Роль термінових характеристик задач обробки економічної інформації.
Тема 5. Типи алгоритмічних процесів та принципи їх побудови
5.1. Методичні вказівки до вивчення теми
Структурну схему логічних зв’язків основних понять теми зображено на рис. 5.1.
Рис. 5.1. Типи алгоритмічних процесів
Розрізняють 3 типи алгоритмічних процесів: лінійний, розгалужений та циклічний. Оскільки ці терміни багатьом знайомі зі школи чи з дисциплін вузу, то у студентів може скластися враження, що вони вже все знають і вміють. Але це далеко не так.
Розглянемо всі ці типи процесів і звернімо увагу на особливості їх побудови.
5.1.1. Лінійні алгоритми (5.1)
Найпростішими для алгоритмізації є задачі, в яких перетворення інформації відбувається послідовно за певними формулами, які розкладаються на елементарні операції. Потрібно тільки визначити раціональну послідовність цих операцій і виконати їх за схемою 5.1 (рис. 5.2).
|
|
Рис. 5.2 Схема лінійного процесу 5.1 |
Рис. 5.3 Приклад лінійного алгоритму |
Приклад 1:
Z = sin2(x2 + y2) + cos3ln(x2 + y2).
Оскільки аргументом функцій sin та ln є вираз x2 + y2, його треба обчислити в першу чергу. Отже, алгоритм визначення Z матиме вигляд: (рис. 5.3).