
- •1.Охарактеризуйте розвиток структуризації у мовах програмування. Технології програмування.
- •2. Охарактеризуйте особливості та переваги об’єктно-орієнтованого програмування, використовуючи його базові поняття та терміни.
- •3.Охарактеризуйте такі поняття об’єктно-орієнтованої парадиґми, як клас, об’єкт, повідомлення та метод.
- •Означте такі базові властивості об’єктно-орієнтованого програмування як абстрагування, наслідування, інкапсуляція та поліморфізм.
- •Охарактеризуйте поняття абстрагування при створенні класу об’єктів. Проаналізуйте відмінності між поняттям класу та об'єкту.
- •6. Специфікація представлення та функціональна специфікація класів.
- •8.Опишіть такий агрегатний тип даних як масив. Приклади
- •10.Охарактеризуйте поняття ідентифікації об’єктів. Проаналізуйте способи ідентифікації об’єктів.
- •11. Об'єкти з точки зору концепцій інкапсуляції і абстракції.
- •12. Проаналізуйте структуру опису та реалізації класу: компоненти-дані і компоненти-функції.
- •13. Проаналізуйте особливості доступу до компонентів об’єкта (використання специфікаторів public, private, protected).
- •14. Ініціалізація об’єктів (конструктори). Опис конструкторів та порядок їх виклику.
- •15. Опишіть процес руйнування об’єкта (деструктори).
- •21).Охарактеризуйте віртуальні функції. Приклади.
- •Проаналізуйте поняття «час життя» об'єкта та його «область видимості».
- •23).Класи пам’яті. Використання автоматичної, статичної та динамічної пам’яті для розміщення об’єктів.
- •24). Розкрийте суть проблеми "висячих" посилань і “сміття”.
- •1)Цілі, 2)раціональні (із плаваючою крапкою),3) символьні;4) рядкові.
- •1) Константи цілого типу
- •2) Константи раціонального типу
- •3) Символьні константи
- •Керуючі коди
- •4) Рядкові константи
- •Перераховуваний тип
- •30. Охарактеризуйте особливості inline-функцій та inline-методів класів.
- •33. Опишіть такі аґреґатні типи даних, як структура і об’єднання, їх основні відмінності.
- •34. Охарактеризуйте поняття вказівника і посилання. Їх основні відмінності.
- •Типові обмеження та помилки програмування при роботі з посиланнями.
- •35. Ініціалізація вказівників. Операції над ними.
- •Операції з вказівниками.
- •Типові помилки програмування при роботі з вказівниками.
- •36. Охарактеризуйте зв'язану організацію пам'яті та використання вказівників у програмах.
- •37.Дайте аналіз динамічним структурам об’єктів на прикладі асоціативних структур даних.
- •38.Проаналізуйте такі динамічні структури об’єктів як лінійні списки.
- •39Дайте оцінку такій динамічні структури об’єктів як черги, стеки та деки.
- •40.Опишіть та дайте приклади використання зв’язаної організації пам’яті для реалізації рекурсивних структур.
- •48). Використання маніпуляторів при вводі-виводі даних.( незнайдено повністю)
- •49). Способи форматування даних при використанні потоків.
- •51). Роз’ясніть поняття модуля як програмного еквівалента класу об’єктів.
- •52). Розясніть основні концепції модульного програмування.(додатково у 51)
Означте такі базові властивості об’єктно-орієнтованого програмування як абстрагування, наслідування, інкапсуляція та поліморфізм.
ООП Мова повинна володіти властивостями абстракції, інкапсуляції, наслідування і поліморфізму.
1. Абстракція – процес мисленого відділення несуттєвих характеристик об’єктів реального світу та виділення тих властивостей, які є важливими для розв’язання даної задачі.
2. Інкапсуляція – поєднання в одному об’єкті даних та методів, що мають доcтуп до цих даних. Передбачає захист даних від стороннього втручання та дозволяє цілком змінити реалізацію об’єкта. В ООП одиниця інкапсуляції – об’єкт.
3. Наслідування (успадкування) – полягає у передачі властивостей (атрибутів) від основного (базового, батьківського) класу до іншого (похідного). Ілюстрація цього – класи в біології..
4. Поліморфізм – здатність різних об’єктів по-різному реагувати на одне і те ж повідомлення. Тобто, конкретна форма повідомлення визначається і зв’язується з об’єктом під час виконання програми.
Охарактеризуйте поняття абстрагування при створенні класу об’єктів. Проаналізуйте відмінності між поняттям класу та об'єкту.
Двигун може існувати без автомобіля, а авто без двигуна ні. ООП неможливо без об’єктів, і це саме те, що склдає суть класів. На найпростішому рівні клас – це тип даних. Але на відміну від примітивних типів, таких як ціле число, число з плаваючою точкою і символ, клас являє собою складний, визначений користувачем тип. Клас аналогічний запису в базі даних – в тому сенсі, що він інкапсулює характеристики об’єкта. Наприклад, запис типу Person може містити дату народження, адресу, прізвище і номер телефону. Клас – це тип, складений з інших типів, які в сукупності описують об’єкт. Сам по собі клас не є об’єктом, зате дає спосіб породження об’єктів; це в деякому роді креслення або шаблон, по якому створюється об’єкт. У розмовній мові ці два терміни інколи взаємозамінні, але, суворо кажучи, об’єкт – це екземпляр класу. Концепція класу як шаблону для породження об’єктів стає ясніше в контексті успадкування, особливо множинного.
6. Специфікація представлення та функціональна специфікація класів.
Як специфікатори класу пам'яті в зовнішньому визначенні можуть вказуватися одне з ключових слів extern, static чи typedef.
Специфікатор extern означає, що об'єкт, який оголошено, належить іншому програмному файлу, а тут дається інформація про його ім'я і тип і не повинне бути присутнім ініціалізуючий вираз. Використовується для створення змінних, які доступні в усіх модулях програми.
float a – означення зовнішньої змінної;
extern float a – оголошення (вже пам’ять була виділена)
Специфікатор static обмежує область дії імені, яке оголошено, даним блоком, якщо оголошення міститься в блоці,чи файлом. Це статична змінна, час її життя постійний – від моменту означення до кінця виконання програми. Ініціалізується лише один раз при першому виконанні оператора, який містить її ознаечння. Можуть бути локальні і глобальні.
Специфікатор typedef служить для присвоєння імені користувача описуваному типу даного