Баловство II

Serab

Новая тема. Прога должна выполнять преобразования между системами счисления.
Требование: для каждой системы отдельный класс (типа BinaryNS, TernaryNS, TetraryNS :grin: :lol: )
Я тоже сперва не верил, думал, сломаный телефон. Но сомнений больше нет :grin:

apl13

А, ну классно. Пишешь классы, инкапсулирующие матрицу Грама, и один на всех шаблон перехода. :D

Serab

0_o
Если честно, не понял, как к делу относится матрица Грама? Матрица схемы Горнера имеется в виду? Но бойлерплэйта нафигачить все равно придется.

Dasar

напиши генератор таких классов

apl13

Нет, просто в одиннадцать вечера тяжело отличить систему счисления от системы координат. :book: :art:

katrin2201

Напиши им класс, делающий это для произвольной системы, и унаследуй от него все BinaryNS, TernaryNS, TetraryNS, ... .
В наследниках переопредели ToString, в котором пиши что-нить вроде "преобразователь из x-ичной в десятичную".

Dasar

Напиши им класс, делающий это для произвольной системы, и унаследуй от него все BinaryNS, TernaryNS, TetraryNS, ... .
могут снизить оценку - за слишком умный код, тем более когда препод не найдет в исходнике класса нужных методов

Bibi

а как идеологически правильно в такой системе осуществлять преобразование?
через касты? (не очень знаю, что это такое на практике)
или должен быть этакий FactoryOfFactory, чтобы делать произвольные преобразования?

katrin2201

А я б вообще ожидал, что препод воткнет, и поставит два с невозможностью сдачи\пересдачи\... =)
Вообще, ты прав - для гарантии надо сделать метод answer.

Serab

представляю, как тебе было страшно тогда, по классу на систему координат.
Классы CS2D1_0__0_1, CS3D_1_0_0__0_1_0__0_0_1 :beer: :bricks: (смайл, снимающий мозг)

Serab

а хз, что-то про касты там было в задании.

Dasar

а как идеологически правильно в такой системе осуществлять преобразование?
идеологически правильно с точки зрения кого?
с точки зрения авторов задания - скорее всего имеется ввиду наличие N-методов у каждого класса ToBinary, ToTernary и т.д.

Serab

не-не, там касты нужны по слухам :grin: типа int — десятичная система, наверное нужны касты в int, из int'а, хз

yroslavasako

Я бы рекомендовал просто написать программу на любимом языке рапид девелопмента и нагенерить нужные сишные классы программно. А потом сдать получившийся продукт кодогенерации преподу.

Dasar

через касты? (не очень знаю, что это такое на практике)
или должен быть этакий FactoryOfFactory, чтобы делать произвольные преобразования?
с точки зрения удобства(использования и разработки): FactoryOfFactory - здесь слишком.
достаточно одного полиморфного метода по переводу одного класса в другой, и полиморфного каста - который этот метод вызывает

apl13

CS2D1_0__0_1, CS3D_1_0_0__0_1_0__0_0_1
Куча смайликов?

apl13

Вероятно, число 12 методом 10→3 должно преобразовываться в 110.
Ну то есть 0xC → 0x6E.

Serab

хм, кстати, не думал об этом :)

Serab

чего? Ну я типа представил, как должны выглядеть названия классов для каждой системы координат. Типа указывается размерность, а потом базис через двойное подчеркивание.

apl13

Ы-ы-ы-ы-ы!
Оставить комментарий
Имя или ник:
Комментарий: