- •Алгоритмізація і програмування процедур обробки інформації Навчально-методичний посібник для самостійного вивчення дисципліни Рекомендовано Міністерством освіти України
- •Алгоритмізація і програмування процедур обробки інформації Навчально-методичний посібник для самостійного вивчення дисципліни
- •Тема 1. Введення в теорію алгоритмів 6
- •Тема 2. Форми та засоби представлення алгоритмів 14
- •Тема 8. Технологія програмування 133
- •Тема 3. Алгоритмічні системи 23
- •Тема 4. Класифікація задач і процесів обробки інформації 44
- •Тема 5. Типи алгоритмічних процесів та принципи їх побудови 49
- •Тема 6. Алгоритми обробки соціально- економічної інформації 88
- •Тема 7. Визначення та короткий огляд мов програмування 123
- •Типова програма
- •Дисципліни «Алгоритмізація і програмування
- •Процедур обробки інформації»
- •Частина і
- •Тема 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. Запитання для самоконтролю засвоєння теми
8.1.2. Основні технологічні етапи розробки програм
Головною ідеєю прогресивної технології програмування є розклад складних проблем на більш прості та пошук шляхів їх вирішення. Такий процес цілеспрямованого розкладу називають структуруванням програми.
Поділ цілого на частини потребує організації зв’язків, що компенсують цей розклад. Якщо такі зв’язки виявляться складними, то ефект від розкладу буде невеликим. Прогресивна технологія програмування пропонує досить одноманітний спосіб розподілу робіт по етапах і більш гнучко підходить до структурування самих програм. Окремі етапи є більш або менш трудомісткими, творчими або рутинними. Так чи інакше, прогресивна технологія програмування передбачає наступні основні етапи робіт:
формулювання вимог до предмета розробки;
формування вихідних описів (специфікацій) майбутньої програми;
розробка проекту програми;
написання та налагодження програми;
супроводження та експлуатація програми.
8.1.3. Формулювання вимог до предмета розробки та формування специфікацій
Весь процес розробки та використання програмного продукту називають його життєвим циклом. Зв’язок між окремими етапами життєвого циклу забезпечується документуванням результатів виконання етапів і певних прийомів організації робіт.
Більш докладно зміст етапів і документів викладено у методичних вказівках до написання курсових проектів. Зупинимось на деяких особливостях окремих етапів розробки з точки зору можливості формалізації дій та операцій для їх виконання.
На етапі формулювання вимог до предмета розробки визначаються цільове призначення та основні загальні властивості розроблюваного об’єкта. На цьому етапі звичайно працюють спеціалісти з предметної області застосування програмного комплексу або продукту. Ці професійні вимоги до продукту в цілому формулюються як загальні зовнішні специфікації продукту.
Виходячи із загальних специфікацій, можна розробити специфікації окремих програм, з яких складатиметься комплекс, що реалізують окремі вимоги до продукту в цілому. Вони увійдуть до вихідного опису кожної програми. До недавнього часу розробка детальних специфікацій програм на основі загальних специфікацій продукту була найменш формалізованою частиною роботи і вимагала найпильнішої уваги, бо виявлення невідповідності кінцевого продукту якійсь вимозі може звести нанівець всю попередню роботу.
Отже, на другому етапі за допомогою методів структурного аналізу виконується багаторівневий розклад продукту, причому кожний більш детальний рівень є еквівалентним попередньому рівню, аж поки не отримаємо рівень програм, що реалізують окремі вимоги. Найбільш важливе значення вихідний опис має при розподілі праці між постановником задачі та професійним програмістом.
Підкреслимо: специфікації програм не повинні протирічити одна одній. Крім того, програми повинні бути локалізованими, щоб зміни однієї не зумовлювали змін у інших, вони мають тільки інформаційні зв’язки і чітку послідовність виконання. Необхідно перевірити постановку задачі на коректність, тобто встановити, чи є достатньою вхідна інформація, щоб отримати розв’язок задачі, який відповідає загальним специфікаціям, і причому тільки один. Якщо ні, то необхідно або змінювати поставлену ціль, або шукати додаткову вхідну інформацію.
