Предмет: Информатика,
автор: AlikhanTokenov
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(он работает только с целочисленным типом данных).
Ответы
Автор ответа:
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.
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.
Автор ответа:
0
Кстати, дайте совет. Как быстро соображать в таких моментах? Как решать задачи, если не можешь понять как их решить? Как сообразить?
Автор ответа:
0
Главный совет - учиться, учиться и учиться! )
Важно учить теорию и решать как можно больше задач. Хорошо также смотреть готовые решения (здесь очень важно учиться на ГРАМОТНО составленных программах). Во многих случаях найти ошибку (логическую) помогает вывод промежуточных результатов (с помощью write, например). Успехов!
Важно учить теорию и решать как можно больше задач. Хорошо также смотреть готовые решения (здесь очень важно учиться на ГРАМОТНО составленных программах). Во многих случаях найти ошибку (логическую) помогает вывод промежуточных результатов (с помощью write, например). Успехов!
Автор ответа:
0
А мне друг говорил обратное, что нельзя смотреть на готовое. Сиди до конца пока не поймешь, ибо если ты посмотришь готовое, то ты ничему не учишься. Но спасибо, всё больше и больше желания появляется?
Автор ответа:
0
)*
Автор ответа:
0
Друг отчасти прав. Здесь важно найти, что называется, золотую середину. Не искать сразу готовые решения, а сначала пытаться сделать самостоятельно. А потом уже смотреть - как подобные задачи решают специалисты. Кроме того, есть довольно много уже разработанных алгоритмов. Их просто нужно знать. Классика здесь - Д.Кнут "Искусство программирования". Обязательная книга для программистов!
Похожие вопросы
Предмет: Алгебра,
автор: denchiktoon22
Предмет: Информатика,
автор: yura27031966
Предмет: Алгебра,
автор: danilgnatenko1234567
Предмет: Литература,
автор: Авизька2010
Предмет: Геометрия,
автор: vitaliktishkov