Все написано правильно, пропуски только в операторе if. if (a < b) then (m1 := a) else (m1 := b); if (c < d) then (m2 := c) else (m2 := d); if (m1 > m2) them (m := m1) else (m := m2); writeln ('Максимальный из минимальных элементов: ', m:7:2); end. Для тестирования можно взять разные варианты: 1) a = 2, b = -2, c = 10, d = -3 (m1 = b = -2, m2 = d = -3, m = m1 = -2) 2) a = 6, b = 6, c = 3, d = 4 (m1 = b = 6, m2 = c = 3, m = m1 = 6) Почему m1 = b, а не = а? Потому что в программе строгое неравенство. Если a < b, то m1 = a, если же a >= b, то m1 = b. Хотя для нас это все равно, получаем в итоге одно и тоже число. 3) a = -7, b = -5, c = 8, d = 8 (m1 = a = -7, m2 = d = 8, m = m2 = 8) 4) a = 0, b = 0, c = 0, d = 0 (m1 = b = 0, m2 = d = 0, m = m2 = 0)
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.
Вариант со вводом данных с клавиатуры: 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.
if (a < b) then (m1 := a) else (m1 := b);
if (c < d) then (m2 := c) else (m2 := d);
if (m1 > m2) them (m := m1) else (m := m2);
writeln ('Максимальный из минимальных элементов: ', m:7:2);
end.
Для тестирования можно взять разные варианты:
1) a = 2, b = -2, c = 10, d = -3 (m1 = b = -2, m2 = d = -3, m = m1 = -2)
2) a = 6, b = 6, c = 3, d = 4 (m1 = b = 6, m2 = c = 3, m = m1 = 6)
Почему m1 = b, а не = а? Потому что в программе строгое неравенство.
Если a < b, то m1 = a, если же a >= b, то m1 = b.
Хотя для нас это все равно, получаем в итоге одно и тоже число.
3) a = -7, b = -5, c = 8, d = 8 (m1 = a = -7, m2 = d = 8, m = m2 = 8)
4) a = 0, b = 0, c = 0, d = 0 (m1 = b = 0, m2 = d = 0, m = m2 = 0)
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.