Краткая справка по программе: файл help.txt В файле README.md указана общая методика подсчёта
Программа для оценки мест спортсменов без очковой системы. Например, если гонщики проехали несколько гонок (известны их места), но очковую систему не хочется вводить, то эта программа сможет распределить гонщиков без очков.
- Подготовьте файл с исходными данными
- Нажав кнопку "Файл" выберите файл с исходными данными
- Нажмите кнопку "Расчёт"
- После расчёта результат будет выведен в файл результата (оканчивается на .result.txt)
В папке data лежат файлы example1-0.txt и тому подобные. Посмотрите, как они устроены.
Строки, начинающиеся с символа "#" являются комментариями (кроме первой строки - она никогда не комментарий)
Первая строка - приоритеты оценок. О ней мы поговорим позже.
Остальные строки идут по принципу: одна строка - имя спортсмена, вторая строка - место по данному параметру. Считается, что по каждому параметру места между спортсменами определены. Спортсмены могут делить одно и то же место (например, все занять первое по какому-то параметру).
Например, если в первой гонке Шумахер занял 3 место, а во второй гонке - 7 место, то это будет выглядеть так
Шумахер
3 7
Чем выше место - тем лучше спортсмен по этому параметру (в этом состязании).
Например, если идёт конкурс красоты, и мы ценим блондинок выше брюнеток, то
Блондинка1
0
Брюнетка1
2
Блондинка2
0
Брюнетка2
2
Русая1
1
Все блондинки получают нулевое место (допустим, мы начали нумерацию с нуля). Русые - первое место. Брюнетки - второе место.
Места могут быть какие угодно, их могут занимать не по порядку. Вместо мест можно даже указывать любое целое число (не более 2-х миллиардов), соответствующее оцениваемому параметру. Например, если Хэмильтон прошёл трассу за 78887 тысячных секунд (1 минута, 18 секунд и 887 тысячных секунды), можно просто ввести это вместо места. То есть вводим
Хэмильтон
78887
Он всё равно займёт нужное место, так как чем меньше время прохождения круга - тем лучше. То есть данный параметр напрямую заменяет место.
Если соревнуются прыгуны и прыгун прыгнул на 373 сантиметра, то это также можно ввести вместо места. Однако, в данном случае правило "чем параметр меньше - тем лучше" не выполняется. Чем больше - тем лучше, а значит, при расчёте нужно поставить флажок "Первые места хуже" (программа будет иметь в виду, что 373 лучше, чем 372).
Все параметры, по которым идёт сравнение, должны быть по одному принципу: либо чем меньше - тем лучше, либо чем больше - тем лучше. Если нужно инвертировать параметр, можно ввести отрицательную величину. Например, не "373", а "-373".
В первой строке находятся приоритеты параметров. Чем левее (первее) номер параметра, тем выше его приоритет. Параметры нумеруются с нуля.
Например, если прошло пять гонок и более ранняя побда важнее, чем более поздняя, то приоритеты будут выглядеть так 0 1 2 3 4
То есть победа в первой гонке важнее, чем победа во второй. Победа во второй важнее, чем победа в третьей и т.п.
Если победа в более поздней гонке важнее, чем в более ранней. 4 3 2 1 0
Если параметры выставляют судьи и все судьи равны, то нужно отметить флажок "Без приоритетов (все судьи равны)" В таком случае, первая строка должна быть либо пустой, либо может содержать любые приоритеты, но совпадающие с количеством судей. Например, если судей пять, то первая строка должна быть либо пустая, либо содержащая корректные пять приоритетов, например "0 1 2 3 4".
Смотрим example3-0.txt
Пусть у нас конкурс красоты. Соревнуются Анна, Валерия, Елена, Екатерина и Ирина.
Их параметры и легенда конкурса описаны в комментариях в указанном файле.
example3-1.txt с изменёнными приоритетами вместо Ирины побеждает Екатерина (она лучше одета). Всё остальное осталось тем же.
В файле example3-2.txt введены баллы каждого члена жюри по отдельности (члены жюри немного не равны).