1) Если x^3 < 10, то (x+1)^3 > 20. Это верно при x = 2. 2^3 < 10, 3^3 > 20 2) Если x(x+1) > 10, то (x+1)(x+2) < 10. Это верно при x = -4 (-4)(-3) = 12 > 10; (-3)(-2) = 6 < 10 Но при x = 2 будет ложная посылка (2*3 > 10 - это ложно), из которой следует ложный вывод 3*4 < 10. Поэтому импликация верна. ответ x = 2 3) Если x(x+1)(x+2) > 25, то x < x-1 Это сложнее. x < x-1 - ложно при любом х. Импликация будет истинной, только если посылка ложная. x(x+1)(x+2) > 25 - должно быть ложно. Это при x = 2. x(x+1)(x+2) = 2*3*4 = 24.
2^3 < 10, 3^3 > 20
2) Если x(x+1) > 10, то (x+1)(x+2) < 10. Это верно при x = -4
(-4)(-3) = 12 > 10; (-3)(-2) = 6 < 10
Но при x = 2 будет ложная посылка (2*3 > 10 - это ложно),
из которой следует ложный вывод 3*4 < 10.
Поэтому импликация верна. ответ x = 2
3) Если x(x+1)(x+2) > 25, то x < x-1
Это сложнее. x < x-1 - ложно при любом х.
Импликация будет истинной, только если посылка ложная.
x(x+1)(x+2) > 25 - должно быть ложно. Это при x = 2.
x(x+1)(x+2) = 2*3*4 = 24.
// PascalABC.NET 3.1, сборка 1174 от 22.02.2016
begin
Writeln(Range(1,100).Select(i->sin(i)*cos(i)).Where(x->x<>0).Average)
end.
Тестовое решение:
-0.00136006072493969
2. А вот так учат писать это же школьные учителя:
// PascalABC.NET 3.1, сборка 1174 от 22.02.2016
var
m:array[1..100] of real;
i,k:integer;
s:real;
begin
s:=0;
k:=0;
for i:=1 to 100 do begin
m[i]:=sin(i)*cos(i);
if m[i]<>0 then begin
s:=s+m[i];
k:=k+1
end
end;
Writeln(s/k)
end.
Тестовое решение:
-0.00136006072493969