В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
LisuNYfka3
LisuNYfka3
12.01.2022 12:40 •  Информатика

На языке паскаль написать программу производящую перевод из десятичной системы счисления в шестнадцатиричную и обратно. с выбором операции.

Показать ответ
Ответ:
pestowasonya
pestowasonya
12.06.2020 12:20

var

a : integer;
flag : byte;
s : string;

function HexToDec (s : string) : integer;
var
i, d, dig : integer;
res : integer;
begin
d := 1;
res := 0;
for i := length (s) downto 1 do
begin
dig := ord (s[i]);
if dig < 58 then res := res + (dig - 48) * d
else res := res + (dig - 55) * d;
d := d * 16;
end;
HexToDec := res;
end;

function DecToHex (a : integer) : string;
var
dig : integer;
c : char;
res : string;
begin
res := '';
repeat
dig := a mod 16;
if dig < 10 then c := chr (dig + 48)
else c := chr (dig + 55);
res := res + c;
a := a div 16;
until a = 0;
DecToHex := res;
end;

function Revert (s : string) : string;
var
i : integer;
r : string;
begin
r := '';
for i := length (s) downto 1 do
r := r + s[i];
Revert := r;
end;

begin
writeln ('Введите систему счисления, в которую переводим');
readln (flag);
if (flag = 16) then
begin
writeln ('Введите число в десятичной системе счисления');
readln (a);
writeln (Revert (DecToHex (a)));
end
else if (flag = 10) then
begin
writeln ('Введите число в шестнадцатиричной системе счисления');
readln (s);
writeln (HexToDec (s));
end
else writeln ('Ошибка : неверная система счисления');
readln;
end.

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота