Логіка і мови програмування

Мови програмування виходять з логіки.

У логіці ми точно можемо сказати, що якесь висловлювання є істиною (наприклад, сніг білий, 2 + 3 = 5), а щось брехнею (наприклад, сніг теплий, 2 + 3 = 7).

Якщо мова йде про комп’ютери, то істину тут позначають за 1, а брехня за 0. І так як у нас всього 2 варіанти, доводиться ними завжди оперувати.

Можна заперечити висловлювання. Згадуємо природна мова за допомогою НЕ:

«Неправильно, що стіл відноситься до техніки».

Або, наприклад: «Стіл – це не комп’ютер».

Ця операція називається інверсія (від лат. «Перевертання»)

У програмуванні, в різних мовах «НЕ» може позначатися різними символами: НЕ, NOT,!, ~ І т.д.

Два висловлювання можна логічно приєднати один до одного, як це робиться в мові, наприклад: «я є людиною І я є учнем».

Ми взагалі не даємо прорватися брехні. Якщо обидва висловлювання істинними, отримуємо істину (1), якщо обидва або хоча б одне з них помилково, отримуємо брехня (0).

А = 1 (правда) і В = 1 (правда) – Все висловлювання вірне (1)

А = 1 (правда) і В = 0 (брехня) – Все висловлювання брехня (0), оскільки з’явилася брехня

А = 0 і В = 1 – Висловлювання помилкове

А = 0 і В = 0 – Висловлювання теж помилкове

Така операція називається кон’юнкція (від лат. «Союз», «зв’язок»)

У програмуванні «І» може позначатися і такими символами: І, &, AND і ін. І вважається певним аналогом множення в алгебрі.

Можна вибрати висловлювання. Знову, як у мові, за допомогою АБО: «колібрі – птах АБО комаха».

Ми ніби знаходимо хоча б крихту істини. Якщо обидва або хоча б один вислів істинно, отримуємо істину (1), якщо обидва висловлювання помилкові, отримуємо брехня (0).

А = 1 або В = 1 – Висловлювання вірне

А = 1 (правильне) або В = 0 (помилкове) – Висловлювання вірне, оскільки є хоча б одна істина

А = 0 і В = 1 – Висловлювання знову вірне

А = 0 і В = 0 – Висловлювання помилкове – правди немає взагалі

Така операція називається диз’юнкція (від лат. «Роз’єднання»)

У програмуванні «АБО» може позначатися і такими символами: АБО, |, OR, +, ^ і ін.

Вважається таким собі аналогом складання в алгебрі.

Якщо десь зустрічаються всі три оператора, то вони виконуються саме в такій послідовності: 1. інверсія, 2. кон’юнкція, 3. диз’юнкція.

Посилання на основну публікацію