Имя: Пароль:
LIFE
1С v8
OFF: Олимпиада 1С, странные требования
,
0 Куникулус
 
21.02.19
07:26
Довелось мне тут побывать в жури региональной олимпиады по программированию на 1С.

И условия олимпиады заставили кипеть мой разум возмущенный.

Задача примерно такая: магазина продает водку. Водка может идти в бутылках, может в упаковках по 6 бутылок, и в коробках по 6 упаковок. У каждого своя цена.

Задача: есть заказ на Х бутылок, надо подобрать наиболее выгодный по стоимости для заказчика вариант. Для этого, написать отчет в который будут выводится соответствующие данные

В принципе задача классическая, а поскольку всего три варианта, то можно даже не заморачиваться с рекурсиями, и сделать полный перебор двумя вложенными циклами (для одного наименования продукции).

Но в регламент проверки, оказался весьма специфическим.

Есть несколько заполненных документов которые надо проверить отчетом.

1. Несколько вариантов для получения баллов, требовали выводить сообщение об ошибочном заполнении, документ пустой, документ с нулевым количеством. В условиях задачи этого не было.
2. Допустим себестоимость одной бутылки одинакова для бутылки, упаковки, коробки. Допустим надо 36 бутылок, можно взять 1 коробку, а можно взять 36 бутылок - стоимость одинаковая. Так вот по регламенту при решении задачи, правильным является вариант 1 упаковка, т.е. если есть несколько вариантов, то надо подбирать сначала самые объемные тары. Причем основное большинство балов дается именно за такое распределение. Причем опять же в условиях такого не описано.

Конечно участники и с простейшим перебором не справились.

Но вот такие дополнительные условия, о которых будут "свои" знать, а "чужие" не будут, делает олимпиаду бессмысленной.
1 Лодырь
 
21.02.19
07:29
Ну пункт 1 имхо вполне имеет право на жизнь.
А вот второй пункт - если никак не вытекает из условий задачи - то бред.
2 RomaH
 
naïve
21.02.19
07:34
(0) такова жизнь
тебе говорят "хотелку" - ты из хотелки делаешь либо конфетку, либо не совсем конфетку - тут додумывать надо самому
по четкому ТЗ каждый сможет, а вот придумать как будет лучше - тот и выйграл
3 Convert
 
21.02.19
07:38
(0) Так это еще нужно остатки проверить, а то вдруг кому-то не хватит. Тоже поди в условиях не было?
4 Йохохо
 
21.02.19
07:43
первый пункт это школьная мета "как получить пару по программированию", второй можно было бы оспорить, если это не районная хотя бы
ЗЫ недавно спросил учителя, что пойдет в журнал, если в домашке были задачи на тройку, четверку и пятерку, и ученик сдал на 3 и 4 с ошибкой и решенную на 5. получил мгновенный безапелляционный ответ "два", а если бы сдал одну на 5? "пять". Там свои правила
5 hhhh
 
21.02.19
07:44
(1) ну и ежу понятно, что если есть возможность, покупатель возьмет коробку, а не 36 бутылок россыпью. Это даже не обсуждается. И в условиях расписывать не нужно.
6 Куникулус
 
21.02.19
07:47
(3) Не остатки. Допустим есть документ но пустой, без строк или строки с нулевым количеством.
7 Йохохо
 
21.02.19
07:48
(5) в задачах по математике ежу ничего не понятно, а в программировании и физике этот зверь решает
(3) тогда решений нет
8 Лодырь
 
21.02.19
07:50
(5) Может ему надо делать визуальный осмотр бутылок? Или условия перевозки непозволяют использовать коробки по 36, а только коробки по 6?
9 Куникулус
 
21.02.19
07:51
(5) Согласен. Но это допустим плюс 1-2 балла. Но тут подавляющее количество баллов за правильное распределение.
10 hhhh
 
21.02.19
08:03
(8) ну вот это и надо писать в условии. А по умолчанию все берут коробками. Да и по условиям перевозки: коробку даже на велосипеде легко перевезти, а вот 36 бутылок это будет проблема.
11 73с
 
21.02.19
08:09
(8) Покупатель женщина, грузчиков нет и ей влом таскать тяжеленные коробки, ей лучше по 6 штук. :)
12 Bigbro
 
21.02.19
08:09
я бы за пропаганду реализации алкоголя среди школьников обращение в прокуратуру сделал, чтоб неповадно было такие задачи придумывать.
13 Куникулус
 
