• Всех приветствую! Если Вам не сложно, то хотел бы попросить помочь. Задачу необходимо решить на ЯП Pascal с использованием подпрограмм, если можно, то с комментариями переменных и некоторых функций. Нужно сделать программу, в которой при помощи case можно выбрать систему, из который будет совершаться перевод, а потом аналогично через case выбрать систему,
    в которую нужно перевести. Системы счисления: 2, 8, 10 и 16. Заранее спасибо.

Ответы 6

  • Какое число перевести? 2018Исходное и результирующее основания: 11 182018(11) = 84I(18)
    • Автор:

      amiuerg
    • 6 лет назад
    • 0
  • Но вот исходное число не должно содержать цифр, отличных от 0..9
  • Поправил. Можно переводить между системами с любыми основаниями от 2 до 16 в обе стороны.
    • Автор:

      ajaxs2r0
    • 6 лет назад
    • 0
  • Большое спасибо!
  • Пожалуйста. Если допишете var s:='0123456789ABCDEF'; до Z, сможете расширить диапазон оснований систем до 36.
    • Автор:

      giselle
    • 6 лет назад
    • 0
  • // PascalABC.NET 3.3, сборка 1625 от 17.01.2018// Внимание! Если программа не работает, обновите версию!function aToDec(n:string;k:integer):integer;// Перевод из системы по основанию k в десятичнуюbegin  var s:='0123456789ABCDEF';  Result:=0;  var pa:=1;  for var i:=Length(n) downto 1 do begin    Result+=pa*(Pos(n[i],s)-1);    pa*=k    endend;function DecToa(n,k:integer):string;// Перевод из десятичной системы в систему по основанию kbegin  Result:='';  while n>0 do begin    var r:=n mod k;    if r<10 then Result:=r+Result    else Result:=Chr(Ord('A')+r-9)+Result;    n:=n div k    endend;function AtoB(s:string;A,B:integer):string;// Перевод из системы по основанию A в систему по основанию Bbegin  Result:=DecToa(aToDec(s,A),B)end;    begin  var n:=ReadlnString('Какое число перевести?');  var (a,b):=ReadInteger2('Исходное и результирующее основания:');  Writeln(n,'(',a,') = ',AtoB(n,a,b),'(',b,')');end.ПримерКакое число перевести? 2018Исходное и результирующее основания: 10 162018(10) = 7E2(16)
    • Автор:

      mara
    • 6 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

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

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

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