Мы в Telegram
Добавить новость
103news.com
Работа
Март
2022
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
26
27 28 29 30 31

Разработать программу наполнения БД и выборки из нее по критериям

0
ПО должно уметь:
1. Сравнение критериев отдельных существующих продуктов и формирование списка критериев, по совкупности однозначно определяющих только трех выбранных.
при невозможности однозначного определения - отображение таблицы из продуктов и определяющих критериев, подходящих под данные требования.
2. Сравнение критериев отдельных существующих продуктов и формирование списка критериев, по совокупности определяющих одного наилучшего
3. Поиск и выдача подходящего продукта (списка продуктов) по одному или нескольким сформированным ранее критериям.
4. Справочное отображение списка поддерживаемых продуктовых имен без дублей.
5. Справочное отображение списка имен и значений критериев для выбранного продуктового наименования и ключевого критерия.
6. Редактирование и заведение критериев, наименований продуктов.

#результат работы:
-внятный исходный код, который можно поддерживать и который компилируется в работающую программу под Windows.
-работающая программа
-бесплатное исправление багов при их нахождении (если я сам не смогу исправить)

Предпочтительное выполнение MYSQL+C# (Windows), графический интерфейс.
Альтернативы - обсуждаемы.
Полное наполнение базы данных будет сделано мною сильно позже, отладка на тестовом наборе (предоставляется в виде таблички в Excel).

Предусмотреть 2 вида доступа к данным: пользовательский - без пароля и админский с паролем ( с возможностью редактирования и наполнения).
Сроки - 1 месяц. Вряд ли потребуется больше...но обсуждаемо.

------ Ниже чуть более подробно как оно должно работать в моем понимании ----

Информация о продуктах хранится в базе данных в нескольких таблицах:
-тип критерия (id, наименование критерия, признак "наилучшести")
Критерии могут быть:
-Бинарными (да/нет), при этом признак наилучшести может быть как "Да" так и "Нет" в зависимости от критерия
-Цифровыми (целочисленные или с плавающей точкой), при этом признак наилучшести может быть как "чем меньше тем лучше " так и "чем больше тем лучше"
-продукт (id, наименование, id ключевого критерия ).
-принадлежность (id продукта, id критерия, значение критерия( Да/Нет или цифровое), источник критерия)
источник критерия - тестовое поле с информацией откуда был получен критерий в свободной форме. Используется для справки.
Вспомогательная таблица для разграничения доступа:
-имя админа, хэш пароля

1.
Параметры при запуске алгоритма:
Первый продукт (текстовое поле)- наименование+ ключевой критерий (ниспадающий список ключевых критериев)
Второй продукт (текстовое поле)- наименование или его часть (если вводится часть и вариантов больше чем 1 - дать показать пользователю варианты для выбора)
Третий продукт (текстовое поле)- наименование или его часть (если вводится часть и вариантов больше чем 1 - дать показать пользователю варианты для выбора)
"Источник" (галка) - в итоговой выдаче показывается 3я колонка с источником информации
"Точность" (галка) - точная граничная выдача (см ниже)
"Вода"(галка) -
при выборе данного параметра в итоговый список критериев добавляются все параметры, даже те, которые идентичны у всех продуктов таблицы
при отсутствии данного параметра в итоговый список критериев добавляются только те параметры, которые лучше хотя бы одного продукта
вне списка выбранных трех.
(Очевидно что если признак наилучшести критерия -"Да", значение критерия для первого продукта "Нет" и "Вода" не выбрана - то критерий не добавляется)

Дальше проще написать буквами, чем словами.
Пусть выбранные продукты имеют наименования П1, П2, П3 и рассматриваемые их критерии k1, k2, k3.
Критерии данного наименования для прочих продуктов - ki.
Квых - выходной публикуемый критерий.

Пустой критерий для определенного продукта (отсутствие значения) - продукт не участвует в анализе и сравнении по данному критерию.

В случае цифровых критериев значение цифрового критерия в выдаче определяется следующм образом чтобы отсечь другие продукты, которые хуже
критериев выбранных, когда это возможно.


Если "чем меньше тем лучше"
Если "Точность" то
если ki>max(k1, k2, k3) || "Вода" => Kвых="не более чем" + max(k1, k2, k3)
Иначе
если min(ki)>max(k1, k2, k3) => Kвых="не более чем" + (min(ki)-max(k1, k2, k3))/2+max(k1,k2, k3)
иначе
если "Вода" => Kвых="не более чем" + max(k1, k2, k3)

Если "чем больше тем лучше"
Если "Точность" то
если ki<min(k1, k2, k3) || "Вода" => Kвых="не менее чем" + min(k1, k2, k3)
Иначе
если max(ki)<min(k1, k2, k3) => Kвых="не менее чем" + min(k1,k2, k3)- ((min(k1, k2, k3)-max(ki))/2)
иначе
если "Вода" => Kвых="не менее чем" + min(k1, k2, k3)


Итоговая выдача представляет из себя текстовый список (доступный для copy-paste) вида:
"Наименование критерия" "значение критерия"
"Наименование критерия2" "значение критерия2"

Если хотя бы 1 критерий в общем наборе критериев дробный, то значение критерия в итоговом списке может быть дробным.
Иначе оно целочисленное округляется в меньшую сторону для "не более чем.." и в большую для "не более чем.."

2.Параметры при запуске алгоритма:
Первый продукт (текстовое поле)- наименование+ определяющий критерий (ниспадающий список)
"Точность" (галка) - точная граничная выдача (см ниже)
"Вода"(галка) -
при выборе данного параметра в итоговый список критериев добавляются все параметры, даже те, которые идентичны у всех продуктов таблицы
при отсутствии данного параметра в итоговый список критериев добавляются только те параметры, наилучшие по сравнению хотя бы с одним из остальных
(Очевидно что если признак наилучшести критерия -"Да", значение критерия для первого продукта "Нет" и "Вода" не выбрана - то критерий не добавляется)

В случае цифровых критериев значение цифрового критерия в выдаче определяется следующм образом чтобы отсечь другие продукты, которые хуже
критериев выбранных, когда это возможно.
Логический выбор по аналогии с вышенаписанными формулами п.1.

Итоговая выдача представляет из себя текстовый список (доступный для copy-paste) вида:
"Наименование критерия" "значение критерия"
"Наименование критерия2" "значение критерия2"

3. Необходимо обеспечить возможность поиска:
- по текстовому вводу (текстовое поле), в котором сформированы данные в виде наименование критерия значение. Первым в списке идет ключевой критерий.
(контрольная проверка - результат программы из п.1 или п.2 должен приводить к выводу соответствующих имен продуктов и их ключевых критериев)
-по отдельным критериям, т.е. должно быть 3 поля- ниспадающее с именем критерия с быстрым вводом, текстовое со значением критерия и ниспадающий список ("" < > = <= >= ).
Т.е можно с помощью данного пункта найти все продукты по критерию Ширина < 940мм / ширина < 940 / шиРина, мм < 940
и "Наличие меха" "" Да (защита от неправильного ввода - при пустом значении в ниспадающем списке - возможно выбрать только Да или Нет)
4. Просто всплывающее окошко со списком
5. Всплывающее окно с таблицей Критерий-значение-источник критерия и заголовком таблицы с именем продукта и ключевым критерием.
==
по редактированию базы: удобно для одного продукта отображать сразу таблицу критериев с возможностью их редактирования и общей кнопки их сохранения.
поиск по имени продукта и ключевому критерию.
возможность копировать неключевые критерии между продуктами разом (полезно если продукты различаются только парой критериев).




Губернаторы России
Москва

Сергей Собянин: Обеспечим ученикам комфортные условия





Москва

Армяне России поддерживают движение «Тавуш во имя Родины»


Губернаторы России

103news.net – это самые свежие новости из регионов и со всего мира в прямом эфире 24 часа в сутки 7 дней в неделю на всех языках мира без цензуры и предвзятости редактора. Не новости делают нас, а мы – делаем новости. Наши новости опубликованы живыми людьми в формате онлайн. Вы всегда можете добавить свои новости сиюминутно – здесь и прочитать их тут же и – сейчас в России, в Украине и в мире по темам в режиме 24/7 ежесекундно. А теперь ещё - регионы, Крым, Москва и Россия.

Moscow.media
Москва

Собянин рассказал о производстве в Москве умных меток и смарт-карт



103news.comмеждународная интерактивная информационная сеть (ежеминутные новости с ежедневным интелектуальным архивом). Только у нас — все главные новости дня без политической цензуры. "103 Новости" — абсолютно все точки зрения, трезвая аналитика, цивилизованные споры и обсуждения без взаимных обвинений и оскорблений. Помните, что не у всех точка зрения совпадает с Вашей. Уважайте мнение других, даже если Вы отстаиваете свой взгляд и свою позицию. 103news.com — облегчённая версия старейшего обозревателя новостей 123ru.net.

Мы не навязываем Вам своё видение, мы даём Вам объективный срез событий дня без цензуры и без купюр. Новости, какие они есть — онлайн (с поминутным архивом по всем городам и регионам России, Украины, Белоруссии и Абхазии).

103news.com — живые новости в прямом эфире!

В любую минуту Вы можете добавить свою новость мгновенно — здесь.

Музыкальные новости

Тимати

Невеста Тимати сводит с ума туристов откровенными купальниками на Мальдивах




Спорт в России и мире

Алексей Смирнов – актер, которого, надеюсь, еще не забыли

Сергей Лёвкин: в Митине завершат возведение физкультурно-оздоровительного комплекса

Искусство продвинутого анализа в спортивном прогнозировании

Звезды спорта. Кто они такие и почему их так называют?


Новак Джокович

Кто транслирует бой Табило против Джоковича на турнире Rome Masters 1000?



Новости Крыма на Sevpoisk.ru


Москва

В Волоколамском округе отреставрируют церковь Рождества Пресвятой Богородицы



Частные объявления в Вашем городе, в Вашем регионе и в России