- •Алгоритмізація і програмування процедур обробки інформації Навчально-методичний посібник для самостійного вивчення дисципліни Рекомендовано Міністерством освіти України
- •Алгоритмізація і програмування процедур обробки інформації Навчально-методичний посібник для самостійного вивчення дисципліни
- •Тема 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. Запитання для самоконтролю засвоєння теми
2.1.6. Ніро-схеми
Представлення алгоритму у вигляді НІРО-схеми (Hierarchy Input Process Output) — це таблиця, в якій у трьох колонках розміщуються вказівки щодо вхідної інформації, дії над нею та вихідної інформації, тобто алгоритму з елементами технології обробки інформації.
Алгоритм розв’язання задачі у вигляді НІРО-схеми зображено на рис. 2.3.
Рис. 2.3. HIPO-схема алгоритму задачі
На рис. 2.3 означає «поле 1, де міститься n»,
о значає «поле 2 розміщення елементів масиву а» і т.д.
У лівій колонці Œ означає, що використовується значення з поля 1, тобто n і т.д.
У середній колонці
Повторити для елемента А ввести елемент к Повторень |
означає: «Повторити для кожного елемента масиву А дію вводу. Кінець повторень». Стрілка вказує, з якого поля треба взяти кількість елементів масиву. Взагалі, означає «для всіх» або «для кожного».
Аналогічно можна пояснити всі послідовні дії алгоритму.
2.1.7. Таблиці рішень
Представлення алгоритмів обробки інформації за допомогою таблиць рішень найчастіше використовується у тих випадках, коли на кожному кроці перетворення інформації потрібно проводити аналіз стану системи (із скінченної множини станів) та вхідної інформації, і кожна з комбінацій результатів аналізу спричиняє перехід у новий стан та певну вихідну інформацію. Побудувати такий процес з багатьма розгалуженнями у вигляді блок-схеми неможливо. Щоб пояснити побудову таблиць, необхідно мати попередню уяву про абстрактні автомати, які буде розглянуто пізніше.
2.2. Термінологічний словник
Словесний алгоритм — словесно сформульована послідовність правил перетворення інформації.
Словесно-формульний алгоритм — поєднання формул пе- ретворення інформації та словесного визначення послідовності їх виконання.
Граф-схема алгоритму — система точок, кожна з яких визначає дію, та стрілок, які вказують перехід від однієї дії до іншої.
Блок-схема алгоритму — система блоків, пов’язаних стрілками. Конфігурація блоку вказує на тип дії, стрілки — на послідовність їх виконання.
Операторна схема алгоритму — послідовність операторів певних типів.
НІРО-схема (Hierarchi Input Process Output) алгоритму — це таблиця, кожний рядок якої містить вказівки щодо вхідної інформації, дії над нею та вихідної інформації.
Таблиця рішень — табличне представлення алгоритму прийняття рішень у процесі перетворення інформації.
2.3. Практичні заняття
Питання для перевірки:
1. Форми представлення алгоритмів.
2. Особливості форм представлення алгоритмів.
3. Вибір форми представлення алгоритму.
4. Припустимі операції.
5. Побудова формул для обчислень.
2.4. Задачі
1. Побудувати алгоритм обчислення та друку значення функції:
за даними значеннями х та коефіцієнтів.
2. Побудувати алгоритми виконання арифметичних операцій над комплексними числами (а + bі).
Формули для обчислень:
i 2= –1;
додавання:
(a + bі) + (c + dі) = x + yі,
де x = a + c; y = b + d;
віднімання:
(a + bі) – (c + dі) = x + yі,
де x = a – c; y = b – d;
множення:
(а + bі) (c + dі) = x + yі,
де x = ac — bd; y = bc + ad;
ділення:
(a + bі) : (c + dі) = x + yі,
де .
Р ис. 3.1. Склад алгоритмічних систем
ЕМА 3. АЛГОРИТМІЧНІ СИСТЕМИ