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

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

КОН Обменом.
