
- •Алгоритмізація і програмування процедур обробки інформації Навчально-методичний посібник для самостійного вивчення дисципліни Рекомендовано Міністерством освіти України
- •Алгоритмізація і програмування процедур обробки інформації Навчально-методичний посібник для самостійного вивчення дисципліни
- •Тема 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. Запитання для самоконтролю засвоєння теми
3.1.8. Алгоритмічні основи еом
Всі попередні розглянуті алгоритмічні системи мали суто теоретичний характер і навіть коли називались машинами, то це були гіпотетичні (уявні) машини. Першою фізичною реалізацією алгоритмічної системи стала ЕОМ.
Кожний абстрактний автомат реалізує деякий алгоритм обробки інформації. Для більш складних алгоритмів виконується блочний синтез автоматів, іноді він може бути багатоступінчастим. Але як би не ускладнювався такий автомат, він все одно реалізуватиме один і той самий алгоритм. Щоб автомат став універсальним, щоб міг виконувати будь-які алгоритми пере-творення інформації, необхідно, щоб він функціонував саме під управлінням того алгоритму, який йому задано. Це є клас універсальних програмних автоматів, які ще називають універсальними обчислювальними машинами з програмним управлінням, або, ще простіше, — електронними обчислювальними машинами. Основою цих автоматів є принцип програмного управління, суть його полягає в тому, що інформацію, якою оперує автомат, хоча й можна вважати одним словом, поділяють на дві частини: власне вхідну інформацію для обробки та інформацію про алгоритм, який необхідно реалізувати, тобто програму. Отже, є інформаційні слова та програмні слова (команди). Кожна команда виконує одну операцію перетворення інформації. Команди виконуються послідовно у порядку їх розміщення у комірках пам’яті, або за командою, яка передає управління деякій команді, відмінній від наступної.
ЕОМ як алгоритмічна система успадкувала деякі риси вже відомих алгоритмічних систем (машин Поста і Тьюринга). Вона використовує три алфавіти: вхідний, зумовлений можливостями пристроїв вводу, внутрішній — двійковий та вихідний, зумовлений можливостями програмного забезпечення та пристроїв виводу.
ЕОМ має практично нескінченну стрічку пам’яті, розділену на окремі комірки — біти, в кожному з яких міститься 0 або 1, об’єднані в групи — байти (мінімальні адресовані поля пам’яті для розміщення будь-якої інформації). Є зчитувальний пристрій, що здійснює доступ до поля пам’яті для запису або зчитування інформації. Зчитування інформації не псує її, а запис знищує попередній зміст поля пам’яті й записує новий.
Є сукупність припустимих операцій у двійковому алфавіті: це двійкові функції від двійкових змінних. Основними елементарними операціями (їх називають логічними), які їх визначають, є: заперечення, логічне множення (кон’юнкція), логічне додавання (диз’юнкція), рівнозначність. За ними визначено операції додавання двійкових чисел.
Кожна з цих операцій реалізується елементарними електронними схемами.
Всі інші операції обробки інформації, якими б складними вони не були, конструюються з цих елементарних операцій за допомогою комбінацій електронних схем або програмно.
Отже, ЕОМ — це єдина алгоритмічна система, де фізично реалізовано принцип програмного управління, тобто система, що здійснює обробку інформації автоматично за допомогою програми, яку аналізує і виконує управляючий пристрій, тоді як у всіх інших алгоритмічних системах обробку інформації виконувала людина.