Алгоритм подсчета рейтинга несовершенен. Что за “обрезание” происходит на 30-й день? Уж больно дискретно, мне кажется.Если бы мне поручили бы написать алгоритм для подсчета рейтинга, я бы применил следующий алгоритм:If рейтинг<0 Then If Abs(рейтинг)<поправка значит рейтинг=0 иначе ежедневно увеличивать рейтинг на поправку.End If
If рейтинг>0 then If abs(рейтинг)<поправка значит рейтинг=0иначе ежедневно уменьшать рейтинг на поправку.End If.
За “конкретный добряк серверу” – плюс баллы.За нарушение – минус баллы.=======================================В этом случае, мой изначальный рейтинг будет равен 0. За каждый “добряк” я буду получать балл. Каждый день с меня будет балл сниматься, если рейтинг положительный или балл добавляться – если рейтинг отрицательный. В любом случае, с каким бы знаком не был бы рейтинг, ежедневно он стремился бы к нулю. Никаких “за последние 30 дней” – рейтинг считается в реальном времени, без ограничений.Вот это, ИМХО – более справедливый алгоритм.
Copyright ©