(*~\Глагол\Приложения\Упорядочивание\~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*)
(**)                           ОТДЕЛ Вставкой;
(*============================================================================*
 * НАЗНАЧЕНИЕ: упорядочивание ряда простой вставкой
 *============================================================================*)

(*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*)
ЗАДАЧА Упорядочить-(ряд+:РЯД ИЗ ЦЕЛ);
(*
 * Цель:  упорядочивание ряда целых чисел простой вставкой
 * До:    <ряд> - исходный ряд
 * После: <ряд> - упорядоченный ряд
 *)
ПЕР
  число:ЦЕЛ;     (* обрабатываемое число *)
  позНеуп:ЦЕЛ;   (* до этой позиции ряд уже упорядочен *)
  позВставки:ЦЕЛ;(* позиция вставки для обрабатываемого числа *)
  поз:ЦЕЛ;
УКАЗ
  ОТ позНеуп:=1 ДО РАЗМЕР(ряд)-1 ВЫП
    число:=ряд[позНеуп];
    (* ищем прямым перебором позицию вставки *)
    позВставки:=0;
    ПОКА число < ряд[позВставки] ВЫП
      УВЕЛИЧИТЬ(позВставки)
    КОН;
    (* раздвигаем в этом месте ряд *)
    ОТ поз:=позНеуп-1 ДО позВставки ПО -1 ВЫП
      ряд[поз+1]:=ряд[поз]
    КОН;
    (* вставляем туда число *)
    ряд[позВставки]:=число
  КОН
КОН Упорядочить;

КОН Вставкой.
