Skip to content

Latest commit

 

History

History
91 lines (87 loc) · 9.43 KB

exam-questions.md

File metadata and controls

91 lines (87 loc) · 9.43 KB

Екзаменаційні питання

Семестр 1

  • Що таке програмування. Мова програмування. Класифікація мови програмування.
  • Життєвий цикл програмної інженерії.
  • Термінал. Командна оболнка.
  • Операційні системи Linux. Чим вони схожі та від'ємні?
  • Командна строка Linux. Менеджер пакетів. Основні команди.
  • Система контролю версіями git.
  • Відлагодники. Призначення. Можливості.
  • Компіляція. Режими помпіляції "Debug", "Release" при використання clang компілятора
  • Makefile. Призначення. Можливості.
  • Мова С. Типи даних.
  • Мова С. Змінні. Константи. Коментарі
  • Мова С. Оператори. Логічні оператори.
  • Мова С. Оператори. Оператори порівняння, інкременту, декременту.
  • Мова С. Оператори. Бітові оператори.
  • Мова С. Умовні оператори. Тернарний оператор. Оператор switch-case.
  • Мова С. Цикли.
  • Мова С. Масиви (нединамічні).
  • Мова С. Двовимірні Масиви (нединамічні). Розташування в пам'яті. Конвертація в одновимірний масив.
  • Мова С. Функції. Класифікація. Складові функції.
  • Мова С. Функції. Складові функції. Прототипи функції.
  • Мова С. Функції. Передача аргументів за вказівником та за значенням.
  • Мова С. Функції. Бібліотечні системні функції.
  • Мова С. Функції. Варіативні функції.
  • Мова С. Функції. Рекурсивна обробка.
  • Мова С. Функції. Функція main(). Призначення коду повернення з функції. Параметри командної строки.
  • Doxygen. Призначення. Можливості.
  • Markdown. Призначення. Можливості.

Семестр 2

  • Структури. Композитні структури. Ініціалізація.
  • Структури. Визначення. Призначення. Приклади. Оголошення та ініціалізація. Доступ до полів.
  • Структури. Масиви структур. Оперування з масивом структур. Передавання структур в функції.
  • Перерахування (enum). Визначення. Призначення. Приклади застосування.
  • Описати пам'ять програми після запуску. Описати сегменти пам'яті програми.
  • Виділення і звільнення пам'яті функціями malloc, calloc, realloc, free.
  • Багатофайлова структура проекту. Директива препроцесора #include. Можливі засоби макрозахисту («захист підключення»).
  • Виділення і звільнення пам'яті операторами new і delete.
  • Основні оператори / операції при роботі з вказівниками (&, *). Адресна арифметика.
  • Передавання параметрів у функцію за значенням, за вказівником, за посиланням.
  • Описати функції по роботі зі стандартним потоком введення / виведення (printf / scanf).
  • Робота з файлами стандартного потоку введення / виведення.
  • Робота з файлами. Неформатоване читання / запис у файл засобами стандартного потоку введення / виведення.
  • Робота з файлами. Форматоване читання / запис у файл засобами стандартного потоку введення / виведення.
  • Основні функції роботи з не-строковими типами даних у пам'яті (наприклад, memcpy).
  • Потокове введення/виведення. Робота з консоллю. Що використовується для виводу даних на консоль, що – для читання з клавіатури? Навести приклади.
  • Описати механізм видалення елемента із середини масиву даних. Навести приклад реалізації.
  • Модульне тестування. Призначення.
  • Функції. Використання значення параметрів функції за замовчуванням. Використання оператору «багатокрапка» (...).
  • Рядки в С типу char *. Основні функції роботи з рядками.
  • Динамічні масиви в С та лінійні зв'язані структури даних. Описати переваги і недоліки кожної моделі даних.
  • Описати механізм вставки елемента в середину масиву даних. Навести приклад реалізації.
  • Шаблони в мові С++. Шаблонні функції.
  • Класи в мові С++. Визначення. Призначення. Поля та методи класу.
  • Шаблони в мові С++. Шаблонні класи.
  • Парадигми ООП. Інкапсуляція. Гетери та сетери. Призначення.
  • Standard Template Library. Призначення. Основні складові.
  • Призначення конструкторів та деструкторів.
  • Standard Template Library. Послідовні контейнери, контейнери-адаптери.
  • Standard Template Library. Асоціативні контейнери.
  • Області видимості в С++.
  • Standard Template Library. Ітератори.
  • Standard Template Library. Алгоритми та функтори.
  • Призначення віртуальних методів.
  • Standard Template Library. Адаптери
  • Потоковий ввід/вивід. Поняття "потік". Класи, що використовуються для потокового вводу/виводу.
  • Приведення типів за допомогою static_cast, dynamic_cast, reinterpret_cast, та const_cast
  • Потоковий ввід/вивід. Робота з консоллю.
  • Порівняльна характеристика спадкування, агрегації та композиції.
  • Потоковий ввід/вивід. Робота з класом stringstream.
  • Дружні функції. Навести приклади з врахуванням розбиття на .h та .cpp файли.
  • Клас string. Призначення. Основні методи за засоби роботи.
  • Обробка виключних ситуацій в мові С++.
  • Потоковий вивід. Маніпулятори виводу.
  • Порівняльна характеристика використання try/catch та assert для генерування виключних ситуацій.
  • Потоковий ввід. Читання одного слова, числа, строки.
  • Потоковий ввід/вивід. Можливість використання символів кирилиці при виводі даних на консоль та при вводі з клавіатури.
  • Файловий потоковий ввід/вивід.
  • Файловий потоковий ввід/вивід. Читання всього файлу при умові, шо його розмір не визначено заздалегідь.
  • Перевантаження операторів. Призначення. Навести приклади перевантаження оператору.
  • Файловий потоковий ввід/вивід. Бінарне читання / запис.
  • Перевантажувальні та неперевантажувальні оператори. Навести приклади.
  • Перевантаження операторів. Від чого залежить кількість аргументів у оператора, що перевантажується. Навести приклади.
  • Перевантаження оператору індексування.
  • Перевантаження операторів (пост-/пре-) інкременту та (пост-/пре-) декременту.
  • Простір імен. Використання простору імен. Використання окремих об'єктів з простору імен. Псевдоніми простору імен.
  • Перевантаження операторів потокового вводу/виводу.*