- •Загальні рекомендації
- •. Огляд засобів розробки програм
- •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 організація обробки файлів Теоретичні відомості
- •Приклад
- •Варіанти завдань
- •Запитання для контролю та самоконтролю
- •Рекомендована література
Запитання для контролю та самоконтролю
Як пояснити зміст поняття підпрограма?
Як використання підпрограм пов’язане з головними засадами технології структурного програмування?
Які можна навести класифікації підпрограм?
У чому особливості структури та використання функцій?
Які особливості структури та використання мають процедури?
Що таке формальні та фактичні параметри?
У чому полягає різниця між глобальними та локальними параметрами?
Проаналізувати можливості функцій та процедур з точки зору ефективного використання?
Які особливості використання вкладених та рекурсивних підпрограм?
У чому полягає механізм використання стеку при роботі з підпрограмами?
В яких випадках та як змінюють розміри стеку?
Чи можна розробникам програм створювати як доповнення до стандартних – власні бібліотечні модулі? Яку структуру має бібліотечний модуль?
Які правила використання бібліотечних модулів?
Які поняття технології об'єктно-орієнтованого програмування є логічним розвитком понять допоміжна програма та бібліотечний модуль?
Тема № 8 використання множин Теоретичні відомості
Множинні типи даних (множини) являють собою обмежений набір різних елементів базового типу. Кількість елементів, що входять у множину, може змінюватися в межах від 0 до 256 (множина, що не містить елементів, називається порожньою). Множини об'являються в такий спосіб: var Ім'я_множини: set of Тип_компонент;
Операції, що застосовуються до множин такі:
перевірка на еквівалентність (повертає TRUE, якщо обидві множини еквівалентні): Ім'я_множини_1=Ім'я_множини_2;
перевірка на нерівність: Ім'я_множини_1<>Ім'я_множини_2;
перевірка на підмножину (повертає TRUE, якщо перша множина включена в другу): Ім'я_множини_1<=Ім'я_множини_2;
перевірка входження елемента в множину:
Елемент in Ім'я_множини;
об'єднання множин (елементи першої множини, доповнені відсутніми елементами з другої множини):
Ім'я_множини_1 + Ім'я_множини_2;
різниця множин (результат містить елементи з першої множини, що не належать другій): Ім'я_множини_1 - ім'я_множини_2;
перетинання множин; результат містить елементи, спільні для обох множин: Ім'я_множини_1*Ім'я_множини_2;
Для завдання множини використовується так званий конструктор множини: список специфікацій елементів множини, що відокремлюються один від одного комами; список обрамляється квадратними дужками (наприклад, s1:=[ ] - порожня множина, s2:=[3..9,12] - множина складається з чисел від 3 до 9, та числа 12). Специфікаціями елементів можуть бути константи або вирази базового типу, а також інтервальний тип того ж базового типу.
Зауваження: Елементи множини зберігаються у пам’яті неявно, тобто до окремого елементу множини можливості звернутися не існує. Тому процедури введення та виведення не можуть в якості параметрів використовувати множину чи окремі її елементи. У Прикладі демонструється прийом, як за допомогою циклу та операції in реалізувати “виведення елементів множини на екран” (тобто, псевдовиведення, виводяться значення, що співпадають з елементами множини). Цілком зрозуміло, що у множині не може зберігатися два елементи з одним і тим значенням.