Львів
C
» » Інформатика. Перетворення логічних виразів

Інформатика. Перетворення логічних виразів

В запропонованій роботі буде детально розглянуто питання перетворення логічних виразів. Крім цього, пропонуємо вам пройти короткий курс по логіці, де будуть розглядатися основні закони і поняття. Перетворення логічних виразів – це досить непростий процес, якщо не ознайомитися з усіма нюансами самого предмета. Курс інформатики буде здаватися простим і приносити задоволення, якщо уважно прочитати цю статтю, щоб ознайомитись з правилами і законами перетворення, вирішення завдань і складання схем. Пропонуємо почати прямо зараз.


Наука логіка

Інформатика. Перетворення логічних виразів
Основи логіки – це досить непростий предмет, за нього написано дуже багато томів. У даній статті будуть розглянуті ази і закони перетворення логічних виразів, тобто інформація буде максимально стислою і концентрованою. Це необхідно для розгляду більш осмислено комп'ютерних технологій та побудови схем. Для початку що таке логіка і навіщо вона потрібна? Важливо відзначити, що це ціла наука, яка розглядає форми і способи міркування. Все, що ми бачимо, чуємо або робимо, підкоряється законам. М'яч кинули з висоти - він обов'язково летить вниз, так як підкоряється законам фізики. Заварюємо зранку запашну каву, додаємо цукор, а сипучі речовини миттєво розчиняються у воді, підкоряючись законам фізики. Ми ведемо бесіду з друзями, ділимося своїми планами: «Якщо я добре захищу роботу, то отримаю червоний диплом», «У мене не вийде приїхати на машині, так як вона знаходиться в ремонті». Не помічаючи, ми будуємо всі наші розмови, спираючись саме на логіку та її закони. Так навіщо потрібна наука логіка? Звичайно, знаючи її закони, ви зможете безпомилково визначати результат будь-якої події, так як не доведеться діяти навмання і ризикувати.


Хоч мислення є досить складним процесом, проте його можна розділити на якісь складові, точніше, форми (за допомогою чого відбувається вираження думки):
  • поняття;
  • висловлювання;
  • умовиводи;
  • докази.
  • Далі пропонуємо вам перейти до логічних функцій і перетворення логічних виразів. Інформатика виявиться для вас веселим і досить простим предметом, якщо уважно читати дану статтю.

    Логічні функції

    Інформатика. Перетворення логічних виразів
    Зараз ми пропонуємо познайомитися з логічними функціями. Часто у квитках єдиного державного іспиту в частині трапляються В завдання на перетворення логічних виразів в числових відрізках. Їх неможливо вирішити без знання функцій логіки. Яка основна задача даної науки? Звичайно, вивчення логічних виразів (як складних, так і простих). Як виходить складне висловлювання? Шляхом злиття простих, що відбувається завдяки зв'язкам, які прийнято називати функціями. Всього можна виділити п'ять зв'язок:
  • інверсія (тобто заперечення, за допомогою даної функції можна отримати висловлювання, протилежне даному: я сьогодні йду в кіно – я сьогодні не йду в кіно);
  • диз'юнкція (цю функцію часто називають логічним складанням, для того щоб стало зрозуміло, наведемо простий приклад з життя: «якщо у мене буде боліти голова чи живіт, то я не піду в школу» - це вираз буде істинним, якщо враховано хоч одна з вимог);
  • кон'юнкція (часто називають логічним множенням: «якщо я помию посуд і зроблю уроки, то піду гуляти з друзями» - це вираз буде істинним, якщо будуть враховані дві умови);
  • імплікація (в логіці цю функцію називають наслідуванням, на жаль, її не можна проілюструвати життєвою ситуацією; помилкової функція буде в тому випадку, якщо що-то хотіли зробити, але не вийшло, в інших випадках функція буде істинною);
  • еквіваленція (або рівність, якщо два висловлювання істинні або помилкові, то в результаті ми отримуємо істину).
  • Важливо відзначити, що в інформатиці будь-яке просте висловлення позначається великою буквою латинського алфавіту. Далі потрібно обов'язково запам'ятати таблицю істинності до кожної функції. Зверніть увагу на те, що заучувати її не обов'язково, досить буде тільки розуміння функцій.

    Таблиці істинності

    Кон'юнкція

    Перший вираз (А)



    Другий вираз (В)



    Результат (З)



    Л



    Л



    Л



    І



    Л



    Л



    Л



    І



    Л



    І



    І



    І

    Диз'юнкція

    А



    У



    З



    Л



    Л



    Л



    І



    Л



    І



    Л



    І



    І



    І



    І



    І

    Інверсія

    А



    У



    І



    Л



    Л



    І

    Імплікація

    А



    У



    З



    Л



    Л



    І



    І



    Л



    Л



    Л



    І



    І



    І



    І



    І

    Еквіваленція

    А



    У



    З



    Л



    Л



    І



    І



    Л



    Л



    Л



    І



    Л



    І



    І



    І

    Крім цього, важливо відзначити і той факт, що брехня в логіці позначається цифрою 0 а справжнє вираження - цифрою 1. Для своєї зручності можна застосовувати і знаки плюса і мінуса. Зверніть свою увагу на те, що помилкові і справжні вирази в запропонованих таблицях позначені літерами "Л" і "І" відповідно.

    Побудова

    Перед тим як переходити до перетворення логічних виразів, необхідно познайомитися з самим їх побудовою. Будь-яке складене або, як було сказано раніше, складне вираз складається з двох частин:
  • змінні, які позначаються великими літерами латинського алфавіту;
  • знаки, які позначають функцію і з'єднують прості вирази між собою.
  • Як скласти вираз на мові алгебри логіки? Для цього потрібно зробити кілька речей:
  • розділити всі висловлювання на прості вирази;
  • позначити ці елементи літерами;
  • виділити зв'язки між простими виразами;
  • записати отримане вираз за допомогою спеціальних символів алгебри логіки.
  • Пропонуємо розглянути простий приклад: (Z*F=5 або Z*F=4) І (Z*F не дорівнює 5 або Z*F не дорівнює 4). Необхідно замість змінних підставити 2. Після цього ми отримуємо вираз (4=5 або 4=4) і (4 не дорівнює 5 або 4 не дорівнює 4). Після проведених операцій ми повинні виділити вираження і зв'язку між ними, повинно вийти наступним чином: (Z або F) і (не Z або не F). Після цього нам необхідно перетворити цю запис, підставивши значення висловлювань. У тому випадку, якщо вираз вірне, то необхідно підставити 1 в іншому випадку – 0. Ми отримуємо: G=1 і 1. Після необхідних обчислень ми отримаємо результат: G=1 тобто складне вираз є істинним.

    Закони

    Зараз пропонуємо вам розглянути закони логіки і правила перетворення логічних виразів. Важливо згадати те, що будь-який логічний вираз може бути перетворене в інший за допомогою законів логіки. Зараз ми докладно розглянемо всі десять правил. Перша в нашому списку – «закон подвійного заперечення». Тобто вираз «не (не А)» буде дорівнювати висловом «А». Комунікативний закон є і в математиці, його запам'ятати досить просто. А+В=В+А, А*В=В*А. Сочетательний закон - (D+E)+F=(D+F)+E, той же закон застосовний і до логічного множення. Розподільний закон – це елементарне відкриття дужок. Приклад: (А+В)*С=(А*З)+(В*С). Закон де Моргана: (А+В)=неА*неВ, не(А*В)=неА+неВ, АимпликацияВ=неА+В, (АимпликацияВ)=А*неВ. Идемпотентность: Х+Х=Х або З*З=С. Виняток констант: Х+1=1 x+0=Х; Х*1=Х, Х*0=0. Наступним ми виділимо закон суперечності, слідуючи йому, можна стверджувати наступне рівність:*неВ=0. В логіці є і закон поглинання, який на практиці виглядає наступним чином: З+(С*D)=З або С*(С+D)=С. Так само важливо для перетворення логічних виразів запам'ятати закон виключення: (С*Е)+(ніс*Е)=Е (С+Е)*(ніс+Е)=Е. Якщо детально розглянути і запам'ятати всі представлені в даному розділі закони, то проблем з перетворенням ніколи не виникне. Не менш важливий і порядок виконання функцій. Приділяйте цьому пункту більше уваги, правильний розподіл порядку функцій – це запорука правильного вирішення завдання.

    Правила і закони перетворення та спрощення, порядок виконання дій з прикладами

    Логічні закони і правила перетворення логічних виразів дуже прості для запам'ятовування. Якщо ви сумніваєтеся в правдивості хоч одного з них, то перевірте самостійно. Для цього необхідно витратити 10 хвилин свого часу та скласти таблиці істинності для отримання відповіді. Зараз пропонуємо розглянути логічні закони і правила перетворення логічних виразів на конкретних прикладах. Це необхідно для того, щоб як слід закріпити отримані знання. Зверніть особливу увагу на черговість дій. Нам дано: З+(ніс*Е). Необхідно спростити вираз. Першим ділом пропонуємо розкрити дужки. Тоді ми отримуємо вираз: (С+ніс)*(С+Е). Відзначимо відразу, що логічне додавання двох протилежних висловлювань дає нам істину. Що отримуємо в результаті: 1*(З+Е). Знову відкриваємо дужки: (1*С)+(1+Е). Зараз ще раз згадуємо закони і отримуємо відповідь: З+Е. Як ви вже побачили, все досить просто. Для вирішення таких завдань необхідно запам'ятати закони, які були перераховані в попередньому розділі. Пропонуємо переходити до вирішення логічних завдань, так як це завдання вже трохи складніше попереднього.

    Рішення завдань

    Ми познайомилися з азами науки під назвою «логіка», перетворення логічних виразів ми коротко розглянули, закони перерахували. Найбільш складні завдання з складанням логічних виразів – це завдання. Важливо відзначити, що вони можуть вирішуватися з допомогою міркування, перетворення виразу або табличним методом. Пропонуємо розглянути одну з них детально.
    Інформатика. Перетворення логічних виразів
    Три хлопчика (Кирило, Антон і Костя) знаходилися в одній кімнаті. Раптом мама з кухні чує звук розбитої чашки. Прибігла до синів і запитала: "Хто це зробив?" Відповідь була наступною: Кирило сказав, що чашку розбив не Костя, а Антон; Антон сказав, що це зробив Костя, а не Кирило; Костя стверджує, що винуватцем не є Антон. Нам відомо, що хто-то один із хлопчиків сказав мамі неправду. Потрібно з'ясувати, хто розбив чашку. Якщо міркувати логічно, то відповіді Кирила і Антона суперечать один одному, так само, як і Кирила з Кісток. Отже, вони не можуть бути обидва правдивими. Робимо наступне умовивід - Антон і Костя сказали правду, а Кирило є винуватцем розбитої чашки. Це був застосований метод роздуми. Зараз переглянемо рішення цієї задачі, тільки за допомогою методу перетворення виразу. Для початку введемо скорочення:
  • КР – чашка розбита Кирилом;
  • А – чашка розбита Антоном;
  • К – винуватець Костя.
  • Відповіді хлопчиків:
  • Кирило – неК, А;
  • Антон – неКР, До;
  • Костя – неА.
  • Пропонуємо скласти вираз, якщо Костя збрехав, а Кирило та Антон сказали правду: неК*А=1*неКР=1 і А=1. Перетворюючи вираз, ми отримуємо протиріччя: 0=1. Наше припущення невірно, варто перевірити інші припущення. Якщо ми припускаємо, що Кирило збрехав, а Антон і Костя сказали мамі правду, то отримуємо наступне вираз:*неА=1*неКР=1 і неА=1. Спростивши вираз, ми отримуємо КР*неА*неК=1. Це говорить про те, що наше припущення було правильним, дійсно, Кирило розбив чашку і збрехав мамі.

    Табличний метод рішення

    Розглянуті закони логіки і перетворення логічних виразів, безумовно, допомогли нам впоратися із завданням, яка представлена в попередньому розділі. Зараз пропонуємо розглянути табличний метод вирішення наступного завдання. Дмитро, Анатолій та Людмила є шанувальниками поштового листування, нам відомо, що всі живуть в різних частинах світу і мають різне хобі. Визначте, хто живе в якомусь місті і чим захоплюється. Відомі наступні факти:
  • Дмитро ніколи не бував у Парижі, а Людмила - в Римі;
  • той, хто живе в Парижі, не любить кіно;
  • людина, яка живе в Римі, займається вокалом;
  • Людмила відчуває огиду до балету.
  • Для того щоб розв'язати задачу, потрібно скласти невелику таблицю.

    Франція



    Італія



    США







    Вокал



    Балет



    Кіно















    Дмитро



























    Анатолій



























    Людмила













    Далі від вас вимагається максимум уваги. Все, що ви прочитали в умови, має відбитися в цій таблиці. По ходу заповнення стане ясно наступне:
  • Дмитро живе у Римі і займається вокалом;
  • Анатолій живе в Парижі і часто відвідує балет;
  • Людмила – це велика шанувальниця кіномистецтва, яка проживає в США.
  • Зверніть ще раз увагу на те, що справжнє вираження зазначається цифрою 1 а хибне – 0. Заповнюючи таблицю даними символами, ви швидко знайдете відповідь на питання, яке вас цікавить.

    Микросхематика

    Приклади перетворення логічних виразів, які ми розглянули, є досить складними на перший погляд. У квитках єдиного державного іспиту умова може зовсім надаватися у вигляді мікросхеми. Важливо знати, що всі цифрові пристрої ґрунтуються на логічних елементах, тобто якихось пристроях, які виконують одну логічну функцію.
    Інформатика. Перетворення логічних виразів
    Ми вже говорили про таку функцію, як кон'юнкція (логічне множення). Його прийнято позначати символом &. Ця функція необхідна для кон'юнкції декількох значень. На картинці ви бачите схему логічного множення.
    Інформатика. Перетворення логічних виразів
    Функція диз'юнкція необхідна для реалізації диз'юнкції деяких вхідних значень. При записі виразу цю функцію прийнято позначати символом U. На малюнку представлена схема.
    Інформатика. Перетворення логічних виразів
    Функція інверсії служить перетворювачем одного виразу в протилежне. На малюнку ви бачите, як виглядає схема «не».

    Приклад спрощення формули №1

    Розглянуті правила перетворення логічних виразів необхідно закріпити на практиці. Саме переслідуючи цю мету, ми пропонуємо вирішити самостійно два приклади середньої складності і зіставити з результатами в даному розділі статті. Якщо ви ще не встигли запам'ятати формули перетворення логічних виразів, то можете зробити собі невеличку «напоминалку». Ви побачите, що незабаром ви не будете в неї підглядати. Приклад: (Х+Т)*(неХ+Т)*(М+). Не варто сліпо списувати, спробуйте вирішити приклад самостійно. В ході спрощення ми отримуємо наступні записи: Т*(М+немає)=(Т*М)+(Т*немає)=(Т*ньому)+0=(Т+0)*(М+0)=Т*М. Як бачите, досить довгої і громіздкого складного виразу ми отримали короткий Т*М. Якщо у вас не вийшло вирішити самостійно даний приклад, то зверніться ще раз до пункту, де ми розглядали перетворення логічних виразів, завдання.

    Приклад спрощення формули №2

    Інформатика. Перетворення логічних виразів
    В даному розділі пропонуємо вам спростити вираз (Е+Н)*(Е+До). Розберемо рішення поетапно. Насамперед нам необхідно розкрити дужки, згадуємо курс елементарної математики. В результаті ми отримуємо такий вираз: Е*Е+Е*К+Н*Е+Н*К. Далі ми помічаємо, що в отриманому виразі є частина Е*Е, згадуємо закон ідемпотентності і перетворюємо запис: Е+Е*К+Н*Е+Н*К. Наступним етапом перетворимо частина Е+Е*К, скориставшись винесенням за дужки змінної Е і властивістю: А+1=1. Ми отримуємо вираз: Е+Н*Е+Н*К. Слідуємо аналогічно останньому пункту і виносимо за дужки Е. В результаті ми отримуємо відповідь: Е+Н*К. Зверніть свою увагу на те, що завдання тільки здаються складними на перший погляд. Щоб «клацати їх, як насіння», необхідно просто вивчити основні закони логіки.