Плагин "Фильтры" (английское название "Filters"), как и следует из названия, позволяет производить различную фильтрацию входных массивов.
Скачать плагин можно отсюда: http://dl.dropbox.com/u/8028117/Lottoball/Update/Plugins/Filters.dll
Описание:
1) На вход подаются варианты (либо полная система, либо произвольные из закладки ВХОД)
2) Последовательно для каждого варианта, как отмечено чекбоксами, от 1 до 8 на данный момент (впоследствии могут добавляться новые фильтры), проверяются условия. При первом же несоответствии какого-либо условия вариант отметается (другие фильтры уже не проверяются)
3) Прошедшие все отмеченные условия выводятся на экран слева.
Фильтр 1) Тиражные комбинации
Варианты сверяются с историей открытой лотереи. Если отмечено 0 - значит ни одного совпадения варианта с историей быть не должно. Если отмечено 1 - только одно совпадение. При этом, это условие должно совпасть либо для ВСЕХ тиражей в заданном диапазоне (По логическому условию И) - если отмечен чекбокс "Во всех". Т.е. если отмечено 5, то в каждом тираже с вариантом на входе должно совпасть 5 номеров. Либо, если отмечен чекбокс "Хотя бы в одном", то действует логическое условие ИЛИ, и если хотя бы для одного тиража выполняется условие на совпадение, то фильтр считается пройденным. Т.е. если отмечено 6, то хотя бы в одном тираже с вариантом на входе должно совпасть 6 номеров и проверка будет закончена. Если отмечено несколько чекбоксов совпадений, например 0,1,2, то тут проверяется совпадение по условию ИЛИ, т.е. должно совпасть либо ни одного, либо 1, либо 2 номера.
Ну и на конец, результат подвергается заключительной проверке Оставить/Удалить. Если вариант удовлетворяет условию совпадений, и отмечено Оставить, то данный вариант считается удовлетворяющим условию, он будет выведен на экран (либо будет участвовать в дальнейшей фильтрации). Если выбрано Удалить, то результат инвертируется и вариант отметается. И наоборот, если вариант не прошел условие на совпадение, и выбрано Оставить, то вариант отметается, но если выбрано Удалить, вариант останется для дальнейшей обработки.
Фильтр 2) Четные - нечетные
В варианте подсчитывается число четных и нечетных чисел и сравнивается с условиями.
Окончательно применяется проверка на Оставить/Удалить (подробнее об этом условии в предыдущем фильтре).
Фильтр 3) Соседние числа (пары)
Соседние числа, это 2 и 3, 5 и 6, т.е. стоящие рядом (ака пара). Подсчитываем число таких пар в варианте и проверяем на отмеченные условия, сколько их может содержаться в варианте. Окончательно фильтруем условием Оставить/Удалить.
Фильтр 4) Диапазоны десяток
В варианте подсчитывается, в скольких диапазонах находятся числа. 1-й диапазон это от 1 до 9 (первая десятка), второй - от 10 до 19 (вторая десятка), и так далее.
Количество таких "десяток" сравнивается с условиями Минимум/Максимум. И наконец пропускается через условие Оставить/Удалить.
Фильтр 5) Родственные числа
Родственным называется число (это не я придумал), последняя цифра которого совпадает с соответствующей категорией. Так, если число оканчивается на единицу, значит она принадлежит категории 1 родственных чисел (1, 11, 21 ...91 - больше не рассматриваем, таких лотерей нет среди известных). Ну и последняя 10 категория это 10, 20, 30 ... 90.
Определили, в каких категориях находятся числа нашего варианта. Посмотрели на условия для каждой категории. Если удовлетворяет, проверяем количество родственных чисел в нашем варианте (может лучше назвать это "количество родственных категорий") на Минимум/Максимум. Так, если вариант 1 9 13 33 34 35, то у нас 3 родственных категории (1 и 9, 13, 33 и 34 и 35).
Ну и напоследок условие Оставить/Удалить (напоминаю, подробнее об этом условии в фильтре 1).
Фильтр 6) Совпадение с комбинациями
Почти то же самое, что и фильтр 1, но сравниваем со своими задаваемыми комбинациями, которые могут быть разной длины. Дополнительно появилось возможность задать условие проверки: во всех введенных комбинациях (в фильтре 1 это подразумевается), либо хотя бы в одной нашей комбинации. Т.е. если условие на совпадение 0,1 или каких-то других отмеченных категорий проверяется либо для всех, либо до первого удовлетворения.
Ну и куда без условия Оставить/Удалить.
Фильтр 7) Набор чисел
Ну, это частный случай фильтра 6. Как будто мы задали только одну комбинацию. И хотя фильтр № 6 более универсален, для некоторых случаев удобно пользоваться именно этим фильтром.
Фильтр 8) Числа комбинации по позиции
Фильтр "Числа комбинации по позиции" проверяет, в какой позиции ( 1, 2, 3 ... 10, вплоть до лотерей по формуле 10 из ...) стоит то или иное число варианта. В столбцах таблицы вводим, какие числа могут находиться в данной позиции (например, если в первой позиции должны находиться только числа 2,4,5,9. Во второй 12,13,17, и так далее. Символ звездочки (*) означает, что в данной позиции может находиться любое число). Содержимое таблицы, как и остальные настройки, запоминается по нажатию кнопки "Сохранить" и восстанавливается по нажатию кнопки "Загрузить". Условие Оставить/Удалить аналогично вышеизложенным.
Фильтр 9) Сумма чисел
Фильтр "Сумма чисел в комбинации" позволяет отбросить такие комбинации, в которых сумма чисел не будет удовлетворять заданным условиям (меньше минимума или больше максимума). Условие Оставить/Удалить аналогично вышеизложенным.
Напоминаю, что данное описание может немного отличаться от текущей версии плагина, так как программа развивается и описание её не поспевает за этим процессом.
Фильтр 10) Последовательные числа
Фильтр "Последовательные числа" удаляет или оставляет (в зависимости от условия Оставить/Удалить) те комбинации, в которых удовлетворяются следующие условия:
а) Шаг между номерами комбинации находится в пределах заданных значений "ОТ" и "ДО"
б) Количество чисел (пар), удовлетворяющих условию "а" удовлетворяет отмеченным значениям от 0 до (числа номеров в формуле лотереи -1) (формула настраивается в верхней части плагина). При этом значению "0" соответствует отсутствие номеров с заданным шагом, значение "1" - два числа с заданным шагом (пара), и т.д.
Например, 1 3 5 6 8 - условие: 3 пары с шагом 2 (или одна пара с шагом 1).
Фильтр 11) Эманации
Фильтр "Эманации" удаляет или оставляет (в зависимости от условия Оставить/Удалить) те комбинации, которые проходят по всем заданным условиям на данной вкладке. Новое условие добавляется по кнопке "+", кнопкой "х" удаляются все строки с условиями. Условие вводится по принципу: 1-2-3 : подсчитывается эманация чисел, стоящих в позициях 1, 2 и 3. Эта эманация сравнивается с заданным значением. Если например задать 1-2-6, а позиции 6 в комбинации нет, то она просто не берется во внимание, а расчитывается только 1-2.
..... возможно появление новых фильтров....