Burizar 24 октября 2019 в 06:38

Напишите программу, которая переводит переданное её целое число (возможно, отрицательное) в шестнадцатеричный код. Используйте процедуру.
входные данные
255
выходные данные
FF

ОТДЕЛ Задание+;

ИСПОЛЬЗУЕТ Вывод ИЗ "...ОтделыОбмен", Приём;

ПЕР
  число: ЦЕЛ;
  шестн: РЯД 32 ИЗ ЗНАК;
  сч: ЦЕЛ;
  зн: ЗНАК;

ЗАДАЧА ШестнЦифра(цифра: ЦЕЛ): ЗНАК;
УКАЗ
  ЕСЛИ цифра lt; 10 ТО ВОЗВРАТ ВЗНАК(ВЦЕЛ("0") + цифра)
  ИНАЧЕ ВОЗВРАТ ВЗНАК(ВЦЕЛ("A") - 10 + цифра) КОН
КОН ШестнЦифра;

УКАЗ
  число := Приём.Число();
  шестн := "";
  Вывод.Цепь("^");

  ПОКА число gt; 0 ВЫП
    шестн[ДЛИНА(шестн) + 1] = 0X;
    шестн[ДЛИНА(шестн)] = ШестнЦифра(число ОСТАТОК 16);
    число := число ДЕЛИТЬ 16
  КОН;

  ОТ сч := 0 ДО ДЛИНА(шестн) - 1 ВЫП
    зн := шестн[сч];
    шестн[сч] := шестн[ДЛИНА(шестн) - 1 - сч];
    шестн[ДЛИНА(шестн) - 1 - сч] := зн
  КОН;

  Вывод.Цепь(шестн)

КОН Задание.
Для комментирования необходимо зарегистрироваться на сайте