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

На языке паскаль написать программу производящую перевод  из десятичной системы счисления в шестнадцатиричную и обратно. с выбором операции.
Гость
Ответ(ы) на вопрос:
Гость
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.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы