• 40 Балллов! Помогите пожалуйста с задачей по Delphi(Pascal). Буду очень благодарен.
    ----------------------------------------------------------------
    var i,input:integer;

    begin
    Writeln('Decimal To Binary');
    Writeln('Enter any number(0-255) and press ');
    write(' - ');
    Readln(input);

    for i:=1 to 8 do
    begin
    if input mod 2 = 0 then
    begin
    Write('0');
    end;
    if input mod 2 = 1 then
    begin
    write('1');
    end;
    end;

    Readln;
    end.
    ----------------------------------------------------------------
    Надо чтобы десятичное число переводилось в двоичное, но тут проблема в том что мне нужно чтобы число выводилось в двоичном коде. Я никак это не могу сделать. Так как если я добавляю input:=input/2 внутри цикла последней строкой, то программа пишет "Incompatible types: 'Integer' and 'Extended' ". А если я меняю тип данных переменной input на real, то начинает ругаться mod(он работает только с целочисленным типом данных).

Ответы 6

  • Кстати, дайте совет. Как быстро соображать в таких моментах? Как решать задачи, если не можешь понять как их решить? Как сообразить?
    • Автор:

      payton55
    • 5 лет назад
    • 0
  • Главный совет - учиться, учиться и учиться! ) Важно учить теорию и решать как можно больше задач. Хорошо также смотреть готовые решения (здесь очень важно учиться на ГРАМОТНО составленных программах). Во многих случаях найти ошибку (логическую) помогает вывод промежуточных результатов (с помощью write, например). Успехов!
    • Автор:

      chessie
    • 5 лет назад
    • 0
  • А мне друг говорил обратное, что нельзя смотреть на готовое. Сиди до конца пока не поймешь, ибо если ты посмотришь готовое, то ты ничему не учишься. Но спасибо, всё больше и больше желания появляется?
  • )*
    • Автор:

      angelhceq
    • 5 лет назад
    • 0
  • Друг отчасти прав. Здесь важно найти, что называется, золотую середину. Не искать сразу готовые решения, а сначала пытаться сделать самостоятельно. А потом уже смотреть - как подобные задачи решают специалисты. Кроме того, есть довольно много уже разработанных алгоритмов. Их просто нужно знать. Классика здесь - Д.Кнут "Искусство программирования". Обязательная книга для программистов!
  • var i,input:integer;s:string;beginWriteln('Decimal To Binary');Writeln('Enter any number(0-255) and press ');write(' - ');Readln(input);s:='';for i:=1 to 8 dobeginif input mod 2 = 0 then s:='0'+selse s:='1'+s;input:=input div 2;end;writeln(s);Readln;end.
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years