begin var a:=ReadInteger('Введите a от 1 до 30:'); if a<1 then begin Writeln('Неверно'); Exit end; var b:=ReadInteger('Введите b от '+a.ToString+' до 30:'); if (b<a) or (b>30) then begin Writeln('Неверно'); Exit end; var P:=ArrFill(30,0); for var i:=a-1 to b-1 do P[i]:=2; P.Println end.
Пример Введите a от 1 до 30: 2 Введите b от 2 до 30: 10 0 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
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;
// Внимание! Если программа не работает, обновите версию!
1. Решение без проверки вводимых данных
begin
var a,b:integer;
Read(a,b);
var P:=ArrFill(30,0);
for var i:=a-1 to b-1 do P[i]:=2;
P.Println
end.
Пример
2 10
0 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2. Решение с контролем ввода
begin
var a:=ReadInteger('Введите a от 1 до 30:');
if a<1 then begin Writeln('Неверно'); Exit end;
var b:=ReadInteger('Введите b от '+a.ToString+' до 30:');
if (b<a) or (b>30) then begin Writeln('Неверно'); Exit end;
var P:=ArrFill(30,0);
for var i:=a-1 to b-1 do P[i]:=2;
P.Println
end.
Пример
Введите a от 1 до 30: 2
Введите b от 2 до 30: 10
0 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0