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
// PascalABC.NET 3.2, сборка 1344 от 22.11.2016 // Внимание! В других версиях работа не гарантируется! begin var a:=ArrRandom(15,-20,20); a.Println; a:=a.Select(x->x.IsOdd?x*3:x div 2).ToArray; a.Println end.
А вот так это же самое обычно делают в школах... const n=15; var a:array[1..n] of integer; i:integer; begin Randomize; for i:=1 to n do begin a[i]:=Random(41)-20; Write(a[i],' ') end; Writeln; for i:=1 to n do begin if a[i] mod 2=0 then a[i]:=a[i] div 2 else a[i]:=a[i]*3; Write(a[i],' ') end; Writeln 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