- •Загальні рекомендації
- •. Огляд засобів розробки програм
- •1 Загальні поняття
- •2 Системи програмування
- •3 Технології програмування
- •3.1 Алгоритмічне (модульне) програмування
- •3.2 Структурне програмування
- •3.3 Подієво-орієнтоване програмування
- •3.4 Об'єктно-орієнтоване програмування
- •3.5 Візуальне програмування
- •Запитання для контролю та самоконтролю
- •. Основні поняття алгоритмізації
- •1. Поняття алгоритму. Властивості алгоритму
- •2. Способи подання (опису) алгоритму
- •3. Правила оформлення блок-схем алгоритмів
- •4. Базові алгоритмічні конструкції
- •Запитання для контролю та самоконтролю
- •. Етапи розв’язування прикладних задач
- •1. Постановка задачі
- •2. Побудова моделі
- •3. Розробка алгоритму
- •4. Вибір структур даних
- •5. Розробка програми
- •6. Тестування програми
- •7. Аналіз результатів роботи програми
- •8. Корисні технологічні правила програмування
- •Запитання для контролю та самоконтролю
- •V. Практикум з програмування. Turbo pascal
- •Робота з інтегрованим середовищем розробника
- •Запитання для контролю та самоконтролю
- •Тема №1 структура програми. Лінійна програма. Введення/виведення. Типи даних Теоретичні відомості
- •Var перелік імен змінних та їх типів;
- •Приклад
- •Варіанти завдань
- •Запитання для контролю та самоконтролю
- •Тема №2 програми розгалуженої структури Теоретичні відомості
- •Приклад
- •Варіанти завдань
- •Запитання для контролю та самоконтролю
- •Тема №3 цикли з параметром Теоретичні відомості
- •Приклад
- •Варіанти завдань
- •Запитання для контролю та самоконтролю
- •Тема №4 цикли з невідомим числом повторень Теоретичні відомості
- •Приклад
- •Варіанти завдань
- •Запитання для контролю та самоконтролю
- •Тема №5 використання масивів Теоретичні відомості
- •Var Ім'я : array[поч_індекс . . Кін_індекс] of Тип_даних;
- •Var Ім'я:array[поч_індекс1..Кін_індекс1,
- •Приклад
- •Варіанти завдань
- •Запитання для контролю та самоконтролю
- •Тема №6 символьний тип даних, рядки Теоретичні відомості
- •Приклад
- •Варіанти завдань
- •Запитання для контролю та самоконтролю
- •Тема № 7 використання допоміжних програм Теоретичні відомості
- •Приклад
- •Варіанти завдань
- •Запитання для контролю та самоконтролю
- •Тема № 8 використання множин Теоретичні відомості
- •Приклад
- •Варіанти завдань
- •Запитання для контролю та самоконтролю
- •Тема № 9 обробка записів Теоретичні відомості
- •Var Ім’я_запису : Ім’я_типу;
- •Приклад
- •Варіанти завдань
- •Запитання для контролю та самоконтролю
- •Тема № 10 організація обробки файлів Теоретичні відомості
- •Приклад
- •Варіанти завдань
- •Запитання для контролю та самоконтролю
- •Рекомендована література
3 Технології програмування
3.1 Алгоритмічне (модульне) програмування
Алгоритм - це формальний опис способу рішення задачі шляхом розбиття її на кінцеву послідовність дій (елементарних операцій). Під словом «формальний» мається на увазі, що опис повинен бути абсолютно повним і враховувати всі можливі ситуації, які можуть зустрітися по ходу рішення. Під елементарною операцією розуміється дія, яку за наперед відомими критеріями (наприклад, очевидність) не має сенсу деталізувати.
Основна ідея алгоритмічного програмування - розбиття програми на послідовність модулів, кожний з яких виконує одну або декілька дій. Єдина вимога до модуля - щоб його виконання завжди починалося з першої команди і завжди закінчувалося на самій останній (тобто, щоб не можна було потрапити на команди модуля ззовні і передати управління з модуля на інші команди в обхід завершальної команди).
Алгоритм на вибраній мові програмування записується за допомогою команд опису даних, обчислення значень і управління послідовністю виконання програми.
3.2 Структурне програмування
Попередня технологія припускає, що текст програми є лінійною послідовністю операторів присвоєння, циклу і умовних операторів. У такий спосіб можна вирішувати не дуже складні задачі і складати програми, що містять декілька сотень рядків коду. Після цього зрозумілість початкового тексту різко спадає через те, що загальна структура алгоритму втрачається за конкретними операторами мови, що виконують дуже детальні, елементарні дії.
При створенні середніх за розміром додатків (декілька тисяч рядків початкового коду) використовується структурне програмування, Ідея цієї технології полягає в тому, що структура програми повинна відображати структуру вирішуваної задачі, щоб алгоритм рішення був легко зрозумілим з початкового тексту. Для цього треба мати засоби для створення програми не тільки за допомогою трьох простих операторів, але і за допомогою засобів, що більш точно відображають конкретну структуру алгоритму. З цією метою в програмуванні використовується поняття підпрограми - набору операторів, що виконує потрібну дію і не залежить від інших частин початкового коду. Програма розбивається на багато дрібних підпрограм, кожна з яких вирішує одну з допоміжних задач, передбачених початковим завданням. Комбінуючи підпрограми, вдається формувати підсумковий алгоритм вже не з простих операторів, а з закінчених блоків коду, що мають певне змістовне навантаження, причому звертатися до таких блоків можна за їх ідентифікаторами. Можливість застосування підпрограм відносить мову програмування до класу процедурних мов.
Наявність підпрограм дозволяє вести проектування і розробку додатку зверху вниз. Спочатку виділяється декілька підпрограм (підпорядкованих або допоміжних програм), що вирішують основні задачі (наприклад, ініціалізація даних, головна частина і завершення), потім кожний з цих модулів деталізується на нижчому рівні, розбиваючись у свою чергу на невелике число інших підпрограм, і так відбувається до тих пір, поки все завдання не виявиться реалізованим.
Такий підхід зручний тим, що дозволяє людині постійно мислити на наочному рівні, не опускаючись до конкретних операторів і змінних. Крім того, з'являється можливість деякі підпрограми не реалізовувати відразу, а тимчасово відкладати, поки не будуть закінчені інші частини. Наприклад, якщо є необхідність обчислення складної математичної функції, то виділяється окрема підпрограма такого обчислення, але реалізується вона тимчасово одним оператором, який просто присвоює наперед вибране значення (наприклад, 7). Коли весь додаток буде готовий, тоді можна приступити до реалізації цієї функції.
До того ж важливо, що відладка декількох невеликих підпрограм значно простіша за відладку однієї складної і це істотно підвищує загальну надійність всієї програми.
Дуже важлива характеристика підпрограм - можливість їх повторного використання. З інтегрованими системами програмування поставляються великі бібліотеки стандартних підпрограм, які дозволяють значно підвищити продуктивність праці за рахунок використання чужої роботи із створення часто вживаних підпрограм.