21.02.19
08:14
(12) Про водку это юмор был, минералка в условии.
14 АНДР
 
21.02.19
08:16
(0)
Задача примерно такая:
Задача:

Полностью опубликовать задачу и регламент проверки слабо? А то не понятно, на что ты, как член жюри, жалуешься.
15 Куникулус
 
21.02.19
08:19
(14) Регламент могу. Задачу не взял.
16 Dotoshin
 
21.02.19
08:41
(15) Ну тогда напиши своими словами, как бы ты на собеседовании поставил бы такую задачу соискателю?
17 ADirks
 
21.02.19
08:48
(0) для 1С-негов самое то, 80% самому додумывать приходится
18 Куникулус
 
21.02.19
09:01
(16) А причем тут я? Вот есть задача. За её решение условно говоря 4 балла и еще 8 баллов за то о чем в задаче нет ни слова. Если бы эти условия были, то эти доработки, заняли бы приблизительно 1-3% от общего решения задачи. Получается олимпиада не на программирование, а на интуицию.
19 Dotoshin
 
21.02.19
09:25
(18) >>Получается олимпиада не на программирование, а на интуицию.
Ну все как в жизни - приходит пользователь и говорит, а сделайте мне автоматический подбор в документе, но про все возможные ситуации не говорит. Про нюансы ты должен сам догадаться :)
20 СвинТуз
 
21.02.19
09:27
(0)
"Есть незаполненные документы, которые нужно проверить отчетом"
Прививают плохие манеры с детства? Учит учитель не нюхавший реальные конфигурации и не понимающих как работает 1с?
Отчет требуется построить по документам? Любой бы кто посмел это сделать на той олимпиаде где в жюри рулил я получил бы не много балов.
21 Cyberhawk
 
21.02.19
09:29
(20) А как ты незаполненные-то выявишь, кроме как по документам (ну, по их Тч наверное)? ))
22 СвинТуз
 
21.02.19
09:31
(21)
Чему учат детей?
Есть же методы в документе, позволяющие не дать записать пустой документ. Отчет при чем здесь?
23 СвинТуз
 
21.02.19
09:33
Вообще думаю это тролинг. Задача плохо обрисована.
Все рассчитано на вызов эмоций, которое будут сожраны зеленым.
24 СвинТуз
 
21.02.19
09:34
Или другой вариант. Этих учителей нужно разогнать .
25 СвинТуз
 
21.02.19
09:34
Как вредителей.
26 Йохохо
 
21.02.19
09:36
(25) а то потом придут яжемати от явы, аджайла, гитхаба и орифлейм и вообще всех замочат
27 Куникулус
 
21.02.19
09:46
(20) Я тебе больше скажу там прайс лист в обычном справочнике, никаких периодов.
28 Cyberhawk
 
21.02.19
09:59
(22) Так документ не пустой. У него что-то в шапке заполнено. Черновик типа. Вот как раз не давать записывать такой - это моветон.
29 СвинТуз
 
21.02.19
10:15
(28)
Работать по документам = не правильно.
30 СвинТуз
 
21.02.19
10:16
(27)
Сталина на них нет
31 Лодырь
 
21.02.19
10:16
(29) Предметов анализа являются именно документы. Поэтому правильно.
32 СвинТуз
 
21.02.19
10:18
(31)
Ну вот и понеслось …
Скучно. Я спорить не буду.
Плохие привычки не нужно детям с детства прививать.
33 СвинТуз
 
21.02.19
10:20
(31)
Не документы а остатки партий, если на то прошло.
34 NikVars
 
21.02.19
10:20
(0) Впервые столкнулся с некорректно описанными задачами и некорректными решениями?!
На то и ты, чтобы "все было правильно".
Кста, а что такое "жури"?!
35 СвинТуз
 
21.02.19
10:22
Но я так понимаю здесь вообще идет речь о комбинаторике.
Анализируем прайс и вне зависимости от остатков формируем предложение покупателю.
Достаточно прайса. Остатки типа всегда есть?
Или нужно анализируя документы получить остатки?
36 СвинТуз
 
21.02.19
10:23
Их там всех в "жури" мочить нужно в отхожем месте за порчу детей.
37 mistеr
 
21.02.19
10:24
(1) "пункт 1 имхо вполне имеет право на жизнь"

Не имеет. Контроль заполнения документов нужно делать не в отчете.

