Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Форум группы: Vingrad Delphi - Voluntary Writers Group > Оформление имходников


Автор: THandle 24.3.2008, 15:07
Задание.

Дана строка изображающая десятичную запись целого положительного числа.
Вывести строку, изображающую двоичную запись этого же числа.


Решение.

Код


program problem;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var
  DvStr: string;
  ost, dch, dchr :integer;

begin
  Write('Decatichnoe chislo: ');
  Readln(dch);
  dchr := dch;
  while dch >= 2 do
    begin
      ost := dch mod 2;
      dch := dch div 2;
      DvStr := IntToStr(ost) + DvStr;
    end;
  DvStr := IntToStr(dch) + DvStr;
  Writeln(dchr, '(10) = ', DvStr, '(2)');
  Readln;
end.




Объяснение.


dch - наше десятичное число.

DvStr - двоичное.



Код

  Write('Decatichnoe chislo: ');
  Readln(dch);
  dchr := dch;


Вводим десятичное число.


Код


  while dch >= 2 do
    begin
      ost := dch mod 2;
      dch := dch div 2;
      DvStr := IntToStr(ost) + DvStr;
    end;


В цикле делаем следующие действия:

Код

ost := dch mod 2;


Получаем остаток от деления десятичного числа на 2.

Код

dch := dch div 2;


Делим десятичное число на два без остатка.

Код

DvStr := IntToStr(ost) + DvStr;


Добавляем в начало нашего двоичного числа остаток от деления
Код

ost := dch mod 2;



Если поделенное на 2 без остатка десятичное число меньше двух, то цикл завершает работу,
так как если десятичное число меньше 2, оно равно либо 1, либо 0, а эти цифры переводить уже не нало, так как они сами собой и останутся.

Код

  DvStr := IntToStr(dch) + DvStr;


Ставим в начало нашего двоичного числа оставшееся после цикла десятичное число(1 или 0).

Код

  Writeln(dchr, '(10) = ', DvStr, '(2)');
  Readln;



Выводим на экран десятичное число и его представление в двоичной системе.

Конец программы.





В прикрепленном к сообщению файле находится полный проект этой программы.



--------------------------------------------------------------


Ну как? Подобное оформление подойдет?

Автор: Exai1e 24.3.2008, 20:20
Цитата

Ну как? Подобное оформление подойдет? 

Угумс, хорошо когда все так расписано ;)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)