
- •Алгоритмізація і програмування процедур обробки інформації Навчально-методичний посібник для самостійного вивчення дисципліни Рекомендовано Міністерством освіти України
- •Алгоритмізація і програмування процедур обробки інформації Навчально-методичний посібник для самостійного вивчення дисципліни
- •Тема 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. Запитання для самоконтролю засвоєння теми
7.2. Термінологічний словник
Мова програмування — мова опису алгоритму, правил побудови слів, правил побудови припустимих виразів, переліку операторів.
Синтаксис мови — сукупність усіх правил побудови припустимих мовних конструкцій.
Семантика мови — правила присвоєння змісту кожній мовній конструкції.
Машинно орієнтована мова — мова програмування, що враховує особливості системи команд і представлення даних деякого класу ЕОМ.
Проблемно орієнтована мова — мова програмування, що відображає символіку та систему понять деякої проблемної області.
Система програмування — сукупність однієї чи декількох мов програмування та середовища, необхідного для їх використання на певних апаратних засобах.
7.3. Запитання для самоконтролю засвоєння теми
1. Що таке мова програмування?
2. Складові частини мови.
3. Що таке синтаксис і семантика мови?
4. Чим відрізняються природні мови від мов програмування?
5. Як вибрати мову програмування для розв’язання задач певного класу?
6. Як розвивалися мови програмування?
7. Як можна класифікувати мови програмування?
8. Як пов’язана мова програмування з оброблюваною інформацією?
9. Яким ви бачите подальший розвиток мов програмування?
10. Що таке версія мови?
11. Що таке система програмування?
12. Навіщо потрібна стандартизація в кібернетиці?
Тема 8. Технологія програмування
8.1. Методичні вказівки до самостійного вивчення теми
8.1.1. Способи розробки програм
Майже з самого початку розвитку програмування почався перехід від індивідуального способу розробки програм до промислових методів їх створення. Потреби у програмістах зростали швидше за можливості їх підготовки, традиційним джерелом підвищення продуктивності праці програмістів була автоматизація нетворчої рутинної частини їхньої праці, яка піддавалася формалізації (використання бібліотек, стандартних програм, розвиток мов програмування, сервісні засоби операційних систем). Коли ці можливості були майже вичерпані, а задачі стали набагато складнішими, знадобився всебічний перегляд поглядів, методів, підходів до оцінки якості програм, організаційних форм праці. На перший план вийшла проблема супроводження готових програм, тому що вони ніколи не залишаються незмінними протягом свого існування. Сам факт упровадження програми спричиняє зміни у прикладній сфері, що потім потребує змін у програмі. За таких обставин найпростіше вносити зміни у програму самому автору.
Трудомісткість підтримки програм в актуальному стані складає від 40 до 70% трудомісткості її розробки. Звідси виникли нові вимоги до якості програмного продукту. На сьогодні кращою вважається програма, яка потребує менших затрат на розробку та супроводження (а не найкоротша або найшвидша). Найбільш перспективним напрямком організаційного розвитку є напрямок розподілу праці, спрощення кожної функції або операції, нормування праці, поетапний контроль результатів, високий рівень стандартизації. Така організація праці у виробництві програмних продуктів становить технологію виробничого процесу. Як немає універсальної технології виробництва матеріальних продуктів, так немає й універсальної технології створення програм, але більшість запропонованих на сьогодні технологій має спільні риси, адже об’єкт праці — програмний продукт — відрізняється продуктовою однаковістю, одним рівнем розвитку обчислювальної техніки та самої галузі програмування.