3) левый средний бегунок на линейке используется для a) установки выступа первой строки абзаца b) установки отступа слева абзаца c) для установки красной строки абзаца d) для установки левого поля
//Pascal var A: array [1 .. 5, 1 .. 4] of integer; V: array [1 .. 20] of integer; i, j, z: byte; SUM1, SUM2, SUM3, MIN: integer; begin randomize; writeln('***Сгенерированный массив***'); SUM1 := 0; SUM2 := 0; SUM3 := 0; for i := 1 to 5 do begin for j := 1 to 4 do begin A[i, j] := random(30); if ((A[i, j] >= 0) and (A[i, j] <= 5)) then SUM1 := SUM1 + A[i, j]; if ((A[i, j] >= 5) and (A[i, j] <= 15)) then SUM2 := SUM2 + A[i, j]; write(A[i, j]:6) end; writeln; end; writeln('Сумма элементов [0 5] = ', SUM1); writeln('Сумма элементов [5 15] = ', SUM2); MIN := A[3, 1]; for j := 1 to 4 do if A[3, j] < MIN then MIN := A[3, j]; writeln('Минимальный элемент в третьей строке = ', MIN); writeln('***Вектор***'); j := 1; z := 0; while (z < 20) do begin for i := 1 to 5 do begin z := z + 1; V[z] := A[i, j]; end; j := j + 1; end; for i := 1 to 20 do writeln(V[i]:6); for i := 20 downto 10 do SUM3 := SUM3 + V[i]; writeln('Сумма последних 10-ти элементов = ', SUM3); readln; end.
1. Современное решение (быстро, просто и легко) // PascalABC.NET 3.2, сборка 1439 от 09.05.2017 // Внимание! Если программа не работает, обновите версию!
begin Writeln('Ср.арифм: ',ReadSeqRealWhile(k->k>=0).Average:0:4) end.
Пример 23 11.7 0 12.9 16.7 13 -12 Ср.арифм: 12.8833
2. Школьный вариант в стиле "1983г." (Turbo Pascal 7.0)
uses Crt; var n:integer; x,a:real; begin a:=0; n:=0; repeat Read(x); if x>=0 then begin n:=n+1; a:=a+x end until x<0; a:=a/n; Writeln('Ср.арифм: ',a:0:4); ReadKey end.
здесь будет буква .А)