вот самый короткий способ с рандомным массивом, про ввод тут не совсем понятно //PascalABC.Net 3.1.0.1200begin var a := ArrRandomInteger(ReadInteger('m ='), 1, 20); var s := a.Sum; if s > 50 then writeln(s) else Println(a);end.вот переделанный ваш код//PascalABC.Net 3.1.0.1200Uses crt;const nmax = 20;var A: array[1..nmax] of integer; I, m, s: integer; Am, kon: text;begin Clrscr; Assign(Am, 'Am.txt'); {раскоментировать для записи массива в файл} {Rewrite(Am); m := Random(nmax - 5) + 5; for i := 1 to m do Writeln(Am, Random(20)); Close(Am); {считывание данных из файла} Reset(Am); s := 0; m := 0; while not eof(Am) do begin m := m + 1; Readln(Am, A[m]); s := s + A[m]; end; Close(Am); Assign(kon, 'kon.txt'); Rewrite(kon); if s > 50 then Writeln('Сумма элементов массива более 50 и равна: s=', s) Else begin Writeln('Сумма элементов менее 50, вывод исходного массива'); for i := 1 to m do begin Writeln('A[', i, ']=', A[i], ' '); Writeln(kon, 'A[', i, ']=', A[i], ' '); end; end; Close(kon); Readkey;end.