|
3 / 3 / 2
Регистрация: 30.07.2017
Сообщений: 223
|
|
Алгоритм поиска по выражениям больше/меньше23.11.2018, 13:34. Показов 4247. Ответов 53
Метки нет (Все метки)
Добрый день!
Необходимо реализовать алгоритм поиска значения по правилам больше/меньше. Например, есть параметр А и результирующий параметр В. Если А меньше или равно 10, то В = 0 Если А меньше или равно 15, то В = 0,5 Если А меньше или равно 20, то В = 1 Если А меньше или равно 25, то В = 1,5 Если А больше 25, то В = 2. Сами правила сохранены в виде таблицы в БД. С чего начать?
0
|
|
| 23.11.2018, 13:34 | |
|
Ответы с готовыми решениями:
53
RSA алгоритм. Закрытый ключ больше или меньше открытого ключа? Нужен алгоритм поиска пути в этом лабиринте (будь то волновой алгоритм или алгоритм правой/левой руки ) |
|
3 / 3 / 2
Регистрация: 30.07.2017
Сообщений: 223
|
|
| 23.11.2018, 15:43 [ТС] | |
|
Нет, последнее сработавшее правило не получится. Точнее получится, именно так я пытался сделать предварительно отсортировав, как вы выразились тут, "узловые значения" по убыванию и правила по убыванию (т.е. сначала применяются правила с больше, а потом с меньше). А если правила будут хаотичны, тогда результат не подходит
0
|
|
|
187 / 100 / 19
Регистрация: 15.09.2011
Сообщений: 801
|
|
| 23.11.2018, 15:45 | |
|
Элд Хасп, в C# можно через Expression<Func<T>> задать любое правило и действие на него. снова не попал?
0
|
|
|
3 / 3 / 2
Регистрация: 30.07.2017
Сообщений: 223
|
||
| 23.11.2018, 15:48 [ТС] | ||
|
umatkot, давайте попробую объяснить исходный пример еще раз.
Если значение А попадает в диапазон (-Infinity, +10], тогда результат должен быть 0 Если в диапазон (+10, +15] - 0,5 Если в диапазон (+15, +20] - 1 Если в диапазон (+20, +25] - 1,5 Если в диапазон (+25, +Infinity] - 2 Так понятнее? Извиняюсь за первоначальную неточность, надо было сразу так написать Добавлено через 56 секунд Короче пока вам задачу объяснял, понял примерно как её решать )))Добавлено через 1 минуту
0
|
||
|
187 / 100 / 19
Регистрация: 15.09.2011
Сообщений: 801
|
|||||||||||
| 23.11.2018, 16:29 | |||||||||||
|
wrq2017, не ну я точно тогда дурак. а почему формула не подходит то???? дайте пример, где она не сработает
Добавлено через 20 минут вот моя функция(пишу без студии, так как виртуалку грузить лень) в каких случая она не работает? https://dotnetfiddle.net/TFB1Oc Кликните здесь для просмотра всего текста
вот что выдаёт - Кликните здесь для просмотра всего текста
уже засыпаю, короче. надо сместить всё на 0,5 вправо...
0
|
|||||||||||
|
3 / 3 / 2
Регистрация: 30.07.2017
Сообщений: 223
|
||||||
| 23.11.2018, 16:40 [ТС] | ||||||
|
umatkot, исходные данные приведены для примера, если будет для последнего случая не 2, а 10.5? Переделывать формулу, переопределять индивидуальные случаи? Вариант с формулой НЕ катит. В любом случае, спасибо за направление мысли!
Добавлено через 4 минуты Делаю так. Класс условий:
Вот кажется уже рабочее решение... Прошу прокомментировать.
0
|
||||||
|
187 / 100 / 19
Регистрация: 15.09.2011
Сообщений: 801
|
||||||
| 23.11.2018, 16:58 | ||||||
|
данный свитч можно превратить в эквивалентного монстра
0
|
||||||
|
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,576
|
||||||
| 23.11.2018, 17:22 | ||||||
Сообщение было отмечено wrq2017 как решение
Решение
1
|
||||||
|
3 / 3 / 2
Регистрация: 30.07.2017
Сообщений: 223
|
||
| 23.11.2018, 21:02 [ТС] | ||
|
Вообще, Ваш вариант является немного измененным моим последним предложением. А принципиально другие идеи есть?
0
|
||
|
Модератор
|
||||||||||||
| 23.11.2018, 21:16 | ||||||||||||
Сообщение было отмечено wrq2017 как решение
РешениеКласс для создания условий
0
|
||||||||||||
|
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,576
|
|||||||||||||||||
| 23.11.2018, 21:48 | |||||||||||||||||
0
|
|||||||||||||||||
|
3 / 3 / 2
Регистрация: 30.07.2017
Сообщений: 223
|
||||||||
| 26.11.2018, 08:43 [ТС] | ||||||||
Так не быстрее будет? Добавлено через 3 минуты
0
|
||||||||
|
Модератор
|
||
| 26.11.2018, 13:55 | ||
|
Второй, способ можно сохранять в БД и функцию делегата, даже компилировать её во время исполнения, но в Вашем случае, такие сложности, по-моему, не нужны.
0
|
||
|
3 / 3 / 2
Регистрация: 30.07.2017
Сообщений: 223
|
|
| 27.11.2018, 09:02 [ТС] | |
|
Всем огромное спасибо за обсуждение вопроса! Тему можно считать закрытой.
0
|
|
| 27.11.2018, 09:02 | |
|
Написать алгоритм поиска данных методом линейного поиска
Алгоритм бинарного поиска (поиска делением пополам) Вывести элементы, присутствующие в обоих массивах А и В. Алгоритм сортировки - подсчетом, алгоритм поиска - двоичный
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
|
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
|
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ
Основная суть и тезисы по измерениям:
0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема.
Объект не может перемещаться в 0D.
1D (Первое измерение):. . .
|
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek
ВВЕДЕНИЕ
Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
|
|
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
|
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2.
Задача:
Обеспечить запись документа в регистр сведений независимо от. . .
|
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется.
Ну как вам?
|
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания
источниках данных и элементов формы(текстовые поля и метки), опирается все
это на технологию событий и мета. . .
|