Program z2;
var b, t, x, y, z: real;
begin
b:= ...; //задаем b
z:=sqrt(abs(sin(abs(b))));
if(b>1) then t:=b*b
else t:=exp(b);
x:=(b*sqrt(z+1))/(t*z+1);
y:=b*ln(sqrt(x+t)+sqrt(x)) - sqrt(x*x+t*x);
writeln('y = ',y);
end.
Var max,min,i:integer; a:array [1..20] of integer; b:boolean;
begin
for i:=1 to 20 do
begin
b:=random(1);
if b then do a[i]:=-1*random(50) else a[i]:=random(50);
end;
max:=a[1];
min:=a[1];
for i:=2 to 20 do begin
if max<a[i] then max:=a[i];
if min>a[i] then min:=a[i];end;
for i:=1 to 20 do begin
if max=a[i] then writeln('Индекс максимального'i);
if min=a[i] then writeln('Индекс минимального'i);
end;
writeln('Максимальное'max);
writeln('Минимальное'min);
End.
Ответ:
Думаю, что трассировка будет такой:
1 | 70 | 2 | False
1 | 70 | 3 | False
1 | 70 | 4 | False
1 | 70 | 5 | False
1 | 70 | 6 | True
6 | 40 | 7 | False
6 | 40 | 8 | False
6 | 40 | 9 | False
6 | 40 | 10 | False
Объяснение:
Если есть по рукой компьютер, то просто запустить этот фрагмент кода в редакторе. Иначе аккуратно заполнять значения строчку за строчкой в таблице трассировки.
Вначале преобразуем второе слагаемое по закону де-Моргана. Потому что первое слагаемое никак нельзя упростить.
Получаем выражение, с которым можно обращаться по законам обычной алгебры
Дизъюнкция истинна всегда, кроме случая, когда оба значения переменных ложны, поэтому достаточно чтобы или x₁=1, или x₃=0. Или и то и другое одновременно.
Это реализуется для наборов x₁x₃ = 00 10 11 для любых x₂
1 2,5 килобайта 64X64X40:8 а дальше перевод в килобайты