Const n=20; var p:array[1..n] of integer; i,k,s:integer; begin Randomize; Writeln('Последовательность чисел'); for i:=1 to n do begin p[i]:=Random(51)-25; Write(p[i],' ') end; Writeln; k:=0; s:=0; i:=1; repeat if p[i]>0 then begin s:=s+p[i]; Inc(k) end; Inc(i); until (k=4) or (i>n); Writeln('Сумма первых четырех положительных чисел равна ',s) end.
Тестовое решение: Последовательность чисел -12 6 -21 5 -10 11 19 19 19 17 21 -4 -14 12 2 0 -20 10 17 -14 Сумма первых четырех положительных чисел равна 41
//PascalABC.NET (версия 3.1, сборка 1210 от 29.03.2016) const m = 10;
var t: array[1..m] of integer; i, n, nm, sm: integer;
begin //Заполняем массив сл.числами и подсчитываем //количество элементов и среднее арифметическое //согласно условию задачи for i := 1 to m do begin t[i] := random(-20, 20);write(t[i]:4); if (i > 1) and (i <= m) then if t[i] > t[i - 1] then n := n + 1 else if t[i] < t[i - 1] then begin sm := sm + t[i];nm := nm + 1; end; end; writeln; writeln('число элементов больших предыдущего = ', n); writeln('ср. арифметическое элементов меньших предыдущего = ', sm / nm);