profile
Размещено 5 лет назад по предмету Информатика от ezgame164

Всех приветствую! Если Вам не сложно, то хотел бы попросить помочь. Задачу необходимо решить на ЯП 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 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
        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)
    1. Ответ на вопрос
      Ответ на вопрос дан Аккаунт удален
      Какое число перевести? 2018
      Исходное и результирующее основания: 11 18
      2018(11) = 84I(18)
    2. Ответ на вопрос
      Ответ на вопрос дан Аккаунт удален
      Но вот исходное число не должно содержать цифр, отличных от 0..9
    3. Ответ на вопрос
      Ответ на вопрос дан Аккаунт удален
      Поправил. Можно переводить между системами с любыми основаниями от 2 до 16 в обе стороны.
    4. Ответ на вопрос
      Ответ на вопрос дан ezgame164
      Большое спасибо!
    5. Ответ на вопрос
      Ответ на вопрос дан Аккаунт удален
      Пожалуйста. Если допишете var s:='0123456789ABCDEF'; до Z, сможете расширить диапазон оснований систем до 36.
Не тот ответ на вопрос, который вам нужен?
Найди верный ответ
Самые новые вопросы
tegysigalpa2012
Русский язык - 5 лет назад

Помогите решить тест по русскому языку тест по русскому языку «местоимение. разряды местоимений» для 6 класса 1. укажите личное местоимение: 1) некто 2) вас 3) ни с кем 4) собой 2. укажите относительное местоимение: 1) кто-либо 2) некоторый 3) кто 4) нам 3. укажите вопросительное местоимение: 1) кем-нибудь 2) кем 3) себе 4) никакой 4. укажите определительное местоимение: 1) наш 2) который 3) некий 4) каждый 5. укажите возвратное местоимение: 1) свой 2) чей 3) сам 4) себя 6. найдите указательное местоимение: 1) твой 2) какой 3) тот 4) их 7. найдите притяжательное местоимение: 1) самый 2) моего 3) иной 4) ничей 8. укажите неопределённое местоимение: 1) весь 2) какой-нибудь 3) любой 4) этот 9. укажите вопросительное местоимение: 1) сколько 2) кое-что 3) она 4) нами 10. в каком варианте ответа выделенное слово является притяжательным местоимением? 1) увидел их 2) её нет дома 3) её тетрадь 4) их не спросили

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.