- •1.1. Поняття операційної системи.
- •1.5. Поняття асемблера, компілятора, транслятора, інтерпретатора.
- •1.6. Завантажувачі. Завдання завантажувачів. Принципи побудови завантажувачів.
- •1.7. Принципи об’єктно-орієнтованого програмування (парадигми програмування, поняття класу).
- •1.8. Наслідування (Просте наслідування. Множинне наслідування).
- •1.9. Інкапсуляція. Поняття, сфери застосування.
- •1.10. Поліморфізм. Поняття, сфери застосування.
- •1.11. Принципи розробки розподілених клієнт-серверних програм. Особливості розробки мережевих програм з використанням сокетів.
- •2.1 Багаторівнева комп’ютерна організація – структура й призначення рівнів.
- •2.2 Схема комп’ютера з єдиною шиною. Основні характеристики та принципи роботи шини комп’ютера.
- •2.3 Структура процесора, внутрішні блоки, види регістрів.
- •2.4 Команди процесора, структура команд. Цикл Фон-Неймана.
- •2.5 Структуру пам’яті комп’ютера. Елементи статичної та динамічної пам’яті.
- •2.6 Переривання, типи, алгоритм обробки переривання процесором.
- •2.7 Організація оперативної пам’яті, адресний простір, сегменти пам’яті, дескриптори сегментів.
- •3.1 Загальні відомості з теорії систем. Класифікація систем.
- •3.2 Поняття вимірювальної шкали. Види шкал.
- •3.3 Показники якості та ефективності та крітерії їх оцінювання.
- •3.4 Вирішення багатокрітеріальних задач.
- •3.5 Вирішення задачі вибору.
- •3.6 Декомпозиція. Компроміси між повнотою та простотою.
- •3.7 Агрегування. Види агрегування.
- •3.8 Поняття експертних методів. Експертні системи.
- •4.1. Методи розрахунку часових параметрів і критичних шляхів мережевої моделі проекту. Табличний метод.
- •4.2. Методи розрахунку часових параметрів і критичних шляхів мережевої моделі проекту. Матричний метод визначення часових параметрів.
- •4.3. Метод класичного варіаційного числення. Рішення варіаційної задачі із закріпленими граничними крапками.
- •4.4. Метод класичного варіаційного числення. Рівняння Ейлера-Лагранжа.
- •4.5. Постановка задачі оптимального управління. Класифікація задач оптимального управління.
- •4.6. Характеристика керованості і спостережності. Постановка завдання. Критерії керованості і спостережності.
- •6.1 Основні теоретико-множинні (об’єднання, пересічення, віднімання, декартовий добуток) операції реляційної алгебри. Коротка характеристика та приклади.
- •6.2. Основні нормальні форми. Характеристика і приклади відносин, що знаходяться в 1нф, 2нф, 3нф.
- •Id, category, product1, product2, product3
- •6.3. Основні оператори мови маніпулювання даними. Оператор вибірки даних (одно- і багатотабличні запити оператора select).
- •7.2) Модели детерминированных цифровых сигналов
- •7.3. Алгоритми оптимальної обробки при розрізненні двійкових сигналів.
- •7.4. Потенціальна завадостійкість при прийомі ам, чм та фм сигналів.
- •7.5. Багатократні та комбіновані методи модуляції.
- •7.6. Методи боротьби з помилками, що виникають в каналах зв’язку. Завадостійке кодування.
- •7.7 Основні параметри завадостійких кодів. Принципи виявлення та виправлення помилок.
- •7.8 Циклічні коди. Згортальні коди.
- •7.9 Статичні методи стиснення інформації Алгоритм арифметичного стиснення.
- •7.10 Оптимальне кодування інформації. Алгоритми формування коду Хофмана та Шенона-Фано.
- •7.11 Аналогочислові перетворення безперервного сигналу на базі теореми Котельникова в.А.
- •7.12 Пропускна спроможність двійкового каналу зв’язку з перешкодами та без перешкод.
- •8.1. Протоколи фізичного рівня.
- •8.2. Характеристика лінійних сигналів, що використовуються в комп’ютерних мережах.
- •8.4. Загальні характеристики канального рівня.
- •8.5. Протокол hdlc.
- •8.6. Методи доступу в мережу.
- •8.7. Протокол ip. Адресація в ip-мережах.
- •8.8. Протокол tcp.
- •9.1 Алгоритм принятия решения по управлению кс
- •9.2. Архітектура систем управління комп’ютерними мережами.
- •9.3. Управління потоком інформації шляхом раціонального вибору параметрів протоколу.
- •9.4. Управління обслуговуванням різнорідного трафіку: дисципліни обслуговування, їх переваги та недоліки.
- •9.5. Управління якістю обслуговування. Забезпечення якості обслуговування шляхом управління мережевими ресурсами.
- •9.6. Основні стандарти управління комп’ютерними мережами. Мережеве управління за стандартом tmn: визначення, функціональні області, інтерфейси.
- •9.7. Модель управління протоколів snmp та cmip: структура, стандартизовані елементи, переваги та недоліки.
- •10.1. Основні концепції побудови обчислювальних систем, що самоорганізуються.
- •10.2. Класифікація процесорів по архітектурі системи команд (cisc, risc).
- •10.3. Показники ефективності паралельних часових моделей алгоритмів.
- •10.4. Основні ознаки класифікації Флинна. Фрагмент класифікації Флинна.
- •10.5. Відмінності командної чарунки в vliw-процесорі від командної чарунки процесора з послідовною обробкою даних.
- •11.1Стадії та етапи створення асу тп.
- •11.2 Склад і коротка характеристика розділів технічного проекта.
- •11.3 Склад і зміст проектних рішень з технічного забезпечення.
- •11.4Склад і задачі організацій, що беруть участь у роботах зі створення асу тп.
- •11.5Перелік видів випробувань асу тп та їх короткий зміст.
- •11.6 Розрахунок вартості проектних робіт ресурсним методом.
- •11.7 Застосування елементних кошторисних норм для розрахунку вартості пусконалагоджувальних робіт.
1.9. Інкапсуляція. Поняття, сфери застосування.
Инкапсуляция — механизм языка программирования, который ограничивает доступ к составляющим объект компонентам (методам и переменным), делает их приватными, т.е. доступными только внутри объекта. Важно понимать, что к инкапсулированной переменной можно обратиться, когда пишешь реализацию класса, но при самом его использовании доступа не будет.
Это важный инструмент ООП наряду с полиморфизмом, Наследованием и Абстракцией данных.
В то же время, в языках поддерживающих замыкания, инкапсуляция рассматривается как понятие не присущее исключительно объектно-ориентированному программированию. Также, реализации абстрактных типов данных (например, модули) предлагают схожую модель инкапсуляции.
Сокрытие реализации целесообразно применять в следующих целях:
При необходимости максимальной локализации предстоящих изменений, когда изменяется только работа объекта, а не программы;
При необходимости предсказания предстоящих изменений и их последствий;
Необходимость очистки глобальной области видимости.
Внутри объекта коды и данные могут быть закрытыми (private). Закрытые коды или данные доступны только для других частей этого объекта. Таким образом, закрытые коды и данные недоступны для тех частей программы, которые существуют вне объекта. Если коды и данные являются открытыми, то, несмотря на то, что они заданы внутри объекта, они доступны и для других частей программы. Характерной является ситуация, когда открытая часть объекта используется для того, чтобы обеспечить контролируемый интерфейс закрытых элементов объекта.
На самом деле объект является переменной определённого пользователем типа. Может показаться странным, что объект, который объединяет коды и данные, можно рассматривать как переменную. Однако применительно к объектно-ориентированному программированию это именно так. Каждый элемент данных такого типа является составной переменной.
1.10. Поліморфізм. Поняття, сфери застосування.
Полиморфи́зм (от греч. πολὺ- — много, и μορφή — форма) в языках программирования — возможность объектов с одинаковой спецификацией иметь различную реализацию.
Язык программирования поддерживает полиморфизм, если классы с одинаковой спецификацией могут иметь различную реализацию — например, реализация класса может быть изменена в процессе наследования.
Кратко смысл полиморфизма можно выразить фразой: «Один интерфейс, множество реализаций».
Полиморфизм — один из четырёх важнейших механизмов объектно-ориентированного программирования (наряду с абстракцией, инкапсуляцией и наследованием).
Полиморфизм позволяет писать более абстрактные программы и повысить коэффициент повторного использования кода. Общие свойства объектов объединяются в систему, которую могут называть по-разному —интерфейс, класс. Общность имеет внешнее и внутреннее выражение:
внешняя общность проявляется как эквивалентный набор методов с одинаковыми именами или совпадающими сигнатурами (именами методов, типами аргументов, их количеством и последовательностью);
внутренняя общность — одинаковая функциональность методов. Её можно описать интуитивно или выразить в виде строгих законов, правил, которым должны подчиняться методы. Возможность приписывать разную функциональность одному методу (функции, операции) называется перегрузкой метода (перегрузкой функций, перегрузкой операций).
Пример. Класс геометрических фигур (эллипс, многоугольник) может иметь методы для геометрических трансформаций (смещение, поворот, масштабирование).
Класс потоков имеет методы для последовательной передачи данных. Потоком может быть информация, вводимая пользователем с терминала, обмен данными по компьютерной сети, файл (если требуется последовательная обработка данных, например, при разборе исходных текстов программ).
При правильном совместном использовании полиморфизма, инкапсуляции и наследования они создают среду программирования, которая поддерживает разработку более устойчивых и масштабируемых программ, чем в случае применения модели, ориентированной на процессы. Тщательно спроектированная иерархия классов — основа многократного использования кода, на разработку и тестирование которого были затрачены время и усилия. Инкапсуляция позволяет возвращаться к ранее созданным реализациям, не разрушая код, зависящий от общедоступного интерфейса применяемых в приложении классов. Полиморфизм позволяет создавать понятный, чувствительный, удобочитаемый и устойчивый код.