
- •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)
8.Опишіть такий агрегатний тип даних як масив. Приклади
Масив – це впорядкована скінченна поіменована послідовність елементів однакового типу, доступ до яких здійснюється безпосередньо за індексом в масиві. Звернення до масивів у С/C++ здійснюється двома способами:1) за допомогою імені масиву; 2) за допомогою вказівників.
Масиви можна описувати в такий спосіб:
тип_даних ім’я_масиву [ розмір_масиву ];
Використовуючи ім’я масиву й індекс, можна адресуватися до елементів масиву:
ім’я_масиву [ значення_індексу ]
Значення_індексу повинні лежати в діапазоні від нуля до розміру, на одиницю меншого, ніж розмір_масиву, зазначений при його описі.
Ось декілька прикладів опису масивів:
char name [ 20 ];
int stud [ 5 ];
float income [ 30 ];
Перший із масивів ( name ) містить 20 символів. Звертанням до елементів масиву може бути name [0], name [1], ..., name [19] і т.д.
Назва масиву stud є вказівником на його перший елемент. Змінна *stud містить значення першого елемента масиву (елемента stud[0]). Оскільки всі елементи масиву розміщені у послідовних комірках оперативної пам'яті комп'ютера, то вказівник (stud + 1) вказуватиме на другий елемент масиву (зміщення відносно вказівника stud на одну одиницю пам'яті), а вказівник (stud + 4) - на п'ятий (зміщення на чотири одиниці).
9.Особливості роботи із рядками символів у С++.
На відмінно від інших мов програмування У С++ не визначено спеціального доступу для опрацювання рядків.Рядок символів розгядається як мамасив елементів типу char,який закінчується символом Є”\0”(нуь символ що є ознакою кінця рядка.Масив символів оголошується так:
Char<назва рядка>[довжина рядка];
Функції для опрацювання рядків:
Strlen-визначає фактичну кількість символів у рядку
Strcat-команда дя зєднання рядків
Strncat(r1,r2,n)-до змінної r1 додаємо перших n символів рядка r2.
Strcpy (r1,r2,n)-копіює символ із рядка r2 в в рядок r1 команди.
Strncpy-копіює перших n символів рядка r2 в рядок r1/
10.Охарактеризуйте поняття ідентифікації об’єктів. Проаналізуйте способи ідентифікації об’єктів.
Об’єкт –це програмна модель предмета, явища чи процесу, яка наділена характеристиками об’єктів реального світу та діями над ними.
З погляду мови програмування клас об'єктів можна розглядати як тип даного, а окремий об'єкт - як дане цього типу. Визначення програмістом власних класів об'єктів для конкретного набору задач повинне дозволити описувати окремі задачі в термінах самого класу задач (при відповідному виборі імен типів і імен об'єктів, їхніх параметрів і виконуваних дій).
Таким чином, об’єктно-орієнтований підхід припускає, що при розробці програми повинні бути визначені класи використовуваних у програмі об'єктів і побудовані їхні описи, потім створені екземпляри необхідних об'єктів і визначена взаємодія між ними.
11. Об'єкти з точки зору концепцій інкапсуляції і абстракції.
Обєкт-це програмна модель явища чи процесу реального часу, яка наділена характеристикою ре Абстрагування –це процес відділення несуттєвих характеристик обєктів реального світу та виділення тих властивостей, які є важливими для розвязання даної задачі. (це виділення істотних характеристик деякого об'єкта, які відрізняють його від усіх інших видів об'єктів і, таким чином, чітко визначають його концептуальні кордону щодо подальшого розгляду та аналізу). Абстрагування концентрує увагу на зовнішніх особливостях об'єкта і дозволяє відокремити найістотніші особливості його поведінки від деталей їхньої реалізації. Вибір правильного набору абстракцій для заданої предметної області являє собою головне завдання об'єктно-орієнтованого проектування. Інкапсуляція – це поєднання в одному обєкті даних та методів, що мають доступ до даних.(це процес відокремлення один від одного окремих елементів об'єкта, що визначають його пристрій і поведінку). Інкапсуляція служить для того, щоб ізолювати інтерфейс об'єкта, що відображає його зовнішнє поводження, від внутрішньої реалізації об'єкта. Об'єктний підхід передбачає, що власні ресурси, якими можуть маніпулювати тільки методи самого класу, сховані від зовнішнього середовища. Абстрагування і інкапсуляція є взаємодоповнюючими операціями: абстрагування фокусує увагу на зовнішніх особливостях об'єкта, а інкапсуляція (чи, інакше, обмеження доступу) не дозволяє об'єктам-користувачам розрізняти внутрішній устрій об'єкта.альних елементів та діями над ним.