- •Що виносяться на державний іспит в 2014 р. (спеціалісти спеціальності «інформатика»)
- •1. Програмування, системне програмування
- •Системнепрограмування
- •1. Мови програмування та їх класифiкацiя.
- •2. Системнепрограмування
- •2. Типи даних, скалярні та структурованi типи. Оператори; оператор присвоєння, структурнi оператори. Засоби вводу-виводу.
- •3. Структуризація програм та даних. Підпрограми, функцiї.
- •4. Динамічні структури даних. Списки, стеки, черги. Дерева, бінарні дерева. Дерева пошуку.
- •5. Поняття про функцiональне програмування, структурне програмування, об'єктно-орiєнтоване програмування.
- •6. Інструментальні засоби розробки інформаційних технологій, case-технології
- •2. Системнепрограмування
- •7. Cучасні технології програмування та тенденції їх розвитку.
- •2. Системнепрограмування
- •8. Об’єктно-орієнтоване програмування. Мова Java.
- •2. Системнепрограмування
- •9. Поняття мовного процесора. Типи мовних процесорів. Основні фази мовного процесора.
- •2. Системнепрограмування
- •10. Скінченні автомати. Методика побудови лексичного аналізатора на основі скінченного автомата.
- •2. Системнепрограмування
- •11. Синтаксичний аналіз та породжувальні граматики. Виведення в граматиці, дерево виведення. Лівостороння та правостороння стратегії виведення.
- •2. Системнепрограмування
- •12. Ll(k)-граматики. Перевірка ll(1)-умови. Побудова ll(1)-таблиці для управління синтаксичним ll(1)-аналізатором.
- •2. Системнепрограмування
- •13. Методи денотацiйної та операційної семантики. Метод семантичних підпрограм. Атрибутний метод визначення семантики програм. Семантичний терм програми.
- •2. Системнепрограмування
- •14. Машинно-орієнтовані мови програмування. Асемблери. Структура асемблера, перегляди тексту програми та відповідні бази даних.
- •2. Інформаційні технології
- •1. Уніфікована мова моделювання uml. Діаграми прецедентів
- •2. Використання діаграм послідовностей та діаграм класів при проектуванні програмних систем.
- •3. Патерни проектування
- •Класифікації патернів:
- •4. Платформа .Net Framework.
- •5. Сервісно-орієнтована архітектура
- •6. Огляд технологій j2ee. Технологія Java rmi.
- •8. Патерн Model-View-Controller у Web-проектах.
- •9. Патерн (принцип) ioc&di та його підтримка у фреймворку Spring
- •10. Проблема валідації даних у Web-проектах. Підтримка ajax.
- •3. Інформаційні мережі
- •1. Інформаційна глобальна мережа internet (написано много, выбрать главное)
- •Internet надає такі основні види послуг:
- •2. Система доменних імен глобальної мережі internet.
- •3. Система електронної пошти глобальної мережі internet.
- •4. Системи інтерактивних комунікацій глобальноїмережі internet (на прикладі Skype, icq).
- •5. Системи електронних спільнот глобальної мережі internet (на прикладі Facebook, Twiter).
- •6. Поняття універсального вказівника ресурсу. Основні типи ресурсів.
- •7. Мережі tcp/ip.Стек протоколів tcp/ip: топологічні особливості, функції рівнів.
- •8. Поняття раутінгу в мережах tcp/ip. (аккуратно, перевод через гугл транслейт!!!)
- •9. Технології, що забезпечують відмовостійкість мереж tcp/ip. (ответ не очень)
- •10.Класифікація комп’ютерних мереж.
- •11. Системи захисту інформації в глобальній мережі internet (на прикладі pgp).
- •4. Математична логіка та теорія алгоритмів, теорія програмування
- •9. Основні поняття програмування, відношення між ними. Основні програмні поняття Розвиток основних понять програмування
- •Композиції
- •11. Методи подання синтаксису мов програмування.
- •4.8.1. Нормальні форми Бекуса–Наура
- •4.8.2. Модифіковані нормальні форми Бекуса–Наура
- •4.8.3. Синтаксичні діаграми
- •Визначення основних понять формальних мов
- •4.3. Операції над формальними мовами
- •13. Неперервні відображення.Теореми про найменшу нерухому точку (Кнастер-Тарський-Кліні); теорема про неперервність оператора нерухомої точки.
- •14. Методи формальної семантики мов програмування (композиційна, натуральна, денотаційна, аксіоматична).
- •5. Штучний інтелект
2. Системнепрограмування
9. Поняття мовного процесора. Типи мовних процесорів. Основні фази мовного процесора.
Мовнийпроцессор – це програмний комплекс, що реалізує мову програмування. При розробці мовних процесорів беруться до уваги три аспекти: прагматичний, семантичний, синт`аксичний.
Прагматичний аспект в мовному процесорі визначає область адекватного використання системи: транслятори та інтерпретатори. Транслятор - на вхід якого подається текст (програма) на вхідний мові, а на виході подається текст на вихідній мові. Інтерпретатор - на вхід якого подається програма, на виході отримуємо результат роботи програми по вхідним даним.
В залежності від того, яка вхідна мова використовується при трансляції, існує дві спеціалізації трансляторів: компілятори і асемблери. Якщо вихідною мовою є об’єктний код, то такі транслятори - компілятори. Якщо вхідна мова транслятора - асемблер, а вихідна - машинний код, то такі транслятори - асемблери.
Архітектура ЕОМ в певній мірі впливає на структуру мовного процесора. В залежності від структури ЕОМ мовні процесори поділяють на: 1) однопрохідні мовні процесори (він отримує результат за один перегляд вхідної програми, як приклад Pascal); 2) багатопрохіднімовні процесори (він отримує результат за багато переглядів вхідної програми, як приклад Assembler). Кількість переглядів мовним процесором вхідної програми залежить від структури мови програмування.
С
труктура
мовного процесора типу ТРАНСЛЯТОР
Структура мовного процесора типу ІНТЕРПРЕТАТОР
2. Системнепрограмування
10. Скінченні автомати. Методика побудови лексичного аналізатора на основі скінченного автомата.
Недетмінованийск. автомат – це п‘ятірка M=(Q, , , q0, F), де Q – ск. множ. станів, - ск. множ. дозволених вх. симв., : Q x -> B(Q)- функція переходів, q0Q– початковий стан, F Q – множ. заключних станів.
Роботою скін. авт. є деяка послід. кроків, або тактів. Такт задається поточним станом автомату та вхідним символом, який він бачить на зараз на вхідній ленті. Сам такт складається із зміни стану та здвигу вхідної головки на одну ячейку праворуч.
Пара (q, w) Qx* - є конфігурація автомату. (q0, w) – початкова конфігурація, (q, e), qF – заключна конфігурація (або допустима). Такт автомату є бінарне відн. M заданих на конфігураціях: якщо (q, a) q’, то (q, aw) M (q’, w) для w* .
Мова, яку задає (розпізнає) автомат M: L(M) = {w | w* та (q0, w) * (q,e) для деякого qF}
Засоби завдання ск. автоматів:
табличний – задаємо таблицею ф‑ю ,
графічний – малюємо стані авт.та напрямлені стрілки між станами з поміткою символом з по якому здійснюється перехід,
матричний – будуємо вектори1:n [вхідні компоненти1:k + вихідні компонентиk:n], цим задаємо зв‘язок вхідних даних з вихідними.
Методика побудови лексичного аналізатора: Нехай є ск. автомат M=(Q, , , q0, F, Err), де ErrQ – мн. помилкових станів. При своїй роботі авт. (зпочаткузнах. в поч. стані q0) читає з вхідної стрічки символи поки не потрапить в деякий стан q (порожні символи пропускаються, тобто існує перехід по порожньму символу зі стану q0в стан q0): якщо q F, то розпізнана деяка лексема (яка саме – залежить від стану, який відповідає лексемі), передаємо її синтаксичному аналізатору та переводимо автомат в стан q0;якщо q Err, то розпізнувана лексема є помилковою -> кінець роботи. Спрощена (!) схема:
