ПЕР число: ЦЕЛ; шестн: РЯД 32 ИЗ ЗНАК; сч: ЦЕЛ; зн: ЗНАК;
ЗАДАЧА ШестнЦифра(цифра: ЦЕЛ): ЗНАК; УКАЗ ЕСЛИ цифра < 10 ТО ВОЗВРАТ ВЗНАК(ВЦЕЛ("0") + цифра) ИНАЧЕ ВОЗВРАТ ВЗНАК(ВЦЕЛ("A") - 10 + цифра) КОН КОН ШестнЦифра;
УКАЗ число := Приём.Число(); шестн := ""; Вывод.Цепь("^");
ПОКА число > 0 ВЫП шестн[ДЛИНА(шестн) + 1] = 0X; шестн[ДЛИНА(шестн)] = ШестнЦифра(число ОСТАТОК 16); число := число ДЕЛИТЬ 16 КОН;
// PascalABC.NET 3.1, сборка 1201 от 18.03.2016 begin var k:=0; var n:=ReadInteger(); var nmax:=0; while n<>0 do begin Inc(k); if n mod 10 = 0 then if n>nmax then nmax:=n; n:=ReadInteger() end; var cntrl:=ReadInteger(); Writeln('Получено ',k,' чисел'); Writeln('Полученное контрольное значение: ',cntrl); Writeln('Вычисленное контрольное значение: ',nmax); if cntrl=nmax then Writeln('Контроль пройден') else Writeln('Контроль не пройден') end.