Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Інформатика.docx
Скачиваний:
3
Добавлен:
17.11.2019
Размер:
786.99 Кб
Скачать

§ 6. Математичні основи роботи комп'ютера

1. Логічні величини та логічні операції. Розв'язуючи задачі з математики, фізики та хімії, ми оперуємо даними. Цими даними є числа. Ми вміємо виконувати дії з числовими даними: додавання, віднімання, множення, ділення, піднесення до степеня і знаємо, що такі дії мають різний пріоритет.

Але виявляється, що окрім числових даних, в інформатиці існують інші типи даних, наприклад, логічні.

Логічні дані та дії, визначені над ними, утворюють булеву алгебру, названу на честь її творця — англійського математика Джорджа Буля (1815-1864), батька письменниці Е.Л. Войнич. Уже значно пізніше виявилося, що функціонування багатьох електронних пристроїв (лічильників, суматорів, шифраторів, дешифраторів тощо) описується формулами булевої алгебри. Булеву алгебру розглянемо на прикладі її різновиду — алгебри висловів.

Алгебру висловів утворюють вислови та логічні операції над ними.

Вислів це розповідне речення, яке може бути або істинним, або хибним.

Якщо вислів відповідає дійсності, то він істинний, у протилежному випадку — хибний. Наприклад, нехай відомо, що Х=10. Тоді вислів «Х>5» є істинним, а вислів «Х<5» є хибним.

Вислови є логічними величинами. Як і числові, логічні величини можуть бути сталими або змінними. Якщо вислів, позначений іменем А, є істинним, то пишуть А=1, якщо хибним, то пишуть А=0. Тут 1 і О — логічні сталі. Є лише дві логічні сталі: 1 і 0. Логічні змінні позначають літерами. Змінні можуть набувати значення 1 або 0, тобто «істина» або «хибність».

Розглянемо три основні логічні операції над логічними величинами:

1) «НЕ» (інші назви: інверсія, логічне заперечення; символ операції «-» пишеться над величиною);

2) «І» (кон'юнкція, логічне множення; символ «•» або «۸»);

3) «АБО» (диз'юнкція, логічне додавання; символ «+» або «v»).

Послідовність виконання операцій така: спочатку виконуються операції «НЕ», пізніше — операції «І», останніми— операції «АБО».

Позначимо аргументи літерами А і В, а результат логічної операції — літерою С.

Означення 1. Операція «НЕ», застосована до А, дає протилежне значення А.

Означення 2. Операція «І», застосована до А і В, дає значення 1 тільки тоді, коли А=1 і В = 1, і значення 0 у всіх інших випадках.

Означення 3. Операція «АБО», застосована до А та В, дає значення 1, якщо хоча б одна змінна А або В має значення 1, і значення 0, якщо А = 0 і В = 0.

Проілюструємо означення засобами таблиць істинності (рис. 1.3).

Рис. 1.3. Таблиці істинності логічних операцій

2. Основні формули алгебри логіки. Вислови, для яких результуючі стовпці в таблиці істинності збігаються, називаються рівносильними. Для позначення рівносильних висловів використовують символ «=», який слід читати так: рівносильно.

Для операцій «І» та «АБО» виконуються переставний та сполучний закони:

А + В = В + А, (А + В) + С = А + (В + С);

А•В=В•А, (А•В)•С=А•(В•С).

На рис. 1.4 показані основні формули алгебри логіки (властивості логічних операцій).

Рис. 1.4. Властивості логічних операцій

Розглянемо дві формули, відомі як формули де Моргана:

1) 2)

Перевіримо правильність першої формули. З цією метою побудуємо таблиці істинності для і переконаємося, що результуючі стовпці в них збігаються (рис. 1.5). Аналогічно можна перевірити правильність другої формули де Моргана.

Рис. 1.5. Перевірка правильності першої формули де Моргана

За допомогою формул алгебри логіки описують функціонування фізичних пристроїв, а також розв'язують різноманітні логічні задачі.

Як і алгебричні вирази, громіздкі логічні формули потрібно спрощувати, щоб у них було якнайменше операндів.

Розглянемо приклади спрощення логічних формул. Наведені нижче перетворення ґрунтуються на властивостях логічних операцій:

1)

2)

З*. Елементи теорії автоматів. Логічні формули застосовують для побудови (синтезу) автоматів. Розглянемо найпростіші (без елементів пам'яті) автомати — пристрої, які перетворюють вхідні потоки інформації, що складається з одного чи багатьох сигналів, у вихідні.

Сигнали бувають двох типів. Їх умовно позначають «1» і «0». Автомат можна сконструювати, маючи логічну формулу, за допомогою елементарних пристроїв, які реалізують логічні операції «НЕ», «І», «АБО».

Розглянемо етапи створення автомата:

Задача => логічна формула => логічна схема => фізична схема => виготовлення пристрою.

Нехай логічну формулу вже маємо. Як побудувати логічну схему? На рис. 1.6 зображено схеми трьох логічних операцій. Схеми для операцій «І» та «АБО» мають два або більше входів. Зауважимо, що в інших книжках схеми можуть бути позначені інакше.

Рис. 1.6. Логічні схеми логічних операцій

Логічній формулі відповідає комбінація схематичних позначень. Це і є логічна схема автомата (див., наприклад, рис. 1.8).

Маючи логічну схему, потрібно побудувати фізичну схему, наприк­лад, електричну. Для цього в логічній схемі замінюють позначення логічних операцій електричними схемами. Таким чином отримують повну електричну схему автомата, яка є кінцевим результатом роботи конструктора.

Розглянемо електричні схеми, які відповідають логічним. На рис. 1.7 зображені схеми електричних кіл з джерелами живлення, кнопками А і В та лампочками. Домовимося, що наявності вхідного сигналу «І» відповідає натискання відповідної кнопки, «О» — кнопка не натиснута. Наявності вихідного сигналу «І» відповідає струм у колі — лампочка світиться, «О» — лампочка не світиться.

У схемі «НЕ» натискання кнопки призводить до розімкнення кола. Саме такий стан зображений на рис. 1.7. Для схеми «І» струм у колі буде, якщо обидві кнопки натиснуті разом. У схемі «АБО» струм у колі буде, якщо натиснута хоча б одна кнопка. На рис. 1.7 відповідні кнопки не натиснуті.

Рис. 1.7. Електричні схеми логічних операцій

Задача 1. Скласти схему автомата, який описує роботу електронного замка з «секретом». Замок відмикається, якщо одночасно натиснути три кнопки А, В, С, або кнопки А і В, або кнопку С.

Розв'язування. Нехай А, В, С — вхідні сигнали (аргументи), а Д — вихідний сигнал. З умови задачі, враховуючи три умови відмикання замка, випливає, що логічна формула матиме вигляд

Перший доданок відповідає одночасному натисканню трьох кнопок, другий — кнопок А та В, третій — лише кнопки С.

Спростимо структурну формулу, використавши властивості логічних операцій:

Тепер можна побудувати логічну схему (рис. 1.8).

4. Логічні задачі. Розглянемо дві типові логічні задачі і розв'яжемо їх за допомогою алгебри висловів.

З а д а ч а 2. Андрій, Володя та Степан запитали вчителя, що вони отримали за контрольну роботу з інформатики. "Один з вас отримав «З», інший — «4», а ще інший — «5»", — відповів учитель і додав: "У Андрія — четвірка, у Володі — не четвірка, а в Степана — не п'ятірка. Але зважте, тільки одному з вас я сказав правильно. Тепер визначте, які оцінки ви отримали".

Розв'язування. Розглянемо три вислови і дамо їм такі імена:

А4 = «У Андрія — четвірка»;

В4 = «У Володі — четвірка»;

С5 = «У Степана — п'ятірка».

З відповіді учителя випливає логічне рівняння А4+В4+С5 = 1. Розглянемо три можливі гіпотези.

1. Учитель сказав правильно Андрієві. Отже, А4 = 1, = 0, = О (два інші вислови у фразі хибні). Звідси випливає В4-= 1 та С5 = 1. Але ж Андрій і Володя не можуть мати «4», бо за умовою четвірка є лише одна. Отримали протиріччя. Гіпотеза хибна.

2. Учитель сказав правильно Володі. Отже, = 1, а А4 = 0, = О (один вислів істинний, два інші — хибні). Звідси випливає В4 = 0, А 4== О, С5 =1. Але це означає, що ніхто з учнів не отримав четвірки, що знову суперечить умові задачі.

3. Учитель сказав правильно Степанові. Дві попередні гіпотези хибні, тому ця гіпотеза істинна. Отже, = 1, А4 = 0, = 0. Звідси випливає: С5 = 0, А4 =0, В4 = 1. У Володі — четвірка. У Степана — не <<4» і не «5», отже, він отримав трійку. У Андрія — п'ятірка.

Відповідь: Андрій отримав «5», Володя — «4», Степан — «З».

З а д а ч а 3. Чотири комп'ютерні фірми IBM, СОМРАQ, АРРLЕ і DIGITAL брали участь у тендері (вид конкурсу). Були такі три прогнози щодо місць, які посядуть фірми:

1. ІВМ —перше місце, СОМРАQ друге.

2. ІВМ —третє, АРРLЕ—друге.

3. DIGITAL. — друге, АРРLЕ— четверте.

У кожному прогнозі одна частина виявилася правильною, а інша — ні. Які місця посіли фірми?

Розв'язування. Розглянемо всі шість висловів і позначимо їх так:

11 == «ІВМ — перше»; С2 = «СОМРАQ друге»;

І3 = «ІВМ — третє»; А2 = «АРРLЕ — друге»;

D2 = «DIGITAL друге»; А4 = «АРРLЕ — четверте».

За умовою задачі складемо три логічні рівняння:

І12= 1; I3 + А2 = 1; D2 + А4 - 1:

Перемножимо перші два рівняння:

І1ֹІ3+I1ּA22ּI32ּA2=1.

Але 11ּI3 = 0, бо одна фірма не може посідати двох місць, і С2ּA2 = О, бо дві фірми не можуть посісти одне місце. Отже,

I1ּA2+C2ּI3=1

Помножимо останнє рівняння на задане третє і спростимо:

(I1ּA2+C2ּI3)ּ(D2+A4)=1;

I1ּA2ּD2+I1ּA2ּA4+C2ּI3ּD2+C2ּI3ּA4=1;

C2ּi3ּA4=1. Отже, C2=1, I3=1, A4=1.

Відповідь: фірма DIGITAL посіла перше місце, СОМРАQ друге, ІВМ — третє,

АРРLЕ четверте.