Показать сообщение отдельно
Старый 27.09.2010, 10:34   #6 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

И еще чуть более "продвинутый" вариант. Здесь программа зациклена и прерывается, если введен 0:
Код:
VAR
 Dec_Num, Ex_code:LongInt;
 n, i:INTEGER;
BEGIN
 REPEAT
  Write('Enter the decimal number, "0" to exit: ');
  ReadLn(Dec_Num);
  Ex_code:=Dec_Num;
  If Ex_code>0 then
   begin
    n:=TRUNC(Ln(1.0*Dec_Num)/Ln(2.0));
    Write('Binary number: ');
    For i:=n downto 0 do
     begin
      Write((Dec_Num div ROUND(Exp(i*Ln(2.0)))));
      Dec_Num:=Dec_Num mod ROUND(Exp(i*Ln(2.0)));
     end;
    WriteLn;
    WriteLn;
   end;
 UNTIL Ex_code=0;
END.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070