{сортировка простым включением}
procedure Straight_Insertion;
 var i,j:index; x:integer;
 begin
  for i:=2 to n do
   begin x:=a[i];
    {поиск подходящего места а[j]}
    {включение х}
    a[j+1]:=x
   end
 end;{Straight_Insertion}

 {поиск подходящего места j=1...i}
 {простой поиск}
 j:=i-1;
 while (f(x)<f(a[j])) and (j>=1) do
 {сдвиг элемента вправо}


{ поиск подходящего места j=1...i}
{ поиск с барьером в a[0]}
{a : array [0..n] of integer}
j:=i-1;
a[0]:=x;
while f(x) < f(a[j]) do
 {сдвиг элемента вправо}
		
{сдвиг элемента вправо}
a[j+1]:=a[j]; j:=j-1