Программа запрашивает число в шестнадцатеричной системе счисления, после чего переводит его в десятичную систему.
Решение:
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
program characters_and_strings_10;
uses crt; var hex_str: string; i, x, n, _int: integer; dec: real; begin clrscr; randomize; write(‘Введите число в ШС > ‘); read(hex_str); dec:=0; x:=0; n:=length(hex_str); for i:=n downto 1 do begin _int:=ord(hex_str[i]); if (_int>47) and (_int<58) then dec:=dec+(_int—48)*(exp(ln(16)*x)) else if (_int>64) and (_int<71) then dec:=dec+(_int—55)*(exp(ln(16)*x)) else begin write(‘Error ‘); exit end; x:=x+1; end; write(hex_str,‘ в десятичной СС = ‘, dec); readkey; end. |