В крайнем случае, оговорить в условии.
38 Куникулус
 
21.02.19
10:26
(35) Никаких остатков нет. Есть справочник номенклатуры-прайс, есть документ заказ.
39 Cyberhawk
 
21.02.19
10:28
(29) Пока складывается ощущение, что либо ты жертва "стандартов ИТС", либо находишься мыслями в каком-то своем контексте с какими-то своими доп. условиями
40 Лодырь
 
21.02.19
10:29
(35) Верно, речь о комбинаторике. И учебной задаче. Поэтому не надо домысливать. Есть условия - есть решение. И предметом анализа являются все таки документы. Потому что надо проконтролировать корректность заполнения именно документов.
(37) Это учебная задачка. Контроль на корректность входящих данных - вполне себе нормально. Делать его за рамками задачи - как раз и будет моветоном.
41 СвинТуз
 
21.02.19
10:35
(38)
Если нет остатков, то при чем здесь документы?
42 СвинТуз
 
21.02.19
10:36
(40)
Входящие данные = прайс.
43 Лодырь
 
21.02.19
10:40
(42) Мы не видим полного условия задачи, однако позволю себе процитировать:

Водка может идти в бутылках, может в упаковках по 6 бутылок, и в коробках по 6 упаковок. У каждого своя цена.
Задача: есть заказ на Х бутылок, надо подобрать наиболее выгодный по стоимости для заказчика вариант. Для этого, написать отчет в который будут выводится соответствующие данные

Как видим есть кроме прайса как минимум заказ.

Далее:
Есть несколько заполненных документов которые надо проверить отчетом.

Как видим есть уже готовые документы, которые так же надо проверить. То есть входящих данных чуть больше чем просто прайс. Вы согласны?
44 Куникулус
 
21.02.19
10:54
(41) В документе номенклатура и количество которое требуется заказать.
45 dezss
 
21.02.19
10:57
(0) А если участник набросает еще и обмен по ЕГАИС, то ему доп. баллы предусматривались?))))
46 Куникулус
 
21.02.19
10:58
(43)
Примерно так
Справочник:
Водка Абсолют Бутылка 100р. упаковка 500р. коробка 3000р.
Водка Путинка Бутылка 90р. упаковка 400р. коробка 2000р.
Водка Белый орел Бутылка 120р. упаковка 650р. коробка 4000р.

Документ
док №1
Водка Абсолют 33 бутылки
Водка Белый орел 122 бутылки

док №1
Водка Путинка 57 бутылок
47 СвинТуз
 
21.02.19
11:01
Вообще очень похоже на задачу комовояжера.  
1. Выбираем самую дешёвую упаковку которая вписывается (остальные варианты вычеркиваем как более дорогие, и берем самую большую тару.).
2. Выбираем товара столько сколько можно
3. Повторяем пока не спишем.

(43) А зачем проверять документы? Партий то нет. Если явно не указано в задании. Документы партий или документы заявок?
48 СвинТуз
 
21.02.19
11:02
Задача не стоит ломки копий.
49 Вафель
 
21.02.19
11:02
(47) задача о рюкзаке только
50 СвинТуз
 
21.02.19
11:03
(47)
За рекурсию я бы тоже убил )
Бесконечный цикл можно.
51 СвинТуз
 
21.02.19
11:03
(49)
Логика похожа.
52 Вафель
 
21.02.19
11:04
(51) задача комивояжера - пройти по всем точкам и вернуться назад
53 СвинТуз
 
21.02.19
11:06
(52)
Один черт. Снизить порядок операций с N**X до LN(N). Или как то так.
54 Bigbro
 
21.02.19
11:06
ну если в регламенте написано что надо проверить тестовые данные - то все нормально.
используя любые данные для проверки программист (и не только 1сник) должен всегда предполагать что на входе получит козу.
защищаться "от дурака" и "от шутника" - базовые привычки, по крайней мере меня этому учили.
и каждую программу которую сдавал преподавателю тот проверял первым делом вбивая хрень во входные данные.
и отправлял переделывать если вылетала необработанная ошибка.
55 СвинТуз
 
21.02.19
11:08
(54)
Если речь про заказы то да.
56 VladZ
 
21.02.19
11:17
(0) Олимпиада 1с? Однако...  Я понимаю олимпиада от Микрософта или Яндекса.  Возможно, я не прав, но для меня понятие "Олимпиада 1С" - что-то бессмысленное и беспощадное.
57 Cyberhawk
 
21.02.19
11:36
(56) Про конкурс "Лучший пользователь ИТС" не слышал? ))
58 Undefined
 
21.02.19
11:49
Это не экзамен, а Олимпиада. Это нормально, когда о некоторых условиях надо сделать предположение самостоятельно. Как участник олимпиад по физике и математике могу сказать, что на них проверяются не стандартные способности и задачи более творческие чем на экзаменах.
59 Bigbro
 
21.02.19
11:55
(58) ++
аналогично.
недавно сына готовил к олимпиаде по физике, просматривали задачи последних лет.
стандартное и прямолинейное решение всегда либо неверное либо неполное - олимпиады всегда содержат задачи, в которых нужно учитывать нюансы.
60 DexterMorgan
 
21.02.19
11:59
(58) +1, и это правильно, ИМХО
61 NikVars
 
21.02.19
12:16
(58) Это нормально, когда о некоторых условиях надо сделать предположение самостоятельно."
Если твои предположения совпали с предположениями "жури" - ты молоток, если ты оказался умнее, - не важно, все равно - дурак ибо тут в бумажке написано про лес, а ты в степь.
62 APXi
 
21.02.19
12:47
(0) Ну раз ты в был в жюри, то подними хай и отмени результат олимпиады.
63 APXi
 
21.02.19
12:50
(58) Так можно дохренище пост условий выдумать чтобы ты не прошел, а прошел чей нибудь сынок. В задаче ведь не было условия, что призы будут давать только тем у кого число дня рождения 21, ежу ведь понятно, что сегодня 21 и только таким будут призы.
64 dezss
 
21.02.19
12:55
(61) (63) ну так для того и существует жюри, чтобы такие моменты разобрать...
А если жюри куплено или поставлено в рамки, то не важно, кто и как решил, даже если в задаче все нюансы указать.
65 Куникулус
 
21.02.19
13:50
(64) Ну да. Жюри чисто условное. Просо надо в отчете выбирать по очереди разные заказы, и смотреть результата сверяя по бумажке.
66 Куникулус
 
21.02.19
13:52
(62) Там у всех 0 баллов, у кого не запустились, у кого ничего не выводится. У одного участника 2 баллов и то только в тех задачах, где себестоимость у всех тар равная и одним из условий за которое давали бал это совпадение стоимости, т.е. достаточно было просто нужное количество бутылок набрать.
67 Куникулус
 
21.02.19
13:57
(47) Так не работает.

Допустим надо 35 бутылок, коробка по количеству не подходит. Однако, коробка на 36 бутылок может стоит дешевле, чем, если ты будешь подбирать более мелкой тарой.
68 Smile 8D
 
21.02.19
14:46
(67) "которая вписывается", упаковка на 36 не вписывается в 35.
69 Куникулус
 
21.02.19
14:53
(68) И что? Если упаковка на 36 стоит дешевле чем все варианты на 35 естественно надо брать.
70 Волшебник
 
21.02.19
14:57
жури...
куда катится мир...
71 Cyberhawk
 
21.02.19
15:20
(70) Пожурили и хватит )
72 Smile 8D
 
21.02.19
15:21
(69) Т.е. по условию задачи можно было продать клиенту больше чем он заказывает, если это выгоднее? С реальной жизнью это мало общего имеет. Не всегда клиент будет согласен взять лишние 5 литров воды, даже если бесплатно) ее тащить надо будет и вообще он же не просто так заказывает определенное количество, возможно, ему некуда девать больше.
73 Куникулус
 
21.02.19
15:46
(72) В условиях написано: наиболее выгодный вариант.
74 Лодырь
 
22.02.19
05:20
(73) А написано для кого выгодный? Возможно, выгода продавца имеется в виду? ))
75 Куникулус
 
22.02.19
05:46
76 Лодырь
 
22.02.19
06:04
(75) Совсем другое дело )
77 Smile 8D
 
22.02.19
10:15
(75) Ну да, описание в первом посте совсем не совпадает с задачей. Про нулевые значения в задаче написано. Про приоритет упаковок, действительно, ничего нет, но хотелось бы увидеть точную формулировку условий получения баллов (может быть там как в задаче все гораздо четче, чем вы описываете).
78 Куникулус
 
23.02.19
12:47
Основная теорема систематики: Новые системы плодят новые проблемы.