При всем кажущемся разнообразии заданий 15 (числовые отрезки, делимость, конъюнкция и пр.) все они сводятся к поиску значения параметра A, для которого указанное логическое выражение истинно (или ложно) для всех значений переменной x. А потому и решать все типы этого задания мы будем практически одинаково.
Рекомендую следующий порядок действий:
1). Вводим более короткие и понятные обозначения
Это очень важный шаг, поскольку исходное выражение может быть громоздким, преобразовать его без ошибок очень сложно.
2). Приводим выражение к виду P(x) ∨ A(x) = 1
Используя приведенные ниже законы алгебры логики преобразуем исходное выражение в логическую сумму P(x) – выражение с известными значениями и A(x) – выражение с искомым параметром.
3). Заменяем исходное выражение эквивалентной системой
Если P(x) = 1, то логическая сумма P(x) ∨ A(x) принимает значение 1 при любом A(x) и мы не сможем его найти. Если P(x) = 0, то логическая сумма P(x) ∨ A(x) принимает значение 1 только при A(x) = 1.
4). Решаем уравнение P(x) = 0
Т.е. находим множество значений переменной х, для которых выполняется условие этого уравнения.
5). Подставляем решение первого уравнения в уравнение A(x) = 1 и находим значение A.
Можно решить эту задачу программным способом. Для этого напишем программу, которая:
1). В цикле перебирает достаточно большой диапазон возможных значений параметра A.
2). Во вложенном цикле для каждого из значений A перебирает достаточно большой диапазон значений переменной x (или переменных x, y) и подставляет в исходное выражение.
3). Если выражение принимает значений 1 для всех значений x (или переменных x, y), программа делает вывод, что текущее значение A «хорошее».
4). Из «хороших» значений A выбирает удовлетворяющее условию задачи (наибольшее, наименьшее).
Логическим операциям соответствуют следующие операции в языках программирования: