• Помогите, пожалуйста! Нужно написать программу, которая будет переводить из любой системы счисления в десятеричную. И должны присутствовать mod и div, желательно покороче!

Ответы 1

  • 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
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years