Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4 основи програмування книга.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.77 Mб
Скачать

11.11. Задачі і вправи 169

12. Множини 172

12.1. Множинний тип 172

12.2. Конструктор множини 172

12.3. Операції і відношення над множинами 173

12.4. Застосування множин у програмуванні 173

12.5. Задачі і вправи 175

13. Динамічні структури даних 176

13.1. Стандартні динамічні структури 177

13.2. Посилальний тип даних. Посилання 179

13.3. Програмування динамічних структур даних 181

13.4. Стеки, списки, черги 183

13.5. Задачі 186

13.6. Дерева 187

13.7. Бінарні дерева 188

13.8. Задачі 192

14. Методологія структурного програмування: підсумки 192

14.1. Основні структури управління 193

14.2. Основні структури даних 196

14.3. Методологія програмування “зверху-вниз” 197

14.4. Приклад: Система лінійних рівнянь 198

14.5. Проектування модулів. Модуль RAT 207

14.6. Реалізація модуля 210

14.7. Висновки (модульне програмування) 212

14.8. Заключне зауваження: переходимо до об’єктів 213

ЧАСТИНА ІІ

ОСНОВИ ОБ’ЄКТНО-ОРІЄНТОВАНОГО ПРОГРАМУВАННЯ

ВСТУП

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

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

Разом з тим є очевидним, що цих знань явно недостатньо для написання «великих» прикладних програм, тобто програм, які можна порів­ню­вати з комерційними програмними продуктами. Виявляється, що існує великий якісний розрив між тими комп'ютерними програмами, що учні або студенти пишуть самі, і тими, якими вони користуються на практиці, працюючи за сучасним комп'ютером. Ще кілька років назад цей розрив можна було усунути, використовуючи методи модульного програмування і стандартні модулі (такі, як Turbo Vision).

Сьогодні, у результаті переходу до сучасних об’єктно-орієнтованих операційних систем типу Windows і до відповідних об’єктно-орієнтованих технологій, цей розрив уже не можна ліквідувати, залишаючись у рамках старих методів і технологій програмування. Сучасна комп'ютерна програма під Windows у принципі не може бути «малою», тобто мати структуру типу «введення – обчислення – виве­ден­ня». Вона завжди використовує, як мінімум, стандартні об'єкти Windows, і, саме головне, має об'єктно-орієнтовану архітектуру. Для ство­рення такої програми володіння структурним стилем програ­мування і знання процедурних технологій у принципі недостатньо.

Для того, щоб мати представлення про методи проектування сучасних програмних систем, майбутній спеціаліст повинен вивчити і теоретичні основи сучасної методології объектно-орієнтованого програмування (ООП), і оволодіти практичними навичка­ми програ­му­ван­ня в об'єктах. При цьому він має побачити, що об’єктно-орієнтоване програмування – логічне продовження і розвиток проце­дур­ного програму­вання, наступний ступінь в його освіті, пов'язаний з переходом до програмування «у великому».

Розподіл обов'язків між ОАП і ООП виявляється наступним: в ОАП вивчаються методи реалізації поведінки окремих об'єктів, а в ООП – методи реалізації їхньої взаємодії в процесі функціонування програмної системи.

Таким чином, друга частина книги «Основи об’єктно-орієнтованого програмування» є необхідним і логічним продовженням першої - «Основи алгоритмізації і структурного програ­мування». Вона продовжує спеціальну теоретичну підготовку майбутнього спеціаліста з програмування, закладаючи фундамент для вивчення конкретних технологій програмування під Windows.

ЧАСТИНА І

ОСНОВИ АЛГОРИТМІЗАЦІЇ ТА СТРУКТУРНОГО ПРОГРАМУВАННЯ