На этом форуме отвечают на конкретные вопросы. Фраза «я не понимаю, как решать» — это не вопрос. На вопрос «как решить задачу №X» вас отошлют к материалам сайта kpolyakov.spb.ru. За бессвязный поток слов и неспособность формулировать свои мысли — бан.

Если у вас не сходится ответ на какую-то задачу, пожалуйста сразу представляйте свое «правильное» решение.
Программы "заворачивайте" в тэг [pre2]...[/pre2], при этом сохраняются все отступы и применяется моноширинный шрифт. Если у вас используется сочетание "[i]" для обозначения элемента массива или строки, ставьте пробел после открывающей скобки. Иначе система выделит все дальнейшее курсивом.

Для регистрации на форуме щелкните по ссылке «Вход-регистрация» вверху страницы. В открывшееся окошко «ник» введите свою фамилию на русском языке (например, Иванов). В окошко «пароль» введите придуманный вами пароль, состоящий из латинских букв и цифр. Поставьте галочку в окошке «зарегистрироваться, я новый участник» и нажмите кнопку «ОК».

АвторСообщение





Сообщение: 2
ссылка на сообщение  Отправлено: 10.02.15 11:19. Заголовок: диагностика от 26.01 - бинарное представление


Коллеги, подскажите, как средствами АВС Паскаля получить двоичное представление цифры?

Требовалось написать программу, при выполнении которой с клавиатуры
считывается натуральное число x, не превосходящее 1000, и выводится
количество значащих цифр в двоичной записи этого числа. Программист
торопился и написал программу неправильно. (Ниже для Вашего удобства
программа представлена на пяти языках программирования.)

var x,cnt: integer;
begin
readln(x);
cnt := 0;
while x > 0 do
begin
cnt:=cnt + x mod 2;
x := x div 10
end;
writeln(cnt)
end.

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 3 [только новые]


постоянный участник




Сообщение: 279
ссылка на сообщение  Отправлено: 10.02.15 12:17. Заголовок: Коллеги, подскажите,..



 цитата:
Коллеги, подскажите, как средствами АВС Паскаля получить двоичное представление цифры?

цифры или числа?
стандартных средств нет, на сколько я помню
если в эту программу добавить переменную типа string и исправить x := x div 10 на x := x div 2, то получим строку, изображающую двоичную запись числа
как-то так:
var x,cnt: integer; 
s:string;
begin
readln(x);
s:='';
cnt := 0;
while x > 0 do
begin
cnt:=cnt + x mod 2;
s:= inttostr(x mod 2)+s;
x := x div 2
end;
writeln(cnt);
writeln(s)
end.


Спасибо: 0 
ПрофильЦитата Ответить



Сообщение: 8
ссылка на сообщение  Отправлено: 11.02.15 16:32. Заголовок: Здесь, как мне кажет..


Здесь, как мне кажется, нужно найти ошибку в программе? Это ведь задание 24(С3)?

Строку "cnt:=cnt + x mod 2;" нужно заменить на "cnt:=cnt + 1;" - это первая ошибка
Строку "x := x div 10" нужно заменить на "x := x div 2" - это вторая ошибка

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Сообщение: 280
ссылка на сообщение  Отправлено: 11.02.15 16:43. Заголовок: Lavanda пишет: Это ..


Lavanda пишет:

 цитата:
Это ведь задание 24(С3)?


только С1

 цитата:
Строку "cnt:=cnt + x mod 2;" нужно заменить на "cnt:=cnt + 1;" - это первая ошибка


да, просмотрела про количество значащих цифр, решила что надо считать количество единиц в двоичной записи числа
вопрос был о получении двоичного представления числа, вдруг ошибки сами исправили

Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 787
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет