- •Алгоритмізація і програмування процедур обробки інформації Навчально-методичний посібник для самостійного вивчення дисципліни Рекомендовано Міністерством освіти України
- •Алгоритмізація і програмування процедур обробки інформації Навчально-методичний посібник для самостійного вивчення дисципліни
- •Тема 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. Запитання для самоконтролю засвоєння теми
6.1.7. Обробка запитів з використанням довідників (6.7)
Вже давно стало цілком зрозумілим, що існує довідкова інформація, яку використовують користувачі при розв’язанні багатьох задач обробки або комплексів задач. Довідники містять повні атрибути підприємств, характеристики матеріалів, відомості про мешканців міст, про автомобілі, тобто про все, що може знадобитись людині в її професійний діяльності, соціальному та приватному житті. Довідники можуть мати локальний характер використання або використовуватись у державному масштабі, але принцип організації вони мають однаковий. Записи в них завжди впорядковані за певною ознакою, яка використовується для пошуку потрібної інформації. Але треба зазначити, що є можливість впорядкувати той же файл-довідник за іншою ознакою, тобто отримати так званий індексований файл. Залежно від характеру задачі до довідника можна звертатися один чи декілька разів, тому потрібно визначити, чи можна при повторному звертанні продовжувати читати довідник, чи треба повернутися до його початку (тобто закрити його, а потім знову відкрити).
Наведемо приклад використання довідника.
Приклад 6. Сформувати та надрукувати список підприємств, на яких працюють співробітники, перелічені у файлі KADR, використовуючи файл «Довідник підприємств».
Файл «Довідник підприємств» має записи такої структури:
Код підприємства |
Назва підприємства |
Адреса |
Телефон |
Вихідний документ має наступний формат:
Список підприємств
-
№ п/п
Код підприємства
Назва підприємства
Для формування вихідного документа треба вибрати всі коди підприємств із вхідного файла, знайти ці коди у Довіднику підприємств, за ними визначити відповідні назви підприємств.
Позначимо поля формування рядка вихідного документа:
i — поле порядкового номера списку;
PRED — код підприємства;
NAME — назва підприємства.
Позначимо поля області зчитування записів довідника:
DPRED — код підприємства;
DNAME — назва підприємства;
DADRES — адреса;
DFON — телефон.
Зауважимо: вхідний файл упорядкований за кодами підприємств, цехів та прізвищами; довідник упорядкований за кодами підприємств. Тому при всіх наступних зверненнях до довідника можна продовжувати його зчитування. При нормальній роботі не буде виходу на кінець довідника. Вихід на кінець довідника означає, що в ньому відсутній запис підприємства із шуканим кодом. Треба передбачати в алгоритмі, щоб у такій ситуації видавалося відповідне повідомлення.
Складемо алгоритм формування та друку списку підприємств. (рис. 6.12).
Рис. 6.12. Приклад 6 алгоритму використання довідника (6.7)
6.1.8. Розрахунки підсумків на основі багатьох запитів з використанням декількох вхідних файлів (6.8)
Якщо для обробки запиту використовуються декілька файлів, то технологія мало чим відрізняється від технології використання файла довідника. Тобто необхідно чітко визначити, в якому місці алгоритму обробки запиту треба звертатися до того чи іншого файла, а також твердо пам’ятати: при повторному звертанні до того самого файла зчитування його записів відновиться з чергового запису. Крім того, завжди треба знати, в якому разі здійснюється вихід на кінець того чи іншого файла, і передбачати відповідні дії та друк повідомлень.
Автоматизація задач управління будь-яким об’єктом здійснюється за допомогою комплексу програм, кожна з яких реалізує певну функцію управління.
Отримати інформацію про функціонування об’єкта можна за допомогою запиту, обробку якого виконує деякий комплекс програм. Отже, запити мають бути класифіковані і формульовані у стандартній формі (у системі є певний перелік припустимих запитів, які називають регламентними). Їх вносять у меню комплексу задач, і для отримання необхідної інформації про об’єкт треба, використовуючи меню, визначити шлях виходу на модулі обробки запиту. Зрозуміло, що форма вихідної інформації не є довільною, вона чітко визначена у програмах обробки регламентного запиту.
Якщо запит не є регламентним, то може бути три варіанти: є регламентний запит, інформація якого містить у собі необхідну інформацію як частину; є регламентний запит, який може частково задовольнити нерегламентний запит; немає жодного регламентного запиту, який дав би необхідну інформацію. В останньому випадку необхідно розробити комплекс програм обробки нового регламентного запиту і ввести його у відповідне місце меню.
Таким чином, перш ніж виконувати обробку, треба передбачити аналіз запиту з вибором відповідного варіанта розрахунків.
Можна побудувати загальний алгоритм обробки запитів з використанням одного чи декількох файлів (рис. 6.13).
Треба додати, що чим більше система містить програм обробки регламентних запитів, тим корисніша вона для користувача.
Зазначимо, що система об’єктів, об’єкт або підрозділ мають декілька рівнів управління, на кожному рівні реалізуються свої функції, і для прийняття певних управлінських рішень необхідна різна інформація. Чим вищий рівень управління, тим більш узагальнена інформація потрібна для обробки запитів. Наприклад, керівникові об’єкта може знадобитися бухгалтерська інформація, але менш деталізована та інакше структурована, ніж інформація для бухгалтера певної ланки бухгалтерії. Отже, і регламентні запити на різних рівнях управління об’єктом будуть різними і спиратимуться на різну інформацію інформаційної бази.
Рис. 6.13. Загальний алгоритм 6.8 обробки запитів з використанням одного чи декількох файлів