<em><u>Современное решение:</u></em>
// PascalABC.Net 3.0, сборка 1066
begin
var k:=ReadInteger('Количество элементов в массиве: ');
var a:=ArrRandom(k,-25,25);
Writeln('Сгенерированный массив: ',a);
Writeln('Сумма четных элементов равна ',a.Where(x->x mod 2=0).Sum)
end.
<em><u>Тестовый прогон:</u></em>
Количество элементов в массиве: 15
Сгенерированный массив: [6,18,19,20,12,-20,7,19,-17,10,14,-25,10,-11,-13]
Сумма четных элементов равна 70
Дана последовательность, состоящая из 10 чисел [7, 3, 10, 9, 8, 4, 1, 6, 2, 5]. Вы умеете за один ход поменять в ней местами два
Waln
Const
a: array of integer = (7, 3, 10, 9, 8, 4, 1, 6, 2, 5);
begin
var n := 0;
var found := false;
repeat
found := false;
for var i := low(a) to High(a) - 1 do
if a[i] > a[i + 1] then begin
swap(a[i], a[i + 1]);
found := true;
n := n + 1;
end;
until not found;
writeln('Swaps = ', n);
end.
Ответ
Swaps = 30
Вот программа на ABC Pascal
program progress;
var a,n,i,sum:integer;
begin cls;
write('Введите первый член прогрессии a1 = ');
readln(a);
write('Введите длину последовательности (сколько элементов) ');
readln(n);
sum:=a;
write(a,' ');
for i:=2 to n do begin
a:=a+3;
write(a,' ');
sum:=sum+a
end;
writeln;
write('Сумма ',n,' элементов прогрессии равна ',sum)
end.
Ответ:
{с клавиатуры вводится число a, до тех пор, пока не будет введен 0. Начальное введенное a записывается в min и max, чтобы потом в цикле было с чем сравнивать}
var
min,max,a:real;
begin
readln(a);
min:=a;max:=a;
while a<>0 do
begin
readln(a);
if a>max then
max:=a;
if a<min then
min:=a;
end;
writeln('min: ',min,' max: ',max);
end.