- •Питання до модульного контролю № 1
- •Охарактеризувати поняття: інформація, її джерела, форми представлення, інформаційні процеси, мірила визначення, ентропія, надлишковість дискретного повідомлення.
- •Структурна схема обчислювальної системи, основні вузли.
- •Відеосистема обчислювальної системи, текстовий і графічний режими роботи.
- •Питання до модульного контролю № 2
- •Навести алгоритм побудови гістограми розподілу випадкових чисел.
- •1. Структура процесорної шини
- •Операнди та основні режими адресації
- •Етапи виконання команд
- •Мови програмування високого рівня
- •Різні погляди на програмування і різні парадигми програмування
- •Алгоритм rle
- •Алгоритми групи kwe
- •Алгоритм Хафмана
- •Основними джерелами вірусів є:
- •Звідси випливає, що зараження комп'ютера не відбудеться, якщо:
- •Основними ранніми ознаками зараження комп'ютера вірусом є:
- •Коли вірус переходить в активну фазу можливі такі ознаки:
- •Існує дуже багато різних вірусів. Умовно їх можна класифікувати наступним чином:
- •Розрізняють такі типи антивірусних програм:
- •Виконавець алгоритму
- •Властивості алгоритму
- •Базові структури алгоритму
- •9. Написання програми
- •Асемблери
- •Основні вимоги до програм
- •1. Правильність.
- •2. Ефективність.
Різні погляди на програмування і різні парадигми програмування
Програма визначається як "алгоритм, тобто послідовність інструкцій, який записаною мовою, що зрозуміла комп'ютерові". Це визначення є класичним, але воно явно акцентує увагу лише на одному аспекті програмування: програма є деяка послідовність операцій. Не менш важливими є й інші аспекти, наприклад:
· програма є відображенням f: X → Y, яке ставить у відповідність елементам деякого простору вхідних даних X елементи з простору вихідних даних; це відображення можна розглядати як звичайний математичний оператор, хоч і з деякими специфічними властивостями;
· програма є кібернетичною системою, яка існує в певному середовищі і взаємодіє з цим середовищем, тобто сприймає від нього певні подразники і визначеним чином реагує на ці подразники; програма складається з підсистем, що певним чином взаємодіють між собою;
· програма являє собою певну модель, яка описує з деяким наближенням закономірності реального світу;
· програма є сукупністю правил, які дозволяють отримувати різноманітні наслідки (вихідні дані) з відомих передумов (вхідні дані);
· програма є засобом для вирішення конкретних практичних задач.
Відповідно до цього можна підходити до програмування як до процесу конструювання програм з різних точок зору. Існують різні парадигми програмування, тобто різні принципи, за якими будуються програми. Виділяють чотири основні парадигми програмування:
1. Процедурне програмування. Концепція процедурного програмування є історично першою та найбільш близькою до класичного визначення програми. В основі програми, побудованої за процедурними принципами, лежить послідовна зміна вхідних даних, поки не буде отриманий результат, причому кожна операція розписується в явному вигляді. Дані, з якими оперує програма, зберігаються в іменованих ділянках оперативної пам'яті, які називаються змінними. Найбільш відомими процедурними мовами є Паскаль і Сі в їх авторських варіантах.
2. Функціональне програмування. Виконання програми розглядається як виклик деякої функції, яка, в свою чергу, може викликати інші функції. Найбільш відомим представником цієї парадигми є Лісп.
3. Логічне програмування. В основі виконання програми лежить механізм автоматичного доведення теорем на основі логічного виведення. Найбільш відомий представник - Пролог.
4. Об'єктно-орієнтоване програмування. Ця парадигма є на сьогодні найбільш популярною і стрімко розвивається. Об'єктна програма розглядається як сукупність паралельно існуючих сутностей (об'єктів), які взаємодіють між собою. Кожний об'єкт вміє виконувати певні операції та характеризується певною поведінкою. Історично першою об'єктною мовою вважається Smalltalk. Найбільш відомими представниками цієї парадигми є C++; Object Pascal, що лежить в основі системи візуального програмування Delphi; Java.
Як окремий напрямок слід виділити мови програмування баз даних, призначені для маніпуляції великими централізованими масивами даних і отримання з них інформації. Багато з цих мов (Access, FoxPro, 4GL та ін.) мають розвинені процедурні елементи. Фактичним стандартом стала мова запитів до баз даних SQL.
4. Існує багато різних практичних методів стиснення без втрати інформації, які, як правило, мають різну ефективність для різних типів даних та різних обсягів. Однак, в основі цих методів лежать три теоретичних алгоритми:
-
алгоритм RLE (Run Length Encoding);
-
алгоритми групи KWE(KeyWord Encoding);
-
алгоритм Хафмана.