1. Заметим, что первый вариант дает в результате 0 во всех случаях, так как конъюнкция ложна, если ложен хотя бы один из её аргументов, а это не соответствует значениям F.
2. Выражение в варианте 2, как и в варианте 4, принимает ложные значения, если X не эквивалентно Z, а значит, по первой и третьей строчке и 2, и 4 вариант удовлетворяют F.
3. Остается сравнить их по второй строке, в которой F – истинно. В этой строке X=0, Y=1, Z=0, значит, выражение в варианте 2 здесь истинно.
4. Так как значения F и значения функции в варианте 2 сошлись по всем трем строкам, вариант 2 является ответом к данной задаче.
Объяснение:
n = 15;
var
a:array[1..n] of integer;
i,sp,sn: integer;
begin
Randomize;
Writeln('Элементы массива');
sp:=0; sn:=0;
for i := 1 to n do
begin
a[i] := Random(51)-25;
Write(a[i]:4);
if a[i]<0 then sn:=sn+a[i]
else sp:=sp+a[i]
end;
Writeln;
Writeln('Частное: ',sp/abs(sn))
end.
Тестовое решение:
Элементы массива
2 -25 0 5 24 4 3 1 12 13 10 1 6 13 -17
Частное: 2.23809523809524
Вариант со вводом данных с клавиатуры:
const
n = 15;
var
a:array[1..n] of integer;
i,sp,sn: integer;
begin
Writeln('Вводите через пробел элементы массива');
sp:=0; sn:=0;
for i := 1 to n do
begin
Read(a[i]);
if a[i]<0 then sn:=sn+a[i]
else sp:=sp+a[i]
end;
Writeln('Частное: ',sp/abs(sn))
end.