МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах
РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ" ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах Гендерна антидискримінаційна експертиза може зробити нас моральними рабами ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів
Контакти
Тлумачний словник Авто Автоматизація Архітектура Астрономія Аудит Біологія Будівництво Бухгалтерія Винахідництво Виробництво Військова справа Генетика Географія Геологія Господарство Держава Дім Екологія Економетрика Економіка Електроніка Журналістика та ЗМІ Зв'язок Іноземні мови Інформатика Історія Комп'ютери Креслення Кулінарія Культура Лексикологія Література Логіка Маркетинг Математика Машинобудування Медицина Менеджмент Метали і Зварювання Механіка Мистецтво Музика Населення Освіта Охорона безпеки життя Охорона Праці Педагогіка Політика Право Програмування Промисловість Психологія Радіо Регилия Соціологія Спорт Стандартизація Технології Торгівля Туризм Фізика Фізіологія Філософія Фінанси Хімія Юриспунденкция |
|
|||||||
Де і в якому столітті виготовлено монету.Розв’язання: Для розв’язку задачі згадаємо логічні операції, які ми розглядали раніше. З розглянутих операцій для розв’язку даної задані нам будуть потрібні операції not, and і or. Запишемо висловлення хлопчиків при допомозі цих операцій, ввівши попередньо наступні позначення: А = {монета грецька}, B = {монета фінікійська}, C = {монету викарбувано в ІІІ столітті}, D = {монету викарбувано в ІV столітті }, E = {монету викарбувано в V столітті }. Крім того використаємо для зменшення кількості записів такі позначення логічних операцій, які прийнято в алгебрі логіки, а саме: n not (A) Ы n A and B Ы A&B n A or B Ы AЪ B Використовуючи домовленості, запишемо висловлювання юних нумізматів на мові алгебри логіки: A&E – слова Юрка, В &С – слова Сашка, Ъ D – слова Михайла. Зі слів вчителя історії випливає, що кожне з цих висловлень хибне, так як кожен з хлопчиків вірно висловив лише половину свого висловлення. Що це значить? Припустимо, що Юрко вірно вказав, що монета грецька (А = 1), але помилився в часі її виготовлення (Е = 0). Якщо ж він не правий в тому, що монета грецька (А = 0), то вірно вказав час виготовлення (Е = 1). Звідси випливає, що А & Ъ & Е = 1. Проводячи аналогічні міркування для висловлень Сашка та Михайла, отримаємо ще два істинних складних висловлення: В & Ъ & C = 1 & Ъ A & D = 1. Якщо ж ці висловлювання логічно перемножити, то отримаємо істинне складне висловлення: (А & Ъ & Е) & (В & Ъ & C) & ( & Ъ A & D) = 1 Розкриваємо дужки, тобто спрощуємо отриманий складний вираз: А & & B & & & Ъ A & & B & & A & D Ъ А & & & C & & Ъ A & & & C & A & D Ъ & E & B & & & Ъ & E & B & & A & D Ъ & E & &C & & Ъ & E & B & C & A & D = 1. Так як А & = 0 (монета не може бути одночасно і грецькою і не грецькою), то будуть рівні нулю (будуть хибними) і вирази: А & & B & & & = 0 А & & & C & & = 0 & E & B & & A & D = 0 & E & B & C & A & D = 0 Крім того, з умови випливає, що: так як A & B = 0, то A & & B & & A & D = 0, C & D = 0, то A & & & C & A & D = 0, E & C = 0, то & E & &C & & = 0. (З яких даних умови це випливає?) Тому залишається єдина відповідь: & E & B & & & = 1, тобто істинними є висловлення В і Е. Програмна реалізація даного розв’язку з виведенням станів всіх логічних змінних і відповідних повідомлень приведена нижче. Крім того під час виконання дана програма будує в пам’яті таблицю істинності для отриманого висловлення. Рекомендуємо Вам модифікувати дану програму для отримання значень таблиці істинності при всіх значеннях змінних. program logic1; uses crt; const a1 = ‘ Монета грецька. ’; b1 = ‘ Монета фiнiкiйська. ’; c1 = ‘ Монету викарбувано в III столiттi. ’; d1 = ‘ Монету викарбувано в IV столiттi. ’; e1 = ‘ Монету викарбувано в V столiттi. ’; var a,b,c,d,e : boolean;
function answer: boolean; begin answer := (not (a)) and (e) and (b) and (not(c)) and (not a) and (not d); end;
begin clrscr; for a := false to true do for b := false to true do for c := false to true do for d := false to true do for e := false to true do begin if answer = true then begin writeln(a,‘ ’,b,‘ ’,c,‘ ’,d,‘ ’,e,‘ ’,answer); if a = true then writeln(a1); if b = true then writeln(b1); if c = true then writeln(c1); if d = true then writeln(d1); if e = true then writeln(e1); end; end; writeln; readln; end. Перед тим, як перейти до наступної задачі, спробуйте задати функцію answer таким чином, щоб в ній не було готового результату, а були лише дані, що отримуються на підставі аналізу умови задачі. Розглянемо ще одну задачу такого типу. Вона буде цікавою ще й тим, що ми введемо нову логічну операцію, яка в мові Паскаль не визначена. Задача 150. Повернувшись додому, комісар Мегре подзвонив на набережну Орфевр. – Говорить Мегре. Є новини? – Так, шеф. Надійшли повідомлення від інспекторів. Торранс встано-вив, що якщо Франсуа був напідпитку, то або Етьєн вбивця, або Франсуа каже неправду. Жусьє вважає, що або Етьєн вбивця, або Франсуа не був напідпитку і вбивство відбулось вночі. Інспектор Люка просив передати вам, що якщо вбивство відбулось вночі, то або Етьєн вбивця, або Франсуа каже неправду. Потім подзвонила... – Гаразд. Дякую. Цього достатньо. – комісар поклав слухавку. Він знав, що тверезий Франсуа ніколи не каже неправду. Тепер він знав все. Розв’язання: Задачі такого типу є досить цікавими, але рідко розглядаються в шкільному курсі інформатики. Для того, щоб постаратись зацікавити вас алгеброю логіки, при розв’язуванні даної задачі введемо ще одну логічну операцію, яку не реалізовано в мові Паскаль – imp (implementation). Прості висловлення записані, як і в попередній задачі, у вигляді констант. program logic2; uses crt; const a1 = ' Франсуа був не тверезим. '; a2 = ' Етьен - вбивця. '; a3 = ' Франсуа каже неправду. '; a4 = ' Вбивство вiдбулось вночi. '; var a,b,c,d,m : boolean; Операція imp призначена для реалізації наступної логічної операції над двома логічними змінними a,b: a imp b = falseтоді і тільки тоді, коли a=trueіb=false, у всіх інших випадках a imp b = true. В застосуванні до умови нашої задачі це звучить так: «якщо Франсуа був напідпитку, то або Етьєн вбивця, або Франсуа каже неправду» і записується на мові алгебри логіки так: А Ю (В Ъ С) = 1 Зверніть увагу, що ми примінили дану операцію до трьох змінних, об’єднавши дві з них у складне висловлення ( (В Ъ С) = 1). Тепер спробуйте самостійно записати на мові алгебри логіки умову задачі, якщо у вас виникнуть труднощі, то розберіться з функцією answer, в якій і записано повністю умову задачі, без жодних спрощень складних логічних виразів. Зверніть при аналізі розв’язку увагу саме на той факт, що використавши нову логічну операцію ми позбавились від необхідності виконувати логічні дії самостійно. function imp(a,b:boolean):boolean; begin if (a=true) and (b=false) then imp:=false else imp := true; end; function answer : boolean; begin m := b or c; answer := ( (imp(a,m)) and (b or (not(a) and d)) and (imp(d,m))) and (not (a) and (not (c))); end; begin clrscr; for a := false to true do for b := false to true do for c := false to true do for d := false to true do if answer = true then begin writeln(a,' ',b,' ',c,' ',d,' ',f); if a = true then writeln(a1); if b = true then writeln(a2); if c = true then writeln(a3); if d = true then writeln(a4); end; writeln; readln; end.
Читайте також:
|
||||||||
|