Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Q_DEK14_spets1.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.8 Mб
Скачать

П И Т А Н Н Я

Що виносяться на державний іспит в 2014 р. (спеціалісти спеціальності «інформатика»)

1. Програмування, системне програмування

1. Мови програмування та їх класифiкацiя.

2. Типи даних, скалярні та структурованi типи. Оператори; оператор присвоєння, структурнi оператори. Засоби вводу-виводу.

3. Структуризація програм та даних. Підпрограми, функцiї.

4. Динамічні структури даних. Списки, стеки, черги. Дерева, бінарні дерева. Дерева пошуку.

5. Поняття про функцiональне програмування, структурне програмування, об'єктно-орiєнтоване програмування.

6. Інструментальні засоби розробки програмного забезпечення.

7. Cучасні технології програмування та тенденції їх розвитку.

8. Об’єктно-орієнтоване програмування. Мова Java.

9. Поняття мовного процесора. Типи мовних процесорів. Основні фази мовного процесора.

10. Скінченні автомати. Побудова лексичного аналізатора на основі скінченного автомата.

11. Синтаксичний аналіз та породжувальні граматики. Виведення в граматиці, дерево виведення. Лівостороння та правостороння стратегії виведення.

12. LL(k)-граматики. Перевірка LL(1)-умови. Побудова LL(1)-таблиці для управління синтаксичним LL(1)-аналізатором.

13. Методи денотацiйної та операційної семантики. Метод семантичних підпрограм. Атрибутний метод визначення семантики програм. Семантичний терм програми.

14. Машинно-орієнтовані мови програмування. Асемблери. Структура асемблера, перегляди тексту програми та відповідні бази даних.

Системнепрограмування

1. Мови програмування та їх класифiкацiя.

Мовапрограмування— цештучнамова, створена для передачі команд машинам, зокремакомп'ютерам. Мовипрограмуваннявикористовуються для створенняпрограм, котріконтролюютьповедінку машин, та записуалгоритмів.

Мовапрограмування — це система позначень для описуалгоритмів та структур даних, певнаштучна формальна система, засобамиякоїможнавиражатиалгоритми. Мовупрограмуваннявизначаєнабірлексичних, синтаксичних і семантичних правил, щозадаютьзовнішнійвиглядпрограми і дії, яківиконуєвиконавець (комп'ютер) підїїуправлінням.

З часу створення перших програмованих машин було створено понаддві з половиною тисячімовпрограмування.Щорокуїхкількістьпоповнюєтьсяновими. Деякимимовамивмієкористуватисьтількиневелике число їхвласнихрозробників, іншістаютьвідомімільйонам людей. Професійніпрограмістизазвичайзастосовують в своїйроботідекількамовпрограмування.

Мови класифікують за такими критеріями:

Рівень абстракції

Мови програмування високого рівня оперують сутностями ближчими людині, такими як об'єкти, змінні, функції. Мови програмування низького рівня оперують сутностями ближчими машині: байти, адреси, інструкції. Текст програми на мові високого рівня зазвичай набагато коротший ніж текст такої самої програми на мові низького рівня, проте програма має більший розмір.

До мов низького рівня належать мови асемблера (від англ. toassemble - складати, компонувати). У мові асемблера використовуються символьні позначення команд, які легко зрозуміти і запам'ятати. Замість послідовностей двійкових кодів команд записуються їх символьні позначення, а замість двійкових адрес даних, які використовуються під час виконання програми, - символьні імена цих даних. Іноді мову асемблера називають мнемокодом або автокодом.

Область застосування

Універсальні та спеціалізовані.

Підтримувані парадигми програмування

Об'єктно-орієнтовані, предметно-орієнтовані, логічні, функційні, структурні, імперативні, декларативні, тощо

Імперативні мови базуються на ідеї змінної, значення якої змінюється присвоєнням. Вони називаються імперативними (лат. imperative - наказовий), оскільки складаються із послідовностей команд, які звичайно містять присвоєння змінних <назва_змінної> = <вираз>, де вираз може посилатися на значення змінних присвоєних попередніми командами.

Об'єктно-орієнтовані мови базуються на технології створення складного програмного забезпечення, яке засноване на представленні програми у вигляді сукупності об'єктів, кожен з яких є екземпляром певного класу, а класи утворюють ієрархію із спадкоємством властивостей.

Способи реалізації мов

Мови програмування можуть бути реалізовані як компільовані та інтерпретовані.

Програма на компільованій мові за допомогою компілятора (особливої ​​програми) перетвориться (компілюється) в машинний код (набір інструкцій) для даного типу процесора і далі збирається в виконавчий модуль, який може бути запущений на виконання як окрема програма. Іншими словами, компілятор переводить вихідний текст програми з мови програмування високого рівня в двійкові коди інструкцій процесора.

Якщо програма написана на скриптовій мові, то інтерпретатор безпосередньо виконує (інтерпретує) вихідний текст без попереднього перекладу. При цьому програма залишається мовою оригіналу і не може бути запущена без інтерпретатора. Процесор комп'ютера, в зв'язку з цим, можна назвати інтерпретатором для машинного коду.

Поділ на компільовані і інтерпретовані мови є умовним. Так, для будь-якої традиційно компілючої мови, як, наприклад, Паскаль, можна написати інтерпретатор. Крім того, більшість сучасних «чистих» інтерпретаторів не виконують конструкції мови безпосередньо, а компілюють їх в деяке високорівневе проміжне представлення (наприклад, з розіменуванням змінних і розкриттям макросів).

Семантика мов програмування

Існує кілька підходів до визначення семантики мов програмування.

Найбільш широко поширені наступні три різновиди семантик: операційна, дериваційна (аксіоматична) і денотаційна (математична).

При описі семантики в рамках операційного підходу зазвичай виконання конструкцій мови програмування інтерпретується за допомогою деякої уявної (абстрактної) ЕОМ.

Дериваційна семантика описує наслідки виконання конструкцій мови за допомогою мови логіки і завдання перед- і пост-умов.

Денотаційна семантика оперує поняттями, типовими для математики - множини, відповідності, а також судження, твердження та ін.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]