- •Алгоритмізація і програмування процедур обробки інформації Навчально-методичний посібник для самостійного вивчення дисципліни Рекомендовано Міністерством освіти України
- •Алгоритмізація і програмування процедур обробки інформації Навчально-методичний посібник для самостійного вивчення дисципліни
- •Тема 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. Запитання для самоконтролю засвоєння теми
5.2. Термінологічний словник
Лінійний алгоритмічний процес — процес, у якому всі дії виконуються послідовно одна за одною, незалежно від вхідної інформації та проміжних результатів.
Розгалужений алгоритмічний процес — процес, в якому перетворення інформації може здійснюватись за різними схемами залежно від властивостей вхідних або проміжних даних.
Циклічний алгоритмічний процес — процес, у якому одна чи декілька дій повторюються багаторазово. Повторювані дії називають тілом циклу або просто циклом.
5.3. Плани практичних занять
Заняття 1. Лінійні та розгалужені алгоритмічні процеси
Запитання для перевірки знань
1. Які існують типи алгоритмічних процесів?
2. Які задачі обробки інформації використовують лінійні та розгалужені алгоритми?
3. Принцип організації простих і складних розгалужених процесів.
4. Принцип розробки контрольного прикладу для розгалужених алгоритмів.
Рис. 5.21. Алгоритм
задачі 1
Лінійні процеси досить часто використовують обчислення відомих та часто використовуваних функцій, які є в кожній мові програмування. Треба тільки правильно визначити послідовність обчислень, виходячи з тих формул, за якими ці обчислення проводяться.
1.
Якщо
є якісь вирази, що використовуються
декілька разів, то доцільно їх знайти
один раз і присвоїти їх значення деяким
з
мінним,
тобто запам’ятати. Тут такими є х2
+ а2
та
.
Вважаємо, що
а
0. Тоді послідовність дій матиме наступний
вигляд (рис. 5.21).
Зауважимо: обчислення виразів є досить складним процесом, який потребує багато часу та спеціальної додаткової пам’яті для збереження проміжних результатів. Порядок обчислень у кожній мові визначається за пріоритетом операцій та скобками, використаними у записі виразу. Ці вирази можуть бути настільки складними, що викликатимуть збої програми. Тому доцільно розбити складний вираз на декілька більш простих, пам’ятаючи, що запис виразу будь-якої складності повинен бути лінійним.
2.
Є низка задач, пов’язаних з планіметрією, визначення приналежності точок деяким областям площини, заданим певними функціями.
3. Визначити, чи належать задана точка М (а, b) заштрихованій області, зображеній на рис. 5.22.
Рис. 5.22. Умова задачі 3
Визначимо множину точок, що належать заданій області. По-перше, вони знаходяться у внутрішній області кривої у = х2, тобто це множина точок, для яких у > = х2. По-друге, це множина точок, які знаходяться у півплощині, яка лежить під прямою у = х, для них у = х. Отже, множина, яку ми визначаємо, складається з точок, для яких одночасно виконуються нерівності:
Побудуємо алгоритм (рис. 5.23).
Рис. 5.23. Алгоритм задачі 3
4. Побудувати розгалужений алгоритм варіантного вибору обчислення у:
5. Визначити, чи належить задана точка М (а, b) заштрихованій області (рис. 5.24). Відповідь надрукувати.
Рис. 5.24. Умова задачі 5
6. Визначити, чи належить задана точка М (а, b) заштрихованій області (рис. 5.25). Відповідь надрукувати.
Рис. 5.25. Умова задачі 6
Заняття 2. Прості циклічні алгоритмічні процеси
Запитання для перевірки знань
1. Які задачі обробки інформації використовують циклічні алгоритми?
2. Які існують типи циклічних процесів?
3. Принцип організації простих циклічних процесів.
4. Поняття циклічної змінної.
5. Принцип розробки контрольного прикладу для циклічних алгоритмів.
