Самый быстрый и легкий способ - логически порассуждать, применив правила алгебры логики (АЛ).
Запишем в немного упрощенном виде:
¬(a + b) * c.
Наше выражение состоит из отрицания первой части, в которой есть два слагаемых (ИЛИ = "+"), и умножения (И = "*") первой и второй частей. Так как нам нужно найти наборы, которые дают ложь, то проще всего будет посчитать вторую часть, которая будет ложна.
Вспомним правила АЛ:
0*0 = 0;
1*0 = 0;
0*1 = 0;
1*1 = 1;
Итого видим, что только в одном случае выражение дает истину - 1*1, чего нам стоит избегать.
Итак, попробуем решить вторую часть методом перебора:
![Y^2 > |X+Y|.](https://tex.z-dn.net/?f=+Y%5E2+%3E+%7CX%2BY%7C.+)
1)
- истина.
2)
- истина.
3)
- ложь.
4)
- ложь.
5)
- истина.
Итого в ответ идут два выражения: 3, 4.
Для достоверности нужно проверить истинные выражения, подставив в первую часть (на случай, если будет "0*1").
Для этого упростим.
¬(a+b) = ¬a * ¬b.
![(4x^2 + 9y^2 < 36) * ((x + y)^2 < 4)](https://tex.z-dn.net/?f=+%284x%5E2+%2B+9y%5E2+%3C+36%29+%2A+%28%28x+%2B+y%29%5E2+%3C+4%29+)
1)
- истина.
2)
- ложь
5)
- истина.
Так как во втором выражении вышла ложь, то оно тоже пойдет в ответ (0*1 = 0).
Ответ: 2, 3, 4.
Здесь все 3 примера в одной программе:
program Primer;
var
x, y, z: Real;
begin
Write('Введите значения x,y,z: ');
ReadLn(x, y, z);
WriteLn('1: ', (x + y - z) / (sqr(x) + 2), #10, '2: ', 5 * (2 * x - z) / (3 + sqr(y)), #10, '3: ', (1 + z) * ((x + y / (sqr(x) + 4)) / (2 + 1 / (sqr(x) + 4))));
end.