Конкурсная задача: Перевод из десятичного в двоичное
|
|
Seqular | Дата: Понедельник, 17.11.2008, 23:30 | Сообщение # 1 |
Хранитель
Группа: Администраторы
Сообщений: 859
Статус: Offline
| Обсуждаем конкурсную задачу. Какие мысли будут? Например к входному параметру предъявлено требование от 0 до 65535. Т.е. тип Word самое то. А возвращаемое значение: String. И не просто String, а String[16] что позволяет сэкономить 255-16=239 байт памяти
Поддерживаю также проект сообщество молодых сисадминов
|
|
| |
Alexander | Дата: Вторник, 18.11.2008, 00:54 | Сообщение # 2 |
Всевышний
Группа: Модераторы
Сообщений: 475
Статус: Offline
| Quote (Seqular) тип Word самое то wtf? тип real. И почему только в двоичную?
Скажем дружно- нафиг нужно!
|
|
| |
Seqular | Дата: Вторник, 18.11.2008, 06:12 | Сообщение # 3 |
Хранитель
Группа: Администраторы
Сообщений: 859
Статус: Offline
| Alexander, Почему почему? Почему задание такое? Потому что алгоритм нужный! Вот пусть его на конкурсной основе "вылижут" донельзя, чтобы ничего лишнего в нем не было. А зачем нам Real? Перевод целого числа.. Дробное - там вообще геммор тот еще.
Поддерживаю также проект сообщество молодых сисадминов
|
|
| |
Alexander | Дата: Вторник, 18.11.2008, 06:29 | Сообщение # 4 |
Всевышний
Группа: Модераторы
Сообщений: 475
Статус: Offline
| Quote (Seqular) Вот пусть его на конкурсной основе "вылижут" донельзя, чтобы ничего лишнего в нем не было. Если не секрет, то на кого такие надежды? Quote (Seqular) Дробное - там вообще геммор тот еще. эмм... В таком случае целую часть переводить тоже гемор, алгоритм-то практически один и тот же.
Скажем дружно- нафиг нужно!
|
|
| |
Seqular | Дата: Вторник, 18.11.2008, 06:43 | Сообщение # 5 |
Хранитель
Группа: Администраторы
Сообщений: 859
Статус: Offline
| Quote (Alexander) Если не секрет, то на кого такие надежды? Вдруг случится чудо? Quote (Alexander) В таком случае целую часть переводить тоже гемор, алгоритм-то практически один и тот же Для начала бы такое сделать.
Поддерживаю также проект сообщество молодых сисадминов
|
|
| |
Van_der_Vlaad | Дата: Вторник, 18.11.2008, 20:58 | Сообщение # 6 |
Старый знакомый
Группа: Пользователи
Сообщений: 35
Статус: Offline
| Ну что ж. Начнем. Предлагаю для начала вспомнить (и желательно запостить, чтоб было перед глазами) алгоритм перевода из десятичной в двоичной. Затем приблизительно продумать алгоритм решения задачи. А потом уже можем начинать делать все это в Паскале
|
|
| |
Seqular | Дата: Вторник, 18.11.2008, 21:13 | Сообщение # 7 |
Хранитель
Группа: Администраторы
Сообщений: 859
Статус: Offline
| Van_der_Vlaad, Ну как запостить... Переводится делением. Делим число X на 2 до тех пор, пока X не станет равен < 2. Потом остатки переписываем в обратном порядке. Ну в конце не забудем 1-цу дописать. Это и будет двоичная запись..
Поддерживаю также проект сообщество молодых сисадминов
|
|
| |
Alexander | Дата: Вторник, 18.11.2008, 23:11 | Сообщение # 8 |
Всевышний
Группа: Модераторы
Сообщений: 475
Статус: Offline
| Ну если это конкурс, то алгоритм каждый должен придумывать сам.
Скажем дружно- нафиг нужно!
|
|
| |
Van_der_Vlaad | Дата: Среда, 19.11.2008, 21:28 | Сообщение # 9 |
Старый знакомый
Группа: Пользователи
Сообщений: 35
Статус: Offline
| да ладно тебе Alexander, нужно думать теперь как это в паскале оформитть, хотя как мне кажется не так уж это будет и трудно...но не так уж и легко Добавлено (19.11.2008, 14:28) --------------------------------------------- ммм...использовать деление mod 2, остаток добавлять в массив. а потом считать с массива в обратном напрвлении. единственная сложность пока в моем понимании-это организация деления
|
|
| |
Yura | Дата: Суббота, 22.11.2008, 23:12 | Сообщение # 10 |
Новичок
Группа: Пользователи
Сообщений: 2
Статус: Offline
| Code uses crt; var x:word;
function DecToBin(const y:word) : string; var x:word; str1,str2:string[16]; begin x:=y; str1:=''; if x=0 then DecToBin:='0'; while (x<>0) do begin str(x mod 2, str2); str1:=str2+str1; x := x div 2; end; DecToBin:=str1; end;
begin clrscr;
write('vvedite x = '); readln(x);
writeln(DecToBin(x));
readkey; end.
Сообщение отредактировал Yura - Воскресенье, 23.11.2008, 05:29 |
|
| |
Seqular | Дата: Суббота, 22.11.2008, 23:17 | Сообщение # 11 |
Хранитель
Группа: Администраторы
Сообщений: 859
Статус: Offline
| Yura, Входной параметр 0, прога не работает
Поддерживаю также проект сообщество молодых сисадминов
|
|
| |
Yura | Дата: Воскресенье, 23.11.2008, 05:30 | Сообщение # 12 |
Новичок
Группа: Пользователи
Сообщений: 2
Статус: Offline
| дополнил
|
|
| |
Seqular | Дата: Воскресенье, 23.11.2008, 09:22 | Сообщение # 13 |
Хранитель
Группа: Администраторы
Сообщений: 859
Статус: Offline
| Погляди, для чего нам нужна str2. Какие значения может принимать. И какго размера она объявлена.
Поддерживаю также проект сообщество молодых сисадминов
|
|
| |
Seqular | Дата: Воскресенье, 23.11.2008, 09:24 | Сообщение # 14 |
Хранитель
Группа: Администраторы
Сообщений: 859
Статус: Offline
| Кстати, если аргумент развен 1, то в цикл заходить и находить остаток, потом преобразовывать в строку - тоже не надо. Можно как с 0-лем поступить и просто вывести его же.
Поддерживаю также проект сообщество молодых сисадминов
|
|
| |
Alexander | Дата: Воскресенье, 23.11.2008, 22:14 | Сообщение # 15 |
Всевышний
Группа: Модераторы
Сообщений: 475
Статус: Offline
| Для конкурса нужно: 1) составить список участников. 2) определится с правилами и сроками. 3) определиться с критериями оценки программ. 4) задачи должны быть не настолько банальными, когда алгоритм есть почти на любом сайте(включая этот), нормальный конкурс не получится. Поэтому предлагаю объявить единственного участника победителем и попробовать провести нормальный конкурс или пока забыть об этой затее.
Скажем дружно- нафиг нужно!
Сообщение отредактировал Alexander - Воскресенье, 23.11.2008, 22:14 |
|
| |