По теме из базы знаний
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(4)
Тут загвоздка в другом: в приоритете выполнения операций. Если предположить, что логические операции выполняются слева направо, то итоговое выражение будет таким:
С ИЛИ НЕ D ИЛИ НЕ F И НЕ A И НЕ B
То есть, сначала будут вычислены все ИЛИ, а потом - все И. Но в разных языках программирования это может дать разные результаты.
Если раскрыть последние скобки, то получится - НЕ A И НЕ B И С И НЕ D И НЕ F
но это не правильно
Конечно. неправильно: перед этими последними скобками нет "НЕ".
но это не правильно
Тут загвоздка в другом: в приоритете выполнения операций. Если предположить, что логические операции выполняются слева направо, то итоговое выражение будет таким:
С ИЛИ НЕ D ИЛИ НЕ F И НЕ A И НЕ B
То есть, сначала будут вычислены все ИЛИ, а потом - все И. Но в разных языках программирования это может дать разные результаты.
(5) логические выражения имеют фиксированный приоритет: НЕ > И > ИЛИ, вне зависимости от языка программирования.
При этом, чтобы было легче представлять этот приоритет, можно провести аналогию: НЕ = "-", И = "*", ИЛИ = "+". Тогда раскрыть скобки станет очень просто:
НЕ A И НЕ B И (С ИЛИ НЕ D ИЛИ НЕ F) = НЕ A И НЕ B И С ИЛИ НЕ A И НЕ B И НЕ D ИЛИ НЕ A И НЕ B И НЕ F
При этом, чтобы было легче представлять этот приоритет, можно провести аналогию: НЕ = "-", И = "*", ИЛИ = "+". Тогда раскрыть скобки станет очень просто:
НЕ A И НЕ B И (С ИЛИ НЕ D ИЛИ НЕ F) = НЕ A И НЕ B И С ИЛИ НЕ A И НЕ B И НЕ D ИЛИ НЕ A И НЕ B И НЕ F
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот