
- •Алгоритмізація і програмування процедур обробки інформації Навчально-методичний посібник для самостійного вивчення дисципліни Рекомендовано Міністерством освіти України
- •Алгоритмізація і програмування процедур обробки інформації Навчально-методичний посібник для самостійного вивчення дисципліни
- •Тема 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. Запитання для самоконтролю засвоєння теми
8.1.5. Написання програми
Етап створення програмних текстів (кодування) раніше був основним етапом у традиційній технології програмування. Після виділення етапу проектування, коли вже було розроблено докладний алгоритм реалізації, основну увагу на етапі програмування приділяють питанням синтаксичної правильності та забезпеченню самодокументованості програмного тексту, що дозволяє будь-якому програмісту легко читати, розуміти програмний текст у процесі розробки та супроводу.
Головний критерій вибору мови програмування — скорочення терміну розробки та зниження трудомісткості на етапі супроводу. Найкраще використовувати одну мову для написання всіх модулів системи. Вибір мови значною мірою залежить від класу розв’язуваних задач та наявності достатніх бібліотек стандартних програм для обробки інформації відповідного типу та організації. Оскільки у наш час всі мови програмування володіють практично однаковими можливостями в обробці інформації, то при виборі мови беруться до уваги професійні можливості розробників та наявного ПЗ.
Незалежно від вибору мови програмування існують загальні правила оформлення програмних текстів, які сформувалися поколіннями програмістів у процесі роботи.
Обов’язково перед програмним модулем треба писати не тільки його назву, а й коротку характеристику, зміст, необхідні пояснення.
Більшість мов припускають довільне розміщення тексту програми «на бланку». Але треба обрати якесь однакове розміщення програмних об’єктів, таку програму легше писати та й читати:
кожний оператор мови розміщується з нового рядка;
кожну внутрішню структуру оператора розміщують з однаковим послідовним зсувом;
якщо оператор не вміщується в один рядок, то продовження оператора у наступних рядках зсувають на одну й ту саму величину відносно початку оператора;
найкраще коментувати кожний змістовний оператор, текст коментаря повинен бути зрозумілим не тільки автору, складеним без скорочень, щоб було ясно, як працює модуль;
коментарі розміщують поряд із оператором за знаком початку коментаря, найкраще з однієї і тієї самої позиції;
якщо коментар не вміщується в одному рядку, то на рядку продовження коментаря не слід розміщувати наступний оператор, кожне продовження коментаря має свої позначки початку та кінця коментаря;
коли вибирають ім’я змінної або програми, бажано, щоб воно не тільки відповідало синтаксису мови, але й якось відображало зміст (інакше до нього теж прийдеться давати коментар);
між окремими блоками (змістовними частинами) програми бажано залишати пусті рядки (для наочності).
Якщо задача складається з декількох модулів, то один із них є головною процедурою, яка викликає інші модулі для виконання. Треба зазначити, що в різних мовах програмування є свої правила щодо програмної організації модулів. В деяких мовах (PL/1) текст процедур може розміщуватись в тексті головної процедури, в будь-якому зручному місці, бо виконується він тільки після звернення до нього і (якщо необхідно) передачі параметрів. В інших мовах (PASCAL) всі допоміжні процедурні модулі розміщуються у спеціальному розділі перед текстом головної процедури. В деяких мовах (С) тексти функцій розміщуються за текстом головної функції.
Доцільно, щоб алгоритм модуля розташовувався на одній сторінці, а програма модуля складалася з 5 – 50 операторів (у середньому — з 20). Краще мати довшу, але простішу програму, аніж коротку та карколомну, «на кмітливість», бо вона принесе задоволення тільки автору в процесі створення, а не користувачеві в процесі експлуатації та супроводження.