Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Математики 1 курс 2 семестр.doc
Скачиваний:
7
Добавлен:
19.11.2019
Размер:
1.8 Mб
Скачать

3 Технології програмування

3.1 Алгоритмічне (модульне) програмування

Алгоритм - це формальний опис способу рішення задачі шляхом розбиття її на кінцеву послідовність дій (елементарних операцій). Під словом «формальний» мається на увазі, що опис повинен бути абсолютно повним і враховувати всі можливі ситуації, які можуть зустрітися по ходу рішення. Під елементарною операцією розуміється дія, яку за наперед відомими критеріями (наприклад, очевидність) не має сенсу деталізувати.

Основна ідея алгоритмічного програмування - розбиття програми на послідовність модулів, кожний з яких виконує одну або декілька дій. Єдина вимога до модуля - щоб його виконання завжди починалося з першої команди і завжди закінчувалося на самій останній (тобто, щоб не можна було потрапити на команди модуля ззовні і передати управління з модуля на інші команди в обхід завершальної команди).

Алгоритм на вибраній мові програмування записується за допомогою команд опису даних, обчислення значень і управління послідовністю виконання програми.

3.2 Структурне програмування

Попередня технологія припускає, що текст програми є лінійною послідовністю операторів присвоєння, циклу і умовних операторів. У такий спосіб можна вирішувати не дуже складні задачі і складати програми, що містять декілька сотень рядків коду. Після цього зрозумілість початкового тексту різко спадає через те, що загальна структура алгоритму втрачається за конкретними операторами мови, що виконують дуже детальні, елементарні дії.

При створенні середніх за розміром додатків (декілька тисяч рядків початкового коду) використовується структурне програмування, Ідея цієї технології полягає в тому, що структура програми повинна відображати структуру вирішуваної задачі, щоб алгоритм рішення був легко зрозумілим з початкового тексту. Для цього треба мати засоби для створення програми не тільки за допомогою трьох простих операторів, але і за допомогою засобів, що більш точно відображають конкретну структуру алгоритму. З цією метою в програмуванні використовується поняття підпрограми - набору операторів, що виконує потрібну дію і не залежить від інших частин початкового коду. Програма розбивається на багато дрібних підпрограм, кожна з яких вирішує одну з допоміжних задач, передбачених початковим завданням. Комбінуючи підпрограми, вдається формувати підсумковий алгоритм вже не з простих операторів, а з закінчених блоків коду, що мають певне змістовне навантаження, причому звертатися до таких блоків можна за їх ідентифікаторами. Можливість застосування підпрограм відносить мову програмування до класу процедурних мов.

Наявність підпрограм дозволяє вести проектування і розробку додатку зверху вниз. Спочатку виділяється декілька підпрограм (підпорядкованих або допоміжних програм), що вирішують основні задачі (наприклад, ініціалізація даних, головна частина і завершення), потім кожний з цих модулів деталізується на нижчому рівні, розбиваючись у свою чергу на невелике число інших підпрограм, і так відбувається до тих пір, поки все завдання не виявиться реалізованим.

Такий підхід зручний тим, що дозволяє людині постійно мислити на наочному рівні, не опускаючись до конкретних операторів і змінних. Крім того, з'являється можливість деякі підпрограми не реалізовувати відразу, а тимчасово відкладати, поки не будуть закінчені інші частини. Наприклад, якщо є необхідність обчислення складної математичної функції, то виділяється окрема підпрограма такого обчислення, але реалізується вона тимчасово одним оператором, який просто присвоює наперед вибране значення (наприклад, 7). Коли весь додаток буде готовий, тоді можна приступити до реалізації цієї функції.

До того ж важливо, що відладка декількох невеликих підпрограм значно простіша за відладку однієї складної і це істотно підвищує загальну надійність всієї програми.

Дуже важлива характеристика підпрограм - можливість їх повторного використання. З інтегрованими системами програмування поставляються великі бібліотеки стандартних підпрограм, які дозволяють значно підвищити продуктивність праці за рахунок використання чужої роботи із створення часто вживаних підпрограм.