ОТДЕЛ Задание+;
ИСПОЛЬЗУЕТ Вывод ИЗ "...\Отделы\Обмен\", Приём;
ПЕР
число: ЦЕЛ;
шестн: РЯД 32 ИЗ ЗНАК;
сч: ЦЕЛ;
зн: ЗНАК;
ЗАДАЧА ШестнЦифра(цифра: ЦЕЛ): ЗНАК;
УКАЗ
ЕСЛИ цифра < 10 ТО ВОЗВРАТ ВЗНАК(ВЦЕЛ("0") + цифра)
ИНАЧЕ ВОЗВРАТ ВЗНАК(ВЦЕЛ("A") - 10 + цифра) КОН
КОН ШестнЦифра;
УКАЗ
число := Приём.Число();
шестн := "";
Вывод.Цепь("^");
ПОКА число > 0 ВЫП
шестн[ДЛИНА(шестн) + 1] = 0X;
шестн[ДЛИНА(шестн)] = ШестнЦифра(число ОСТАТОК 16);
число := число ДЕЛИТЬ 16
КОН;
ОТ сч := 0 ДО ДЛИНА(шестн) - 1 ВЫП
зн := шестн[сч];
шестн[сч] := шестн[ДЛИНА(шестн) - 1 - сч];
шестн[ДЛИНА(шестн) - 1 - сч] := зн
КОН;
Вывод.Цепь(шестн)
КОН Задание.