Вопрос по программированию

Обсуждаем все, что хотим

Модератор: chinaski

Сообщение
Автор
Rockwill
Ветеран
Сообщения: 1040
Зарегистрирован: Сб ноя 18, 2006 8:59 pm

Вопрос по программированию

#1 Сообщение Rockwill » Чт окт 08, 2009 4:32 pm

Кароч....
Нам задали сделать программу,котрая переводит числа из десятичной системы счисления в код Грея.....
Сделать это надо в МатКаде...
помогите,кто чем может....плз...
Хотя бы в С++))))

Аватара пользователя
Senior Lupasin
Ветеран
Сообщения: 1589
Зарегистрирован: Сб ноя 17, 2007 3:24 pm

#2 Сообщение Senior Lupasin » Чт окт 08, 2009 4:43 pm

Если скажешь, что такое код Грея, сделаю на Паскале.
vk.com/staygreentailed

Rockwill
Ветеран
Сообщения: 1040
Зарегистрирован: Сб ноя 18, 2006 8:59 pm

#3 Сообщение Rockwill » Чт окт 08, 2009 4:46 pm

http://www.klgtu.ru/ru/students/literat ... su/90.html

Лупасин,ты ж вроде на КМ учился...ВАм разве Малевич такого не задавал?

Аватара пользователя
Senior Lupasin
Ветеран
Сообщения: 1589
Зарегистрирован: Сб ноя 17, 2007 3:24 pm

#4 Сообщение Senior Lupasin » Чт окт 08, 2009 4:55 pm

Я уже синус суммы забыл, а не то что коды Грея.
vk.com/staygreentailed

Rockwill
Ветеран
Сообщения: 1040
Зарегистрирован: Сб ноя 18, 2006 8:59 pm

#5 Сообщение Rockwill » Чт окт 08, 2009 4:56 pm

:)

Аватара пользователя
Senior Lupasin
Ветеран
Сообщения: 1589
Зарегистрирован: Сб ноя 17, 2007 3:24 pm

#6 Сообщение Senior Lupasin » Чт окт 08, 2009 5:05 pm

Хммм...

(паскаль моего детства)

Program LupaKiss;

Var
S, SS: String;
I: Integer;

Begin
WriteLn ('Введите число (не более 63 знаков)')
ReadLn (S);
SS:='';
for I:=1 to Length (S) do
case S of
'0': SS:=SS+'0000';
'1': SS:=SS+'0001';
'2': SS:=SS+'0011';
'3': SS:=SS+'0010';
'4': SS:=SS+'0110';
'5': SS:=SS+'0111';
'6': SS:=SS+'0101';
'7': SS:=SS+'0100';
'8': SS:=SS+'1100';
'9': SS:=SS+'1101';
else
begin
SS:='ERROR: invalid notation'
break
end end;
WriteLn (SS);
ReadLn
End.
vk.com/staygreentailed

Rockwill
Ветеран
Сообщения: 1040
Зарегистрирован: Сб ноя 18, 2006 8:59 pm

#7 Сообщение Rockwill » Чт окт 08, 2009 5:14 pm

Спасибо))...на худой конец попробую в этом разобраться)))
Может кто в Маткаде такую штуку могёт?)))

Аватара пользователя
Senior Lupasin
Ветеран
Сообщения: 1589
Зарегистрирован: Сб ноя 17, 2007 3:24 pm

#8 Сообщение Senior Lupasin » Чт окт 08, 2009 5:17 pm

В этом посте Лупасин объяснял особенности функционирования своего алгоритма.
Последний раз редактировалось Senior Lupasin Чт окт 08, 2009 6:18 pm, всего редактировалось 1 раз.
vk.com/staygreentailed

Аватара пользователя
shapeshifter
Завсегдатай
Сообщения: 658
Зарегистрирован: Чт янв 10, 2008 5:35 pm
Откуда: mnsk

#9 Сообщение shapeshifter » Чт окт 08, 2009 6:04 pm

Лупасин, ты написал полную :censored:. Точнее крайне частный случай решения задачи. Взятый из примера )
Последний раз редактировалось shapeshifter Чт окт 08, 2009 6:08 pm, всего редактировалось 1 раз.

Аватара пользователя
Senior Lupasin
Ветеран
Сообщения: 1589
Зарегистрирован: Сб ноя 17, 2007 3:24 pm

#10 Сообщение Senior Lupasin » Чт окт 08, 2009 6:07 pm

Бывает.

Ты думаешь, она не будет работать?
vk.com/staygreentailed

Аватара пользователя
shapeshifter
Завсегдатай
Сообщения: 658
Зарегистрирован: Чт янв 10, 2008 5:35 pm
Откуда: mnsk

#11 Сообщение shapeshifter » Чт окт 08, 2009 6:08 pm

Senior Lupasin писал(а):Бывает.

Ты думаешь, она не будет работать?
Будет. Но делать будет совсем не то, что ожидается.

Аватара пользователя
Senior Lupasin
Ветеран
Сообщения: 1589
Зарегистрирован: Сб ноя 17, 2007 3:24 pm

#12 Сообщение Senior Lupasin » Чт окт 08, 2009 6:10 pm

То есть переводить в код Грея нужно число в целом, а не цифры в отдельности?
vk.com/staygreentailed

Аватара пользователя
shapeshifter
Завсегдатай
Сообщения: 658
Зарегистрирован: Чт янв 10, 2008 5:35 pm
Откуда: mnsk

#13 Сообщение shapeshifter » Чт окт 08, 2009 6:15 pm

Senior Lupasin писал(а):То есть переводить в код Грея нужно число в целом, а не цифры в отдельности?
Да. Вообще, стоит взглянуть сюда.
В частности:
Алгоритм преобразования из двоичной системы счисления в код Грея, записанный на языке C++:

unsigned int grayencode(unsigned int g)
{
return g ^ (g >> 1);
}

Аватара пользователя
Senior Lupasin
Ветеран
Сообщения: 1589
Зарегистрирован: Сб ноя 17, 2007 3:24 pm

#14 Сообщение Senior Lupasin » Чт окт 08, 2009 6:16 pm

Я навёлся на слово "десятичная" и на пример.
vk.com/staygreentailed

Аватара пользователя
shapeshifter
Завсегдатай
Сообщения: 658
Зарегистрирован: Чт янв 10, 2008 5:35 pm
Откуда: mnsk

#15 Сообщение shapeshifter » Чт окт 08, 2009 6:20 pm

Хотя прозреваю, что средствами Маткада побитовые операции реализовать будет сложно. Так что проще пользовать первую ссылку, шаги 1-4.

Ответить