- •Тема 1 Вступ
- •Походження обчислювальних машин
- •Еволюція комп’ютерних наук
- •Роль абстракції в комп’ютерних науках
- •Тема 2 Зберігання даних
- •Зберігання бітів у вентилях і тригерах
- •Зберігання бітів в магнітному осерді .
- •3) Шістнадцяткова система числення
- •7) Основна пам'ять комп’ютера.
- •8) Магнітні диски.
- •9) Компакт диски.
- •10) Магнітні стрічки
- •Тема 3. Обробка даних
- •Центральний процесор.
- •2)Регістри центрального процесора і кеш пам'ять.
- •3) Інтерфейс між центральним процесором та основною пам’яттю.
- •4) Машинні процедури та cisc-і risc-архітектура комп'ютерів
- •5) Інструкції передачі даних
- •6) Арифметично-логічні інструкції та інструкції управління
- •7) Концепція збереженої програми і представлення машинних інструкцій бітовими комбінаціями.
- •8) Машинний код і кодування інструкцій типового комп’ютера.
- •9) Формат поля операндів.
- •10) Загальний процес виконання програми.
- •12) Програми і дані
- •Тема 4. Операційні системи
- •1)Поняття і приклади операційних систем
- •2) Еволюція операційних систем
- •3) Пакетна обробка даних
- •4) Інтерактивна обробка даних
- •7) Компоненти операційної системи – файловий менеджер
- •8) Компоненти операційної системи – менеджер пам’яті
- •9) Компоненти операційної системи – драйвери пристроїв
- •10) Архітектура операційних систем – класифікація програмного забезпечення
- •13)Запуск операційної системи
- •14)Координація роботи комп’ютера - процеси і міжпроцесна взаємодія
- •15)Координація роботи комп’ютера - диспетчеризація
- •16)Модель "клієнт / сервер"
- •Тема 5 Сітьова передача даних та Інтернет
- •Поняття комп’ютерної мережі.
- •Різновиди комп’ютерних мереж
- •Мережеві топології
- •Протоколи комп’ютерних мереж
- •5)Об’єднання комп’ютерних мереж - повторювачі, мости та комутатори
- •6)Об’єднання комп’ютерних мереж – маршрутизатор
- •7)Технологія Ethernet
- •8)Міжпроцесна взаємодія в комп’ютерних мережах
- •9)Модель "клієнт / сервер" в комп’ютерних мережах
- •10)Однорангові комп’ютерні мережі
- •11)Internet - поняття та історія
- •12)Internet – архітектура
- •13)Internet – підключення
- •14)Internet – адресація
- •15)Internet – застосування
- •16)World Wide Web – концепція
- •17)World Wide Web - реалізація
- •20)Internet - протоколи - рівневий підхід до програмного забезпечення
- •21)Internet - протоколи tcp/ip, udp
- •22)Безпека Internet - основні методи захисту
- •23)Безпека Internet – шифрування
- •24)Засоби правового захисту для безпеки комп'ютерних мереж
- •Тема 6. Алгоритми
- •Тема 8. Технологія розробки програмного забезпечення
- •Предмет технологій розробки програмного забезпечення.
- •Життєвий цикл програмного забезпечення – модульність.
- •Етапи розробки програмного забезпечення, які передбачено у моделі водоспаду.
- •6)Шаблони проектування програмного забезпечення
- •Які особливості застосування моделі швидкої розробки програмного забезпечення
- •Тестування програмного забезпечення
- •10) Документація програмного забезпечення
- •11) Право власності та відповідальність за створюване програмне забезпечення
- •Тема 9. Структури даних
- •Масиви даних
- •Списки даних – вказівники.
- •Списки даних – безперервні списки.
- •Списки даних – зв’язні списки.
- •Поняття стеку.
- •Стеки – механізм повернення.
- •Стеки – реалізація стеків.
- •Поняття черги
- •Деревовидні структури
- •Пакет реалізації бінарних дерев
- •Тема 10. Структури баз даних
- •Основні поняття бази даних
- •Багаторівневий підхід до реалізації баз даних
- •Реляційна модель баз даних
- •Реляційні операції
- •Реляційна модель бд – реляційне проектування
- •Мова sql
- •Об'єктно-орієнтовані бази даних
- •Забезпечення цілісності бд - протокол фіксації / відкоту змін в бд
- •Вплив технологій баз даних на суспільство
- •Тема 11. Штучний інтелект
- •Що таке штучний інтелект
- •Розпізнавання зображень
- •Система породження
- •Дерева пошуку
- •Евристичні методи
- •Властивості штучних нейронних мереж
- •Генетичні алгоритми
- •Застосування теорії штучного інтелекту – опрацювання мови.
- •Застосування теорії штучного інтелекту - робототехніка.
- •Поняття експертних систем
- •Наслідки розвитку штучного інтелекту
- •Тема 12. Теорія обчислень
- •1.Найпростіша мова програмування
- •2.Найпростіша мова програмування – оператори опису даних.
- •3.Найпростіша мова програмування – імперативні оператори.
- •4.Можливості програм, написаних на найпростішому мові
- •5.Поняття Машини Тюрінга
- •6.Поняття обчислюваних функцій
- •7.Теза Черча-Тьюринга
- •8.Універсальність найпростішої мови програмування
- •9.Необчислювані функції
- •13.Криптографія з використанням відкритих ключів
- •Тема 7. Мови програмування
- •Парадигми програмування.
- •Концепції традиційного програмування - змінні, константи і літерали.
- •Концепції традиційного програмування – типи даних.
- •Поняття структури даних
- •Оператори присвоєння.
- •Процедури і їх параметри.
- •Поняття функції.
- •Об’єктно-орієнтоване програмування
- •Декларативне програмування
- •Програмування паралельних процесів
- •Мова prolog це 12 питання
Стеки – механізм повернення.
Класичним застосуванням стеків є виконання програм, які виконують процедури. Коли програма повинна виконати процедуру, комп’ютер повинен перемкнути увагу на цю процедуру. Коли ж процедура вимагає виконання іншої процедури — механізм ускладнюється.
Наприкінці всього циклу виконання комп’ютер повинен повертатися до початкової програми у місці переходу до процедури.
Стеки – реалізація стеків.
Для реалізації стекової структури в пам’яті комп’ютера резервується безперервний блок комірок пам’яті, щоб стек міг розміститися там не залежно від додавання чи видалення елементів. Один з кінців цього блоку позначається як основа стеку. В основу стеку вставляється перший елемент. При додаванні, новий елемент вставляється після попередника, при цьому стек збільшується в другу сторону. Для забезпечення механізму запису поточної адреси вершини стеку використовується додаткова комірка пам’яті, яка називається вказівником на вершину стеку. Вказівник на вершину стеку завжди визначає поточне місце вершини стеку.
Механізм роботи є наступним:
Для вставки елементу до стеку потрібно:
змінити поточне значення вершини стеку, щоб воно вказувало на вільну позицію
помістити в поточну позицію вершини стеку новий елемент
Для отримання елементу зі стеку потрібно:
зчитати дані, на які вказує вершина стеку
відкоригувати значення вершини стеку таким чином, щоб воно вказувало на наступний (нижчий) елемент стеку.
При організації стеку в безперервному блоці комірок пам’яті різниця між концептуальною та реальною структурами є невеликою. Однак неможливо визначити розмір стеку, який буде завжди гарантовано задовольняти поставленим умовам. В такому випадку слід реалізовувати стек у вигляді зв’язаного списку.
Тоді можна уникнути обмежень розміру стеку у випадку використання безперервного блоку.
Однак така реалізація стеку буде відрізнятися від комп’ютерної реалізації.
Поняття черги
На противагу стеку, черга є таким списком, в якому додавання елементів відбувається на одному кінці, а видалення — на іншому
Подібні структури відносяться до систем зберігання та працюють по принципу:
FIFO — first in, first out перший прийшов, перший вийшов)
Кінці черги отримали свої назви відповідно до своїх ролей:
початок — кінець черги, де відбувається видалення елементів
кінець (хвіст) — кінець черги, де відбувається додавання елементів
Чергу можна реалізувати аналогічно до реалізації стеку, єдиною відмінністю при цьому буде використання двох вказівників замість одного:
вказівник початку черги — відслідковує положення початку черги
вказівник кінця черги — відслідковує положення кінця черги
Коли черга пуста, обидва вказівники вказують на оду і ту ж ділянку пам’яті. Видалення елементу з черги означає отримання елементу, на який показує вказівник початку черги, з подальшою зміною його значення таким чином, щоб він вказував на наступний за видаленим елемент черги
