
- •1. Історія розвитку мов програмування.
- •2. Структурне та об'єктно - орієнтоване програмування.
- •Процедурне програмування
- •Тема: Об'єктно — орієнтований підхід у програмуванні.
- •Суть об'єктно - орієнтовного підходу до програмування.
- •Особливості та переваги об'єктно - орієнтованого програмування.
- •Базові поняття та терміни
- •Наслідування, інкапсуляція та поліморфізм.
- •Заняття №3.
- •Написання програми.
- •2. Базові типи та описи даних.
- •Цілі числа
- •1. Основні поняття припроцесорної обробки. Компонування декількох файлів в одну програму
- •2. Припроцесорні змінні
- •3. Макровизначення (макроси).
- •4. Умовна компіляція
- •Заняття №5 Тема: Специфікація, об'єктів на основі абстрагування
- •1. Поняття класу об'єктів.
- •Формат класу.
- •Звернення до членів класу
- •Заняття №6 Тема: Ідентифікація об'єктів.
- •1. Ідентифікація назвою.
- •2. Область доступу ідентифікаторів
- •3. Опис об'єкту: інтерфейс і реалізація.
- •Тип адрес.
- •5. Ідентифікація вказівником.
- •6. Посилання
- •Віртуальні функції.
- •„Дружні" функції.
- •Тема: Інтерпретація об'єктів.
- •1. Поліморфізм
- •Тема: Інтерпретація об'єктів (заняття 2)
- •Наслідування властивостей.
- •Множинне наслідування.
- •1. Поняття „час життя" об'єкта та „область видимості".
- •Область видимості імен.
- •Тема: Динамічні структури об'єктів
- •1. Зв'язана організація пам'яті.
- •2. Асоціативні структури.
- •3. Списки. Черги. Рекурсивні структури. Набори. Дерева.
- •Тема: Процеси в об'єктах. Інкапсуляція
- •Логічний паралелізм. Схема сопрограм
- •Список використаної літератури
Міністерство освіти і науки ,молоді та спорту України
ТЕХНІЧНИЙ КОЛЕДЖ
Тернопільського національного технічного університету
Імені Івана Пулюя
«Погоджено»
голова циклової комісії
комп’ютерних дисциплін
__________ А.В. Юзьків
___ _________ 200__р.
«Затверджую»
заступник директора
з навчальної роботи
_______ В.Н. Волошин
___ _________ 200__р.
Циклова комісія
Комп’ютерних дисциплін
МЕТОДИЧНІ ВКАЗІВКИ
до лекцій з дисципліни
Об’єктно-орієнтоване
програмування
Тернопіль 2011
Вступ
Дисципліна присвячена одному з напрямків сучасного програмування, який пов’язаний з об’єктно-орієнтованим підходом до розробки програм; вона розглядає основні концепції такого підходу, методи та засоби його реалізації, які в сукупності складають особливий стиль програмування.
Мета дисципліни «Об’єктно-орієнтоване програмування» полягає в ознайомленні студентів з теоретичними основами побудови сучасних програм, використовуючи методологію об’єктно-орієнтованого програмування, а також набутті практичних навичок програмування за допомогою мови С++.
С++ спрощує процес програмування і робить його ефективнішим. При роботі з С++ весь комплекс інструментальних засобів, необхідних для написання, редагування, компіляції, компонування та від лагодження програм є у користувача. Цей комплекс можливостей міститься в Інтегрованому Середовищі Розробки (ІСР).
Крім того, середовище розробки програм С++ надає такі додаткові можливості, які ще більше спрощують процес написання програм:
Відображення на екрані монітора значної кількості вікон, які можна переміщувати по екрані та розміри яких можна змінювати.
Підтримка «миші».
Наявність блоків діалогу.
Наявність команд видалення та вставляння (при цьому допускається копіювання з вікна HELP і між вікнами EDIT).
Можливість швидкого виклику інших програм і зворотного повернення.
Наявність у редакторі макромови.
ІСР містить три візуальних компоненти:
рядок меню у верхньому краї екрана,
віконну область у середній частині екрану
та рядок стану в нижньому краї екрану.
В результаті вибору деяких елементів меню на екран будуть видаватися блоки діалогу.
Рядок меню в С++ є основним засобом доступу до всіх команд меню.
Вікна С++ - це область екрану, яку можна переміщувати, розміри якої можна змінювати. Існує декілька типів вікон, більшість з них має такі загальні елементи:
рядок заголовку;
маркер закриття вікна;
смуги прокручування;
кут зміни розміру вікна;
маркер розгортання вікна на весь екран;
номер вікна.
Рядок стану, розташований у нижньому краї екрану, виконує такі функції:
нагадує про основні клавіші та клавіші активізації, які у даний момент можна використати до активного вікна;
дозволяє встановити вказівник миші на позначки клавіш і натиснувши кнопку миші виконати зазначену дію, замість того, щоб вибирати команди з меню або натискати відповідні клавіші активізації;
повідомляє, яка дія виконується програмою в даний момент;
пропонує поради і рекомендації, що складаються з одного рядка, стосовно будь-якій обраній команді меню й елементу блока діалогу.
Якщо за елементом меню розташовується трикрапка, то в результаті вибору даної команди буде відкритий блок діалогу, який забезпечує зручний засіб перегляду і задання чисельних параметрів. Прои заданні значення в блоці діалогу робота відбувається з п’ятьма базовими типами засобів керування:
вказівниками вибору;
перемикачами стану;
кнопками дії;
блоками вводу;
блоками списку.
Меню Файл (FILE) дозволяє створювати і відкривати у вікнах EDIT файли з текстами програм, зберігати внесені зміни, виконувати інші дії над файлами, виходити в оболонку DOS і завершувати роботу з С/С++. В меню Файл можна знайти такі команди:
Новий (New);
Відкрити (Open);
Зберегти (Save);
Зберегти як… (Save as…);
Зберегти все (Save all);
Зміна директорії (Changer Dir);
Друк (Print);
Режим ДОС (DOS Shell);
Вихід (Quit).
Меню Правка (EDIT) дозволяє виконувати видалення, копіювання і вставку тексту у вікнах Edit. Команди меню Edit:
Відмінити (Undo);
Повторити (Redo);
Вирізати (Cut);
Копіювати (Copy);
Вставити (Paste);
Очистити (Clear);
Копіювати приклад (Copy example);
Показати буфер обміну (Show clipboard);
Меню Пошук (SEARCH) виконує пошук тексту, оголошень функцій, а також місця розташування помилок у файлах:
Пошук (Search Find);
Замінити (Replace);
Повторний пошук (Search Again).
Команди меню Виконати (RUN) виконують програму, а також запускають і завершують сеанс відлагодження:
Виконати (Run);
Припинити сеанс (Program reset);
Виконати до курсору (Co to cursor);
Виконати по-операторно (Trace info);
Виконати наступний оператор (Step over);
Аргументи (Arguments…).
Команди меню Компіляція (COMPILE) використовуються для компіляції програми в активному вікні, а також для повної або вибіркової компіляції проекту:
Компілювати (Compile);
Викликати (Make);
Компонувати (Link);
Створити все (Build all);
Інформація (Information…);
Меню DEBUG управляє усіма можливостями інтегрованого від лагодження:
Inspect…;
Evaluate/modify…;
Call stack;
Watches:
Add watch;
Delete watch;
Edit watch;
Remove all watches;
Toggle Breakpoints;
Breakpoints…;
Меню Опції (OPTIONS) містить команди, що дозволяють переглядати та модифікувати стандартні параметри, що визначають функціонування ICP C/C++:
Compiler…;
Optimization…;
Source…;
Names…;
Linker…;
Environment…;
Directories…;
Include directories…;
Library directories…;
Output directory…;
Меню WINDOWS містить команди, що дозволяють змінювати розміри і переміщувати, збільшувати, розміщувати на екрані, закривати вікна ICP C++. За допомогою цього меню також можна переходити від одного вікна до іншого циклічно, за його назвою та за номером.
Меню Допомога (HELP) містить команди, що викликають вікна допомоги:
Contents;
Index.
Заняття №1
Тема: Розвиток концепцій структуризації в умовах програмування.
Мета: Навчальна: Ознайомитись з розвитком технологій розробки програм,
з історією розвитку мов програмування та основними принципами типового середовища програмування.
Виховна: Розвивати інтерес студентів до навчально-пізнавальної діяльності та її результатів.
План заняття:
Історія розвитку мов програмування.
Структурне та об'єктно - орієнтоване програмування.
1. Історія розвитку мов програмування.
Визначення:
ANSI – American National Standards Institute - Національний Інститут
Стандартизації США ISO – International Organization for Standardization - Міжнародна
організація по стандартизації
Ціль розвитку мов програмування - більш раціональна розробка ПП. Схема розвитку:
Коди процесора assembler мови високого рівня (МВР) Спочатку з історії:
При розробці процесорів(П)/мікропроцесорів - для кожного П розробляється набір команд, повний набір нараховує ~150 команд: арифметика, логіка, робота з пам'яттю, введення і висновок.
Команда для процесора - це цифровий код команди і операнд (операнди): комірки пам'яті, регістри, порти введення/висновку.
Коди процесора - набір у цифровому коді команд процесора і їхніх параметрів, наприклад, команди: занесення значення в регістр, висновок, що отримується з регістра за адресою пам'яті, додавання, читання байта з порту введення, запис байта в порт висновку.
Саме коди процесора містять файл програми, що виконується, файл (*.ехе)
Розробка програм у кодах була характерна для найперших обчислювальних машин - це дуже незручно для людини-програміста.
Assembler - низькорівнева мова програмування, розроблена для конкретного процесора.
Недоліки - висока трудомісткість розробки, прив'язка програми до конкретного типу процесора.
Мови високого рівня - FORTRAN, ALGOL, COBOL, PL/I, ADA, Prolog, PASCAL, С, С++, Perl, JavaScript, ASP, РНР, Java, С#, SQL...
МВР не залежать від архітектури комп'ютера, орієнтовані на ефективну розробку ПП, забезпечують швидку розробку і надійність ПО. МВР виконуються на будь-якому комп'ютері, для якого реалізований компілятор даної мови програмування.
Серед МВР є спеціалізація: наукові розрахунки (FORTRAN), для навчання (ранній Basic, Pascal), робота з БД (dBase, FoxPRO), SQL) , ціле сімейство порівняно молодих мов для Internet (JavaScript, ASP, РНР), мови системного програмування (ранній С, assembler).
Деякі мови вважаються універсальними (пізній Pascal (Delphi), С/С++).
2. Структурне та об'єктно - орієнтоване програмування.
Розвиток технологій розробки програм Схема:
Низькорівневе програмування (коди, Assembler)
Процедурне/Структурне програмування (Algol, Pascal, С)
Об'єктно - орієнтоване програмування (ООП) (С++,Object PASCAL, Java, С#...) ... (що далі?)
Згадаємо, як розвивалась розробка програм у 60-і - 70-і роки, технологічна сходинка називалася:
Процедурне програмування
Основна ідея - виділення частини коду в окрему процедуру (підпрограму, функцію) (PROCEDURE і FUNCTION у PASCAL).
Будемо вважати для нашого курсу поняття процедура, підпрограма і функція синонімами - так як у С++ є тільки функція.
Функція позначається ім'ям, при виклику їй передається список параметрів (можливо, порожній), після виконання вона повертає керування в місце виклику і, можливо, повертає результати роботи (обчислені значення, код завершення).
Приклад: real sin(real х){
// тут реалізація
} У процедурних мовах підтримується виклик
процедур/підпрограм/функцій, що звичайно включає такі механізми:
передача параметрів у процедуру і повернення значень,
рекурсивність, тобто можливість процедури викликати саму себе (відома задача про Ханойську вежу),
збереження підпрограм в окремих бібліотеках.
Заняття №2