Const
count=20;
Type
Vect = array[1..count] of integer;
Var
a:vect=(9,11,12,3,19,1,5,17,10,18,3,19,17,9,12,20,20,19,2,5);
i,j,M:integer;
begin
{Сортировка методом «пузырька»}
for i:=2 to count do
for j:=count downto i do
if a[j-1]<a[j] then begin {перестановка элементов}
M:=a[j-1];
a[j-1]:=a[j];
a[j]:=M;
end;
For i:=1 to count do
Writeln(a[i]);
end;
Метод основан на том, что в процессе исполнения алгоритма более «легкие» элементы массива «всплывают». Особенностью данного метода является сравнение, а потом и перестановка соседних элементов. При таком подходе на первом шаге внешнего цикла самый большой элемент окажется самым первым, на втором шаге самый большой из оставшихся окажется вторым и т.д.