Інформатика як наука про методики збору,упорядкування та обробки різних даних починає свій розвиток у середині ХХ століття. Хоча деякі історики вважають, що початок формування інформатики було започатковано ще в 17 столітті, з винаходом першого механічного калькулятора, більшість асоціює її з епохою більш просунутої обчислювальної техніки. У 40-ті роки 20 століття, з появою перших комп'ютерів, інформатика набула нового поштовху у розвитку.
Предмет вивчення інформатики
Саме з появою перших обчислювальних машинз'явилася необхідність у розробці нових методів систематизації, обчислення та обробки великих масивів даних, а також у розробці алгоритмів, які б використали весь потенціал нових комп'ютерів. Інформатика набула статусу самостійної наукової дисципліни і перейшла з площини математичних обчислень до вивчення обчислення в цілому.
Вся сучасна комп'ютерна наука базується налогічні операції. Їх можна назвати основною складовою. У програмуванні обчислювальних систем поняття логічної операції – це певна дія, після виконання якого породжується нове поняття чи значення, що формується з урахуванням вже існуючих понять. Набір подібних дій може змінюватись в залежності від процесорного елемента, який повинен виконувати команди. Проте є деякі операції, які є спільними практично всім існуючих систем. Це операції, які працюють із змістом самих значень, наприклад заперечення, або ті, що змінюють кількісну характеристику поняття, – додавання, віднімання, множення, поділ.
Типи операндів логічних операцій
Оскільки алгебра логіки передбачає роботу надабстрактними поняттями, те й у ролі операндів всіх логічних операцій виступають узагальнені типи даних. Класичними елементами, з якими працює алгебра висловлювань, є висловлювання, хибні чи істинні. В електроніці та програмуванні для опису цих термінів використовують булевські змінні true і false або цілочисельні значення 1 (істина) і 0 (брехня). На комбінації цих значень, хоч би як це не звучало, зав'язана робота найскладніших і наймасштабніших систем. Весь програмний код, який виконується в комп'ютері або будь-якому цифровому пристрої, динамічно перетворюється на послідовність одиниць та нулів – універсальний код, який може бути оброблений будь-яким процесором.
Види логічних операцій
Як було вже сказано раніше, у класичнійбулевої алгебри існує 2 типи функцій. Основні логічні операції над двійковими типами даних – це дії, що впливають саме висловлювання (унарна, чи одномісна, операція). Сюди ж відносять і операції, які породжують нові висловлювання виходячи з існуючих значень (бінарні операції, чи двомісні). Порядок логічних операцій такий самий, як і при виконанні будь-яких математичних обчислень: зліва направо, з урахуванням дужок.
Найбільш простий та однією з найвідомішихФункцією булевої логіки є функція заперечення. Ця найпростіша логічна операція є протилежним значенням вхідного операнда. В електроніці ця дія ще інколи називається інверсією. Наприклад, якщо проінвертувати судження «істина», то результатом буде «брехня». І навпаки – заперечення значення «брехня» дасть у результаті значення «істина». Така логічна операція у програмуванні дуже часто використовується для розгалуження алгоритмів та реалізації «вибору» наступного набору команд на підставі вже наявних результатів або умов, що змінилися.
Бінарні операції
У програмуванні та інформатиці використовуєтьсяобмежений набір двійкових (бінарних) операцій. Вони отримали свою назву від латинського слова bi, що означає «два», і є видом функцій, які приймають на вході два аргументи та в результаті повертають одне нове значення. Для опису всіх функцій булевої алгебри застосовуються таблиці істинності.
Для чого вони потрібні
Ця система складається для певногокількості вхідних операндів та описує всі результуючі значення, які може повернути задана логічна операція при вказаному наборі вхідних параметрів.
Найчастіше використовуваними функціями в інформатиці та обчислювальної техніки є операції логічного складання (диз'юнкція) і логічного множення (кон'юнкція).
Кон'юнкція
Логічна операція «І» - це функція на вибірнайменшого із двох або n вхідних операндів. На вході ця функція може мати два (бінарна функція), три значення (тернарна) або необмежену кількість операндів (n-арна операція). При обчисленні результату функції їм стане найменше наданих вхідних значень.
Аналогом у звичайній алгебрі є функціямноження. Тому операція кон'юнкції часто називається логічним множенням. При запису функції знаком виступає або символ множення (крапка) або амперсант. Якщо скласти таблицю істинності цієї функції, стане видно, що функція приймає значення «істина», чи 1, лише за істинності всіх вхідних операндов. Якщо ж хоча б один із вхідних параметрів дорівнюватиме нулю, або значенням «брехня», то результатом функції також буде «брехня».
Це відбиває аналогію з арифметичним множенням:множення будь-якого числа та набору чисел на 0 в результаті поверне завжди 0. Ця логічна операція коммутативна: порядок, в якому вона отримує вхідні параметри, ніяк не вплине на кінцевий результат обчислення.
Іншою властивістю цієї функції єасоціативність, чи сполучність. Ця властивість дозволяє при обчисленні послідовності бінарних операцій не враховувати порядок обчислення. Тому для 3 і більше послідовних операцій логічного множення не потрібно враховувати дужки. У програмуванні ця функція часто використовується для того, щоб переконатися в тому, що специфічні команди виконуються тільки при виконанні сукупності певних умов.
Диз'юнкція
Логічна операція «АБО» - вид булевої функції,який є аналогом алгебраїчної складання. Інші назви цієї функції – логічне додавання, диз'юнкція. Так само, як і операція логічного множення, диз'юнкція може бути бінарною (обчислювати значення на основі двох аргументів), тернарною або n-арною.
Таблиця істинності для цієї логічної операціїє своєрідною альтернативою кон'юнкції. Логічна операція "АБО" обчислює максимальний результат серед наданих аргументів. Диз'юнкція приймає на виході значення "брехня", або 0, тільки якщо всі вхідні параметри надходять зі значеннями 0 ("брехня"). У будь-якому іншому випадку на виході буде отримано значення «істина», або 1. Для запису цієї функції найчастіше використовується математичний знак додавання («плюс») або дві вертикальні смуги. Другий варіант поширений у більшості мов програмування і краще, тому що дозволяє чітко відокремити логічну операцію від арифметичної.
Загальні властивості логічних операцій
Основні логічні операції, будь то унарні,бінарні, тернарні чи інші функції, підпорядковані певним правилам і властивостям, які описують їхню поведінку. Однією з таких фундаментальних властивостей, якими мають описані вище логічні функції, є комутативність.
Ця властивість гарантує, що від перестановкимісць операндів значення функції не зміниться. Не всі операції мають цю властивість. На відміну від кон'юнкції та диз'юнкції, які задовольняють вимогам комутативності, функція множення матриць такою не є, і перестановка множників у цій операції спричинить зміну результату, як і зведення в ступінь.
Додатковий аспект
Іншою важливою властивістю, яка часто застосовується в електроніці та схемотехніці, є підпорядкованість пар логічних операцій законам де Моргана.
Ці закони пов'язують пари логічних операцій зза допомогою функції логічного заперечення, тобто дозволяють висловити одну логічну операцію за допомогою іншої. Наприклад, функцію заперечення кон'юнкції можна висловити з допомогою диз'юнкції заперечень окремих операндов. За допомогою цих законів логічні операції "І", "АБО" можуть бути взаємовиражені та реалізовані з мінімальними апаратними витратами. Ця властивість вкрай корисна в схемотехніці, тому що дозволяє заощаджувати ресурси при розрахунку та формуванні мікросхем.