ОТДЕЛ ЗаданиеПроСортировку+;
ИСПОЛЬЗУЕТ Матем ИЗ "...\Отделы\Числа\";
ПОСТ
ДлинаМассива = 100;
ПЕР
массивы: РЯД 3 ИЗ РЯД ДлинаМассива ИЗ ЦЕЛ;
сч1, сч2: УЗКЦЕЛ;
ЗАДАЧА Вставкой(ряд+:РЯД ИЗ ЦЕЛ);
ПЕР
число:ЦЕЛ;
позНеуп:ЦЕЛ;
позВставки:ЦЕЛ;
поз:ЦЕЛ;
УКАЗ
ОТ позНеуп:=1 ДО РАЗМЕР(ряд)-1 ВЫП
число:=ряд[позНеуп];
позВставки:=0;
ПОКА число < ряд[позВставки] ВЫП
УВЕЛИЧИТЬ(позВставки)
КОН;
ОТ поз:=позНеуп-1 ДО позВставки ПО -1 ВЫП
ряд[поз+1]:=ряд[поз]
КОН;
ряд[позВставки]:=число
КОН
КОН Вставкой;
ЗАДАЧА Выбором(ряд+:РЯД ИЗ ЦЕЛ);
ПЕР
позВставки:ЦЕЛ;
позНеуп:ЦЕЛ;
число:ЦЕЛ;
поз:ЦЕЛ;
УКАЗ
ОТ позНеуп:=0 ДО РАЗМЕР(ряд)-2 ВЫП
позВставки:=позНеуп;
число:=ряд[позНеуп];
ОТ поз:=позНеуп+1 ДО РАЗМЕР(ряд)-1 ВЫП
ЕСЛИ число < ряд[поз] ТО
число:=ряд[поз];
позВставки:=поз
КОН
КОН;
ряд[позВставки]:=ряд[позНеуп];
ряд[позНеуп]:=число
КОН
КОН Выбором;
ЗАДАЧА Обменом(ряд+:РЯД ИЗ ЦЕЛ);
ПЕР
число:ЦЕЛ;
позНеуп:ЦЕЛ;
позОбмена:ЦЕЛ;
УКАЗ
ОТ позНеуп:=0 ДО РАЗМЕР(ряд)-2 ВЫП
ОТ позОбмена:=РАЗМЕР(ряд)-2 ДО позНеуп ПО -1 ВЫП
ЕСЛИ ряд[позОбмена] < ряд[позОбмена+1] ТО
число:=ряд[позОбмена];
ряд[позОбмена]:=ряд[позОбмена+1];
ряд[позОбмена+1]:=число
КОН
КОН
КОН
КОН Обменом;
УКАЗ
ОТ сч1 := 0 ДО 2 ВЫП
ОТ сч2 := 0 ДО ДлинаМассива - 1 ВЫП
массивы[сч1, сч2] := УЗК(ВШИРЦЕЛ(ЦЕЛЧАСТЬ(Матем.случ() * 21) - 20 * 2))
КОН
КОН;
Обменом(массивы[0]);
Выбором(массивы[1]);
Вставкой(массивы[2])
КОН ЗаданиеПроСортировку.