Ответ:
В пункте в) правая граница отрезка на фотографии обрезана. Ниже приведён вариант программы при условии, что требуется найти минимум на отрезке [a, b]. Если граница или включённость концов в исходном условии другие, соответствующее сравнение нужно изменить.
Сначала вводятся количество элементов, границы a и b и элементы массива. В пункте а) складываются модули отрицательных элементов; в пункте б) считаются элементы вне открытого интервала (a, b); в пункте в) ищется минимум среди элементов отрезка [a, b]; в пункте г) считаются элементы, равные первому.
program ArrayTasks;
var
N, I, OutsideCount, EqualFirstCount: Integer;
A, B, NegativeAbsSum, X, MinInSegment: Real;
HasElement: Boolean;
Arr: array of Real;
begin
ReadLn(N);
ReadLn(A, B);
SetLength(Arr, N);
for I := 0 to N - 1 do
Read(Arr[I]);
ReadLn;
NegativeAbsSum := 0;
OutsideCount := 0;
EqualFirstCount := 0;
HasElement := False;
for I := 0 to N - 1 do
begin
X := Arr[I];
if X < 0 then
NegativeAbsSum := NegativeAbsSum - X;
if (X <= A) or (X >= B) then
OutsideCount := OutsideCount + 1;
if (X >= A) and (X <= B) then
begin
if not HasElement or (X < MinInSegment) then
MinInSegment := X;
HasElement := True;
end;
if X = Arr[0] then
EqualFirstCount := EqualFirstCount + 1;
end;
WriteLn('а) ', NegativeAbsSum:0:2);
WriteLn('б) ', OutsideCount);
if HasElement then
WriteLn('в) ', MinInSegment:0:2)
else
WriteLn('в) В отрезке [a, b] элементов нет');
WriteLn('г) ', EqualFirstCount);
end.Для пункта б) элементы, равные a или b, считаются не принадлежащими интервалу, поскольку интервал открыт. В пункте в) границы включены согласно принятому условному прочтению отрезка [a, b].
