Предмет: Информатика, автор: kseniasalonary

Паскаль.Число в двоичной системе счисления, введенное пользователем программы, преобразовать в 14-ричная. Результат вывести на экран

Ответы

Автор ответа: pinguinbird
1

Ответ:

//-----------------------------------------------------------------

function decToX(x:integer;k:integer):string;

// конвертирует x из десятичной системы счисления в систему счисления по основанию k (до 16-ричной, но можно расширить до какой угодно).

var s:string='';

   t:string='';

   i:integer;

begin

   while x>0 do begin

       i := x mod k;

       if i = 10 then t:='A'

       else if i = 11 then t:='B'

       else if i = 12 then t:='C'

       else if i = 13 then t:='D'

       else if i = 14 then t:='E'

       else if i = 15 then t:='F'

       else str(i, t);

       s:=t+s;

       x:=x div k;

   end;

   decToX := s;

end;

//-----------------------------------------------------------------

function xToDec(x:string; k:integer):integer;

// конвертирует x из системы счисления по основанию k (до 16-ричной) в десятичную

var s:string='';

   i,j,l:integer;

begin

   i:=length(x);

   l:=0;

   while i>0 do begin

       case x[i] of

           '0','1','2','3','4','5','6','7','8','9': val(x[i],j);

           'A': j:=10;

           'B': j:=11;

           'C': j:=12;

           'D': j:=13;

           'E': j:=14;

           'F': j:=15;

       end;

       l:=l+round(j*exp((length(x)-i)*ln(k)));

       i:=i-1;

   end;

   xToDec := l;

end;

//-----------------------------------------------------------------

var sbin:string;

// тело программы

// здесь мы вводим строку с двоичным кодом, далее конвертируем его в десятичную систему счисления, а после переводим в 14-ричную

begin

   write('Введите двоичное число: '); readln(sbin);

   writeln(decToX(xToDec(sbin,2),14));

   

end.

Объяснение:

Я написал универсальные функции перевода из любой системы счисления в десятичную и наоборот. Они расширяемые, так что можно не ограничиваться 16-ричной системой счисления.

Может быть написано чуть больше, чем необходимо, зато универсально :)


raimzonovramzan: спс
pinguinbird: нзчт
Похожие вопросы
Предмет: Русский язык, автор: rybl
СРОЧНО НУЖНО СОКРОТИТЬ ТЕКСТ!!!!!!!! Звучание — самая естественная форма существования языка долгое время была единственной. На языке только говорили. Но такая речь сиюминутна, она звучит только «здесь» и «сейчас». Потребность передавать речь на расстоянии и сохранять ее на долгие времена привела к изобретению письма — появилась речь письменная.
Сначала письменный язык был только записью звучащей речи, «остановленным мгновеньем». Потом оказалось, что разница — звучать и быть написанным — так огромна, выявились такие ее последствия, что стало возможным говорить о двух языках — преимущественно звучащем, устном, и преимущественно письменном. Язык письменный более вместителен для информации интеллектуальной, устный — для выражения эмоций, настроений, отношений.
Собственно языковые различия письменной и устной речи — это прежде всего различия синтаксические. Устный язык не терпит сложностей, зато культивирует недосказ. Письменный, наоборот, требует полной высказан-ности и притом связности, поэтому допускает разнообразные включения, присоединения, пояснения. Но самое главное — письменный язык потребовал установления правил письма и чтения. Благодаря ему возникли грамматические искусства в привычных нам наименованиях — орфография, пунктуация. Непременное свойство письменного языка — обязательность норм, предписывающих, как писать и читать.
Различны сами законы устного и письменного общения. Поэтому даже в одной и той же ситуации практически невозможно сказать и написать одинаково. Вот как это обыграно в письме драматурга А. Н. Островского его другу Н. А. Дубровскому: «Николка! Что ж ты не ведешь Ветлицкого и где тебя самого черти носят? Будешь ли ты меня слушаться? Ну, погоди же ты! Так нельзя написать, это я только так думал, а писать надо вот так:
«Милостивый государь Николай Александрович, не угодно ли будет Вам пожаловать ко мне сегодня прямо из конторы к обеденному столу, чем премного обяжете глубоко уважающего Вас и преданного А. Островского».
Предмет: Русский язык, автор: олоьоьоьо
Предмет: Українська мова, автор: анютка83
Предмет: Математика, автор: Влад38392092