Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
8 / 12 / 3
Регистрация: 18.08.2009
Сообщений: 487
1

Законы Моргана

03.03.2010, 19:10. Просмотров 2614. Ответов 4
Метки нет (Все метки)

У Дейтлов есть задачка

Не пойму, как !(условие1 && условие2) может быть эквивалентно (!условие1 || !условие2)? Первое сбудется, если и условие1, и условие2 не заданы. А второе, если не задано либо усл.1, либо усл.2. И со вторым та же история.
0
Миниатюры
Законы Моргана  
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.03.2010, 19:10
Ответы с готовыми решениями:

Законы логики
Почему НЕ А , нельзя выразить через дизъюнкцию и импликацию

Реализовать законы Кеплера и Ньютона на С++
Есть идея реализовать законы Кеплера и Ньютона на С++, с визуализацией, для примитивных расчётов...

Какую часть занимают законы физики в C++ ?
Я новичок. Мне интересно. Часто ли вам приходится выстраивать формулы законов физики. Т.е. много ли...

Создание программы для упрощения логических выражений используя законы алгебры логики
Я не прошу сразу написать мне всю работу Я действительно не знаю с чего начать Хочу поговорить с...

4
Псевдо программист
192 / 113 / 37
Регистрация: 19.09.2009
Сообщений: 303
03.03.2010, 19:23 2
тренируйте логику.
!(условие1 && условие2) возвращает истину если
не выполнились условия 1 или 2, т.е. не выполнилось либо 1е либо 2е, либо оба.
откуда следует эквивалентность выражений
0
Эксперт С++
2331 / 1704 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
03.03.2010, 19:25 3
fs444, пусть условие1 и условие2 истинны, т.е. равны true.
Получаем:
!(true && true) = !(true) = false
(!true|| !true) = (false || false) = false

Пусть теперь оба условия ложны, т.е. равны false.
Получаем:
!(false && false) = !(false) = true
(!false || !false) = (true || true) = true

Пусть теперь условие1 истинно, а условие2 ложно.
Получаем:
!(true && false) = !(false) = true
(!true || !false) = (false || true) = true


Как мы видим, во всех трех случаях выражения !(условие1 && условие2) и (!условие1 || !условие2) эквивалентны.

А вообще, как мне кажется, закон Моргана не стоит того, чтобы его знать программисту, мало вероятно что тебе он когда-нибудь понадобиться.
0
8 / 12 / 3
Регистрация: 18.08.2009
Сообщений: 487
03.03.2010, 19:43  [ТС] 4
тренируйте логику


пусть условие1 и условие2 истинны, т.е. равны true.
Получаем:
!(true && true) = !(true) = false
(!true|| !true) = (false || false) = false
Пусть теперь оба условия ложны, т.е. равны false.
Получаем:
!(false && false) = !(false) = true
(!false || !false) = (true || true) = true
Пусть теперь условие1 истинно, а условие2 ложно.
Получаем:
!(true && false) = !(false) = true
(!true || !false) = (false || true) = true
Ну да, точно

закон Моргана не стоит того, чтобы его знать программисту
Возможно. Наверное, Дейтлы просто решили, что выполнить его полезно для развития определенного образа мышления.
0
8 / 12 / 3
Регистрация: 18.08.2009
Сообщений: 487
15.03.2010, 23:00  [ТС] 5
С помощью ваших подсказок решил приведенные Дейтлами уравнения так:
!(условие1 && условие2) == (!условие1 || !условие2)
!(условие1 || условие2) == (!условие1 && !условие2)

а) !(x < 5) && !(y >= 7) == !((x < 5) || (y >= 7))
б) !(a == b) || !(g != 5) == !((a == b) && (g != 5))
в) !((x <= 8) && (y > 4)) == (!(x <= 8) || !(y > 4))
г) !((i > 4) || (j <= 6)) == (!(i > 4) && !((j <= 6)))
Далее написано, что надо написать программу, которая показала бы эквивалентность первоначальных и новых выражений. Это, я так понимаю, надо ввести в нее значения х, у и других букв, а потом вывести что то вроде
При х = 3 и у = 5 (x < 5) = true, (y >= 7) = false.
!(x < 5) && !(y >= 7) = !true && !false = false && true = false
!((x < 5) || (y >= 7)) = !(true || false) = !true = false
Да?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.03.2010, 23:00

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Когда при вещественной машинной арифметики будут законы ассоциативности и дистрибутивности нарушаться
Когда при вещественной машинной арифметики не выполняются эти законы. (х + у) + z== x + (y + z) ...

Множества, законы Де Моргана
Доброго времени суток, уважаемые специалисты. Просветите тёмный лес. Задание: 1) Ознакомиться с...

Как доказать законы де Моргана, используя свойства и аксиомы?
!(x1x2)=!x1+!x2, где ! - знак отрицания. спасибо за помощь

Де-Моргана формулы
здрасти! а можно вот такое выражение (x+|y+|a+|b+c)*(|x+y+|a+|b+|c) упростить до |a+|b ? (| -...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.