• Предмет: Информатика
  • Автор: AlikhanTokenov
  • Вопрос задан 7 лет назад

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(он работает только с целочисленным типом данных).

Ответы

Ответ дал: petyaGavrikov
0
var i,input:integer;
s:string;
begin
Writeln('Decimal To Binary');
Writeln('Enter any number(0-255) and press ');
write(' - ');
Readln(input);
s:='';
for i:=1 to 8 do
begin
if input mod 2 = 0 then s:='0'+s
else s:='1'+s;
input:=input div 2;
end;
writeln(s);
Readln;
end.
Ответ дал: AlikhanTokenov
0
Кстати, дайте совет. Как быстро соображать в таких моментах? Как решать задачи, если не можешь понять как их решить? Как сообразить?
Ответ дал: petyaGavrikov
0
Главный совет - учиться, учиться и учиться! )
Важно учить теорию и решать как можно больше задач. Хорошо также смотреть готовые решения (здесь очень важно учиться на ГРАМОТНО составленных программах). Во многих случаях найти ошибку (логическую) помогает вывод промежуточных результатов (с помощью write, например). Успехов!
Ответ дал: BloodFireBD
0
А мне друг говорил обратное, что нельзя смотреть на готовое. Сиди до конца пока не поймешь, ибо если ты посмотришь готовое, то ты ничему не учишься. Но спасибо, всё больше и больше желания появляется?
Ответ дал: BloodFireBD
0
)*
Ответ дал: petyaGavrikov
0
Друг отчасти прав. Здесь важно найти, что называется, золотую середину. Не искать сразу готовые решения, а сначала пытаться сделать самостоятельно. А потом уже смотреть - как подобные задачи решают специалисты. Кроме того, есть довольно много уже разработанных алгоритмов. Их просто нужно знать. Классика здесь - Д.Кнут "Искусство программирования". Обязательная книга для программистов!
Вас заинтересует