Var s: string; m,pk: real; a: array[1..20] of real; i,k,n: integer; begin write('введите число в системе счисления с основанием [2; 16]: '); readln(s); n: =length(s); for i: =1 to n do begin if s[i] in ['0'..'9'] then a[i]: =ord(s[i])-ord('0') else if s[i] in ['a'..'f'] then a[i]: =ord(s[i])-ord('a')+10 else if s[i] in ['a'..'f'] then a[i]: =ord(s[i])-ord('a')+10 else begin writeln('символ ',s[i],' недопустим! '); exit end end; write('введите основание системы счисления: '); read(k); if (k< 2) or (k> 16) then begin writeln('такое значение недопустимо! '); exit end; m: =a[n]; pk: =k; for i: =n-1 downto 1 do begin m: =m+a[i]*pk; pk: =pk*k end; writeln('десятичный эквивалент введенного числа равен ',m) end. тестовое решение введите число в системе счисления с основанием [2; 16]: 4e32ca введите основание системы счисления: 16 десятичный эквивалент введенного числа равен 5124810
Матвеев
14.04.2020
Var s, s2: string; function one(s: string): integer; var i, c: integer; begin c : = 0; for i : = 1 to length(s) do if (s[i] = '1') then c : = c + 1; result : = c; end; begin writeln('введите первое число: '); readln(s); writeln('введите второе число: '); readln(s2); if(one(s) > one(s2)) then write('в первом числе больше единиц') else write('во втором числе больше единиц'); end.
2-двухзначные
3-натуральные
1-однозначные
новерно так