- •Що виносяться на державний іспит в 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. Системнепрограмування
2. Типи даних, скалярні та структурованi типи. Оператори; оператор присвоєння, структурнi оператори. Засоби вводу-виводу.
Тип даних — характеристика, яку явно чи неявно надано об'єкту (змінній, функції, полю запису, константі, масиву тощо). Тип даних визначає множину припустимих значень, формат їхнього збереження, розмір виділеної пам'яті та набір операцій, які можна робити над даними.
Усі типи даних розподіляються на дві групи: скалярні (прості), структуровані (складені).
До стандартних скалярних типів зазвичай відносяться наступні типи: цілі, дійсні, логічні, літерні.
Цілі числа
Цілі числа (англ. integer) не можуть містити у собі дріб. Для від'ємного числа треба ставити знак мінус (-) перед значенням (числом). Неможна використовувати кому у введені такого числа, бо інакше буде викликана синтаксична помилка.
Дійсні числа
Дійсні числа можуть містити у собі як цілі, так і дробові значення з точкою відокремлення від цілої частини. Для від'ємного числа треба ставити знак мінус (-) перед значенням (числом). Приклади дійсних чисел:
Діапазони числових типів даних
Кожне числовий тип даних має мінімальне та максимальне значення, яке називають діапазон значень. Важливо знати діапазон значень, особливо, коли працюєш з «маленькими» типами даних, оскільки у них можна зберігати лише значення у вузькому діапазоні. Спроба внести число, більше за доступний діапазон може призвести до помилок періоду компіляції/виконання, або до неправильних підрахунків (через відкидання) залежно від мови програмування, яка використовується.
Діапазон змінних оснований на кількості байтів відведених для збереження значення. Цілі типи даних зазвичай здатні зберігати 2^n значень (де n — це кількість байтів, що еквівалентно до 2^8n бітів). Для інших типів даних (напр. дійсних чисел) діапазон заплутаніший, та залежить від методу зберігання інформації у ньому. Існують також типи даних, які не викоритовують весь байт, напр. булеві, яким потрібен лише один біт, і являє собою двійкове значення (хоча на практиці використовується весь байт, то 7 бітів залишаються невикористаними).
Тип даних |
Розмір |
Діапазон |
Цілі типи |
||
Булеві |
1 біт (хоча зазвичай зберігається як 1 байт) |
0 до 1 |
Байт |
8 бітів |
0 до 255 |
Слово |
2 байти |
0 до 65535 |
Подвійне слово |
4 байти |
0 до 4,294,967,295 |
Ціле число |
4 байта |
−2,147,483,648 до 2,147,483,647 |
Подвійне ціле |
8 байтів |
−9,223,372,036,854,775,808 до 9,223,372,036,854,775,807 |
Дійсні типи |
||
Дійсне |
4 байти |
1E-37 до 1E+37 (6 десятичних цифр) |
Подвійної точності |
8 байтів |
1E-307 до 1E+308 (15 десятичних цифр) |
Логічний тип даних
Тип даних, об'єкти якого можуть приймати одне з двох значень: істина (англ. true) та хибність (англ. false).
Перелічуваний тип даних
Перелічуваний тип, перелік (англ. enumerationtype) — тип даних, що описується шляхом перелічення всіх можливих значень (кожне з яких позначається власним ідентифікатором), які можуть приймати об'єкти даного типу. Приклад (Pascal):
typeCardsuit = (clubs, diamonds, hearts, spades);
Символьний тип даних
Тип даних, що описує літери та інші знаки, використовувані на письмі. В залежності від мови програмування та конкретної реалізації, може займати 1 чи 2 байти, рідше 4. Однобайтний символьний тип може використовуватись для представлення символів з набору ASCII та інших восьмирозрядних кодувань, тоді як для представлення символів з набору Unicode потрібно щонайменше 2 байти.
Структуровані типи даних — це типи, які складаються з елементів, що відносяться до простих типів. До структурованих типів даних відносяться: масиви; множини; рядки; записи; файли; динамічні змінні; вказівники; лінійні списки (стеки, черги); нелінійні списки (двійкові дерева, несиметричні дерева, тексти, графи); процедурний тип; об'єкти.
Рядки
Рядки (англ. string) — нечисловий тип даних, та використовується для збереження букв та слів. Усі рядки складаються з символів. Рядки можуть містити цифри та числа, але все одно будуть оброблятися як текст. Приклади рядків:
У деяких мовах програмування кількість символів у рядку може бути обмежена, у інших довжина рядка може обмежуватись лише кількістю пам'яті у комп'ютері. Можуть бути також порожні рядки.
Оператор - це спеціальний символ, який повідомляє транслятору про те, що ви хочете виконати операцію з деякими операндами (наприклад, +,-,%, <<). Зазвичай, мови програмування визначають набір опера́торів, подібних до операторів в математиці: в певному сенсі, оператори є спеціальними функціями. Окрім арифметичних дій, оператори в мовах програмування можуть виконувати операції на логічних значеннях, операції з рядками. Оператори порівняння можуть використовуватись для перевірки рівності двох значень. На відміну від функцій, оператори є базовими діями мови програмування, їх назва коротша, та, як правило, складається із спеціальних символів.
Оператор присвоювання (: =) приписує виконати вираз, заданий в його правій частині, і присвоїти результат змінній, ідентифікатор якої розташований у лівій частині. Змінна і вираз повинні мати однаковий тип. Виняток представляє випадок, коли змінна має дійсний тип, а вираз - цілочисельний.
Структурний оператор - це об'єднання декількох операторів в одну групу. Загальний вигляд цього оператора наступний:
begin
оператор_1;
оператор_2;
...........
оператор_n
end;
У цій конструкції слова begin і end виконують роль операторних дужок: відкриває і закриває.
Структурний оператор можна вставляти в будь-яке місце програми, де допускається використання одного оператора. У свою чергу будь-який з операторів складеного оператора також може бути складеним.
2. Системнепрограмування
