- •Загальні рекомендації
- •. Огляд засобів розробки програм
- •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 організація обробки файлів Теоретичні відомості
- •Приклад
- •Варіанти завдань
- •Запитання для контролю та самоконтролю
- •Рекомендована література
4. Базові алгоритмічні конструкції
Можна виділити і наочно представити 3 найпростіші (базові) алгоритмічні структури: послідовність двох або більше операцій (конструкція послідовного виконання); вибір напрямку (умовна конструкція або конструкція розгалуження); повторення (цикл). Слід знати правила графічного зображення вказаних алгоритмічних структур (тут серія – група дій, ЛВ – логічний вираз, + - напрям виконання дій, якщо логічний вираз має значення Істина):
Конструкція послідовного виконання |
|
|
Повне розгалуження
|
Неповне розгалуження
|
|
Цикл с передумовою (цикл ПОКИ)
|
Цикл с післяумовою (цикл ДО)
|
Будь-який обчислювальний процес може бути представлений як комбінація цих елементарних алгоритмічних структур. Відповідно, обчислювальні процеси, виконувані на ЕОМ по заданій програмі, можна розділити на 3 основних види: лінійні; розгалужені; циклічні.
Лінійним прийнято називати обчислювальний процес, у якому операції виконуються послідовно, у порядку їхнього запису. Кожна операція є самостійною, незалежною від яких-небудь умов. На схемі блоки, що відображають ці операції, розташовуються в лінійній послідовності.
Обчислювальний процес називається розгалуженим, якщо для його реалізації передбачено кілька напрямків (варіантів). Розгалуження в програмі - це вибір однієї з декількох послідовностей команд при виконанні програми. Вибір напрямку залежить від раніше визначеної ознаки (умови). Розгалужені процеси, що складаються з двох гілок, називають простими, інші - складними. Складний розгалужений процес можна представити за допомогою простих розгалужених процесів. Один з напрямків розгалуження вибирається логічною перевіркою, у результаті якої можливі дві відповіді: “+, так” - умова виконана, “-, ні” - умова не виконана. Варто мати на увазі, що, хоча на схемі алгоритму повинні бути показані всі можливі напрямки обчислення в залежності від виконання визначеної умови (або умов), при однократному проходженні програми процес реалізується тільки по одній гілці, а інші виключаються. Будь-яка гілка алгоритму повинна приводити до завершення обчислювального процесу.
Циклічними називаються програми, що містять цикли. Цикл - це багаторазово повторювана ділянка програми. В організації циклу можна виділити наступні етапи:
підготовка (ініціалізація) циклу;
виконання обчислень циклу (тіло циклу);
модифікація параметрів;
перевірка умови завершення (продовження) циклу.
Порядок виконання цих етапів може змінюватися. У залежності від розташування умови закінчення циклу розрізняють цикли з нижнім і верхнім закінченнями (цикли з передумовою та післяумовою). Для циклу з нижнім закінченням тіло циклу виконується як мінімум один раз, тому що спочатку виконуються обчислення, а потім перевіряється умова виходу з циклу. У випадку з циклом з верхнім закінченням тіло циклу може не виконатися жодного разу, якщо відразу задовольняється умова виходу.
Логічний вираз, який називають умовою циклу, визначає кількість повторень. Він також називається інваріантом циклу.
Цикл називається детермінованим, якщо число повторень його тіла є заздалегідь відомим (визначеним). Цикл називається ітераційним, якщо число повторень тіла циклу є заздалегідь невідомою, залежить від значень параметрів (деяких змінних), що беруть участь в обчисленнях.
У багаторядкових програмах часто використовуються вкладені цикли - цикл зовнішній вміщує у собі цикл внутрішній. Допускається декілька рівнів вкладення.