- •О.Ф.Тарасов, о.В.Алтухов
- •1 Заняття № 1 Вивчення інтегрованого середовища с
- •1.1 Теоретичні відомості
- •1.2 Хід роботи
- •1.3 Вимоги до звітів
- •1.4 Питання для контролю і самостійної роботи
- •2 Заняття № 2 Функції введення/виведення даних printf( ), scanf( ). Лінійні обчислювальні процеси
- •2.1 Теоретичні відомості
- •2.2 Хід роботи
- •2.3 Індивідуальне завдання до заняття №2
- •2.4 Питання для контролю і самостійної роботи
- •3 Заняття № 3 Розробка програм зі скалярними типами даних
- •3.1 Теоретичні відомості
- •Приклад
- •3.2 Хід роботи
- •3.3 Індивідуальне завдання до заняття № 3
- •3.4 Питання для контролю і самостійної роботи
- •4 Заняття № 4 Розробка програм з циклічними обчислювальними процесами
- •4.1 Теоретичні відомості
- •Алгоритм роботи оператора циклу for ( )
- •4.2 Хід роботи
- •4.3 Індивідуальне завдання до заняття № 4
- •4.4 Питання для контролю і самостійної роботи
- •5 Заняття № 5
- •Розгалуження обчислювального процесу.
- •Оператори, які реалізують розгалуження: if... Else, switch,
- •Умовна операція ( ? : )
- •5.1 Теоретичні відомості
- •Умовна тернарна операція ( ? : )
- •Оператор варіанта switch
- •Приклад
- •5.2 Хід роботи
- •5.3 Індивідуальне завдання до заняття № 5
- •5.4 Питання для контролю і самостійної роботи
- •6 Заняття № 6 Операції с, їхні пріоритети і використання. Перетворення типів
- •Пріоритет операцій і порядок виконання (асоційованість)
- •(Новий_тип) Операнд
- •Приклад
- •6.2 Хід роботи
- •6.3 Індивідуальне завдання до заняття № 6
- •6.4 Питання для контролю і самостійної роботи
- •7 Заняття № 7
- •7.1 Теоретичні відомості
- •Оголошення функцій (створення прототипів)
- •([ Список_типів_параметрів ])
- •Синтаксис визначення функцій
- •[ Return Значення_типу_що_повертається ]
- •Використання локальних і глобальних перемінних у функціях. Виклик функції
- •Приклад
- •7.2 Хід роботи
- •7.3 Індивідуальне завдання до заняття № 7
- •7.4 Питання для контролю і самостійної роботи
- •8 Заняття № 8
- •8.1 Теоретичні відомості
- •Основні операції з покажчиками
- •Покажчики і цілі величини
- •Динамічне розміщення покажчиків у пам'яті
- •Приклад
- •Приклад
- •8.2 Хід роботи
- •8.3 Індивідуальне завдання до заняття № 8
- •8.4 Питання для контролю і самостійної роботи
- •9 Заняття № 9
- •9.1 Теоретичні відомості
- •Приклад
- •9.2 Хід роботи
- •9.3 Індивідуальне завдання до заняття №9
- •9.4 Питання для контролю і самостійної роботи
- •10 Заняття № 10
- •10.1 Теоретичні відомості
- •Приклад
- •10.2 Хід роботи
- •10.3 Індивідуальне завдання до заняття № 10
- •10.4 Питання для контролю і самостійної роботи
- •Заняття №11 Обробка символьних даних
- •Теоретичні відомості
- •Індивідуальне завдання до заняття №11
- •Питання для контролю і самостійної роботи
- •Приклад
- •Хід роботи
- •Питання для контролю і самостійної роботи
- •Теоретичні відомості
- •Приклад
- •Індивідуальне завдання до завдання №13
- •Питання для контролю і самостійної роботи
- •Заняття № 14 Розробка програм зі складеними типами даних
- •Структури
- •Хід роботи
- •Питання для контролю і самостійної роботи
- •Заняття № 15 Використання покажчиків для роботи зі складеними типами даних (2години)
- •Теоретичні відомості
- •Приклад
- •Хід роботи
- •Питання для контролю і самостійної роботи
- •Використання покажчиків для роботи з функціями
- •Покажчики як параметри функції
- •[Const ] Тип * Ім'я_покажчика
- •Приклад
- •Хід роботи
- •Індивідуальне завдання до заняття №16
- •Питання для контролю і самостійної роботи
- •Використання функцій високого і низького рівня для роботи з потоками (файлами)
- •Функції для роботи з файлами
- •Хід роботи
- •Індивідуальне завдання до заняття №17
- •Питання для контролю і самостійної роботи
- •Розробка програм із багатофайловою структурою. Заголовочні файли. Класи пам'яті перемінних і функцій
- •Керування многофайловими проектами
- •Використання адміністратора проектів
- •Приклад
- •Основний файл проекту
- •Заголовний файл
- •Хід роботи
- •Індивідуальне завдання до заняття №18
- •Питання для контролю і самостійної роботи
- •Графічні функції
- •Графічні примітиви
- •Хід роботи
- •Індивідуальне завдання до заняття №19
- •Питання для контролю і самостійної роботи
- •Заняття№20 Розробка програм з використанням класів
- •Теоретичні відомості
- •Оголошення і визначення класу
- •Тіло класу
- •Інкапсуляція. Керування доступом до членів класу
- •Використання даних-членів класу
- •Хід роботи
- •Індивідуальне завдання до заняття №20
- •Питання для контролю і самостійної роботи
- •Заняття№21 Використання конструкторів і деструкторів у класах
- •Теоретичні відомості
- •Ініціалізація об'єктів класу
- •Деструктори
- •Виклик деструкторів
- •Хід роботи
- •Питання для контролю і самостійної роботи
- •"Друзі" класів (friend)
- •Хід роботи
- •Індивідуальне завдання до заняття №22
- •Контрольні питання для підготовки і самостійної роботи
- •Віртуальні базові класи
- •Віртуальні деструктори
- •Хід роботи
Заняття№20 Розробка програм з використанням класів
(2 години)
Ціль роботи: вивчити синтаксичні конструкції для оголошення, визначення і використання класів. Розібратися з призначенням і особливостями використання класів у мові С++.
Теоретичні відомості
Об'єкт - це абстрактна сутність, наділена характеристиками об'єктів реального світу. У С++ об'єкти грають дуже важливу роль. Усе, чим маніпулює програма, може розглядатися як об'єкт (екземпляр) визначеного класу. При виконанні програми об'єкти створюються і знищуються. Вони находяться у взаємодії з іншими об'єктами і можуть бути поміщені в масиви, списки, групи, колекції, і т.д.
Об'єкти в С++ - це програмні конструкції (перемінні), сформовані за допомогою класів. Визначення об'єкта (перемінної) класу також називається створенням екземпляра класу. За створення своїх класів повну відповідальність несе сам програміст. Але він може одержати доступ і до класів, розроблених іншими програмістами. Наприклад, до класів, що знаходяться в бібліотеці чи до класів- контейнерів у бібліотеці потоків компілятора C++.
Оголошення і визначення класу
Клас - це тип даних користувача, (аналогічно структурі), що містить (включає, інкапсулірує) не тільки оголошення даних, але і функції. Ці функції називаються функціями-членами класу і визначають, що може робити клас. Структури в С++ також можуть містити функції.
Для того, щоб використовувати клас, його потрібно спочатку оголосити так само, як це робиться зі структурами. І так само як для структур повне оголошення класу може з'явитися в програмі тільки один раз. Розглянемо приклад оголошення простого класу
class Counter { // Ім'я класу (типу) Counter
long count; // Перемінна-член класу, оголошена в розділі
// private за умовчанням, недоступна з програми
public: // Розділ public, дані доступні з програми
void SetValue (long); // Функції-члени класу, оголошені в розділі public
long GetValue ( );
};
Ключове слово class вводить оголошення класу. Далі знаходиться ім'я класу (Counter). Тіло класу повинне бути заключеним у фігурні дужки, після яких розташована крапка з комою. Класи можуть містити не тільки оголошення функцій, але і їхні повні визначення. Такі функції називаються inline - функціями. Функції усередині класів можуть бути настільки довгими і складними, наскільки це необхідно.
Перемінні, які оголошені усередині класу, належать цьому класу. У деяких випадках перемінні можуть розділятися (використовуватися) різними об'єктами (екземплярами) класу. Такі перемінні мають клас пам'яті static. Ідентифікатори (імена) перемінних і функцій усередині класу застраховані від конфліктів з ідентифікаторами інших класів. Клас - це замкнутий програмний комплекс із власними ідентифікаторами аналогічно структурам.
Для ідентифікаторів класу застосовні ті ж правила, що і для інших типів чи імен перемінних. У С++ для ідентифікаторів гранична довжина не визначена, але в Borland C максимальна довжина дорівнює 32 символам. За умовчанням усі 32 символу є значущими. Регістри букв (рядкова чи прописна) в ідентифікаторах розрізняються.