![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Форумчанин
Регистрация: 11.03.2007
Сообщений: 149
|
![]()
Подскажите каким алгоритмом лучше реализовать следующее:
есть таблица Календарь выхода газеты 01.01.2010 -№1 02.01.2010 -№2 ... 30.01.2010 - №30 есть объявления с программированием выходов: 1-ком продам - с 01.01.2010 по 10.01.2010 надо сделать выгрузку объявлений в газету например на 2 января, это то понятно как сделать (делаем выборку между датами) а если стоит условие программирование выходов через номер, как это реализовать наиболее негеморрным способом? ![]() Если это глупо, но работает, значит это не глупо.
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,544
|
![]()
определяем первый номер выхода
все остальные будут иметь туже четность (или четные или нечетные) как и первый номер
программа — запись алгоритма на языке понятном транслятору
|
![]() |
![]() |
![]() |
#3 | |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
![]() Цитата:
просто в общем случае, не факт что газета выходит гарантированно каждый день точнее так, интереснее научиться генерить последовательность чисел на любых наборах данных, из которых потом выбирать хоть через один, хоть через 3 2 Алёна вы бы еще про субд написали бы Последний раз редактировалось soleil@mmc; 07.05.2010 в 12:35. |
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 11.03.2007
Сообщений: 149
|
![]()
Акцесс юзаю...можно поставить кучу полей с датами выхода и типа пометкой+/- рядом, но это объем и тупо
![]() Если это глупо, но работает, значит это не глупо.
|
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
я ПОЛНОСТЬЮ согласен с evg_m!
Никакой магии! Нужно определить первый НОМЕР журнала, в который попадает объявление (если есть таблица с датами выходов и номерами - это несложно), и дальше брать записи с чётностью номера первого номера, в которое попало данное объявление! |
![]() |
![]() |
![]() |
#6 | |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
![]()
а я вот останусь на своем
![]() не люблю частных решений, особенно, когда заказчик успевает 100 раз поменять свое мнение и привязка решения к данным не есть хорошо просто выцепить номер вот из этого Цитата:
|
|
![]() |
![]() |
![]() |
#7 | ||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
Хотя, можно, конечно, порядковый номер получать и в запросе (хоть это и сложнее)... Главное, что идея evg_m с совпадением остатка от деления на два - отличная! (и, кстати, если брать остаток от деления не на два, а на любое другое число, тогда легко можно получать периодичность, когда объявление должно попасть в каждый третий (четвёртый, пятый и т.д. N-й выпуск...) Последний раз редактировалось Serge_Bliznykov; 07.05.2010 в 17:17. |
||
![]() |
![]() |
![]() |
#8 |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
![]()
остаток от деления это и ежу понятно
просто нехорошо будет когда в продакшене от привязки к данным у вас посыпятся алгоритмы на авехах простой пример: постоянный заказчик проплачивает объявы круглогодичные, но начал он свой год где-нибудь в апреле, т.е. имеем запись в объявах за период 15 апреля 2009 - 15 апреля 2010. админу базы 31 января 2010г. дают задачу почистить табличку с номерами прошлогодних выпусков ![]() а уж содержать дополнительно колонку и поддерживать ее целостность - это уже лишняя работа я за генерацию последовательности на лету |
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
согласен.
а есть ещё одна "хитрость"... в таблице объявлений я бы лично сделал ссылку (внешний ключ) на таблицу выпусков. Кстати, может пригодится не только для чередования выхода объявлений... И тогда удалить из БД выпуск, на который есть ссылка, было бы весьма непросто (если есть ссылки на этот выпуск) ![]() |
![]() |
![]() |
![]() |
#10 | |
Форумчанин
Регистрация: 11.03.2007
Сообщений: 149
|
![]() Цитата:
![]() ![]() В идееале хотелось бы реализовать следующее: ставим дату нашего первого выхода, кол-во выходов и признак -подряд или через 1 выход, далее программа сама определляет дату конечного выхода, и сооответ-но все даты выходов. Если это глупо, но работает, значит это не глупо.
Последний раз редактировалось Алёна; 11.06.2010 в 08:51. |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Алгоритм. | Paradigma | Помощь студентам | 7 | 31.03.2010 16:01 |
Алгоритм | Aндрей | Общие вопросы C/C++ | 1 | 21.02.2010 18:49 |
Алгоритм | VladimirAleks | Помощь студентам | 2 | 29.10.2009 13:11 |
алгоритм | lucky | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 07.05.2009 12:56 |