Сортировка по убыванию.

Метод пузырька.

  Program Pascal;

const n=20;

var a:array[1..n] of integer;

  i, j,c:integer;

begin

for i:=1 to n do

  begin

  a[i]:=random(90)+10;

  write(a[i]:5);

  end;

for i:=1 to n-1 do

  for j:=i+1 to n do

  if a[i]<a[j] then begin

  c:=a[i];

  a[i]:=a[j];

  a[j]:=c;

  end;

writeln;

for i:=1 to n do

write(a[i]:5);

writeln;

end.

Сортировка по возрастанию.

Метод сортировки выбором.

  Program Pascal;

const n=20;

var

a:array[1..n] of integer;

i, j,min, nmin:integer;

begin

  for i:=1 to n do

  begin

  a[i]:=random(90)+10;

  write(a[i]:5);

  end;

for i:=1 to n-1 do

  begin

  nmin:=i;

  for j:=i+1 to n do

  if a[j]<a[nmin] then nmin:=j;

  min:=a[i];

  a[i]:=a[nmin];

  a[nmin]:=min;

  end;

writeln;

for i:=1 to n do

write(a[i]:5);

writeln;

end.

Задача.

Дан целочисленный массив из 30 элементов. Элементы массива могут принимать произвольные целые значения. Опишите на русском языке или на одном из языков программирования алгоритм, который находит и выводит сумму наибольшей по длине возрастающей последовательности подряд идущих элементов. Если таких последовательностей несколько, можно вывести любую из них. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них.

const N=30;

var a: array [1..N] of integer;

  i, l, lmax, s, smax: integer;

begin

  for i:=1 to N do readln(a[i]);

  ...

end.