- •О.Ф.Тарасов, о.В.Алтухов
- •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
- •Контрольні питання для підготовки і самостійної роботи
- •Віртуальні базові класи
- •Віртуальні деструктори
- •Хід роботи
Використання даних-членів класу
Інкапсуляція дозволяє сховати якісь дані і функції усередині класу. Даних може бути стільки, скільки потрібно і скільки дозволяє пам'ять. Однак їх може і не бути взагалі.
Спроба виконати ініціалізацію даних усередині оголошення класу помилкова. Клас - це не об'єкт і пам'ять для нього не буде виділена доти, поки не буде створений об'єкт, як екземпляр цього класу. Дані, оголошені в класі, варто розглядати не як повноцінні перемінні, а як поля структури. Як і для структури, об'єкт потрібно оголосити із типом (ім'ям класу), а потім виконати ініціалізацію його даних-членів.
Дані-члени створюються з тим же класом пам'яті, що й об'єкт класу. Якщо об'єкт оголошений автоматичним, то всі його дані будуть теж автоматичними. Статичні (static) дані-члени є виключенням з цього правила, а коли створюється об'єкт зі статичними даними-членами, пам'ять під них не виділяється, тому що це приведе до появи декількох копій статичних даних. Якщо в класі дане оголошено статичним (static), то всі екземпляри класу будуть розділяти одне і той же дане-член. Статичний член даних, як і глобальна перемінна, розміщається у фіксованій області пам'яті на стадії компонування програми. Для оголошення або ініціалізації статичних даних використовується в точності та ж нотація, що і для глобальних перемінних (ехtern).
Якщо дане-член класу оголошено як статичне, то компоновщик виділяє під нього пам'ять тільки один раз, коли зустрічається оголошення цього даного в класі. Тому виконати ініціалізацію статичної перемінної можна в момент її оголошення. Статичні елементи завжди залишаються статичними.
Привілеї доступу до статичних даних відрізняються від привілеїв доступу до нестатичного. До статичного даного необхідно завжди звертатися через ім'я класу й оператор дозволу області видимості (::), незалежно від того, оголошений він як приватний, загальнодоступний чи захищений.
Оператор дозволу області видимості (::) – використовується для доступу до даних- членів:
через функцію-член класу;
через клас, оголошений дружнім для даного класу.
Для доступу до відкритих членів класу використовується оператор крапка (.) разом з об'єктами чи оператор ( -> ) разом з покажчиками на об'єкти класу.
Для доступу до закритих і захищених членів класу використовуються функції-члени відкритої частини класу.
Хід роботи
Вивчити теоретичні відомості.
Відповідно до індивідуального завдання (таблиця 20.1) розробити структуру класу (class), зробити визначення функцій-членів класу, розробити алгоритм використання об'єктів і покажчиків на об'єкти класу для доступу до даних і функцій-членів. Перевірити можливість доступу до членів класу в розділах private, public, protected. У розділах оголосити мінімум по одному даному-члену, включаючи статичні (static).
Набрати програму на комп'ютері і усунути помилки.
Одержати результат.
Оформити звіт.
Підготуватися до захисту заняття, вивчивши контрольні питання по даній темі.
Індивідуальне завдання до заняття №20
Скласти програму для оголошення і використання даних одного з типів (базового класу) відповідно до індивідуального завдання (таблиця 20.1).
Таблиця 20.1 - Варіанти понять для базових класів
Варіант |
Поняття |
|
Варіант |
Поняття |
1 |
Рослини |
|
16 |
Меблі для сидіння |
2 |
Тварини |
|
17 |
Будівлі |
3 |
Небесні тіла |
|
18 |
Мости |
4 |
Спортивні змагання |
|
19 |
Бритви |
5 |
Друкована продукція |
|
20 |
Принтери |
6 |
Промислове виробництво |
|
21 |
Плотери |
7 |
Телефони |
|
22 |
Рознімання електричні |
8 |
Залізнично-транспортні засоби |
|
23 |
Маніпулятори для введення інформації |
9 |
Автомобільний транспорт |
|
24 |
Пристрої запису інформації |
Продовження таблиці 20.1
Варіант |
Поняття |
|
Варіант |
Поняття |
10 |
Освітлювальні прилади |
|
25 |
Сканери |
11 |
Засоби зв’язку |
|
26 |
ЕОМ |
12 |
Телевізори |
|
27 |
Нагрівальні пристрої |
13 |
Кораблі |
|
28 |
Пристрої передачі моменту, що крутить |
14 |
Меблі м’які |
|
29 |
Пишучі пристрої |
15 |
Транспортні засоби |
|
30 |
Шафи |
Вимоги до змісту звіту приведені в занятті №1.