Всех приветствую! Если Вам не трудно, то хотел бы попросить посодействовать.

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

Задать свой вопрос
1 ответ
// 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
    end
end;

function DecToa(n,k:integer):string;
// Перевод из десятичной системы в систему по основанию k
begin
  Result:='';
  while ngt;0 do begin
    var r:=n mod k;
    if rlt;10 then Result:=r+Result
    else Result:=Chr(Ord('A')+r-9)+Result;
    n:=n div k
    end
end;

function AtoB(s:string;A,B:integer):string;
// Перевод из системы по основанию A в систему по основанию B
begin
  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 16
2018(10) = 7E2(16)
Игорь Сямичев
А дробные числа нельзя?
Даша Кисарова
Да и в целом в 16-ную систему он неправильно переводит числа, так как отсутствуют буковкы.
Дмитрий Хотылев
Огромное спасибо!
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт