XXIV Олимпиада по программированию учетно-аналитических задач (в среде 1С)

27.04.13

Сообщество - О жизни

Организатор олимпиады - Фирма «1С» и Финансовая Академия при Правительстве РФ. Ее суть – написать внешнюю обработку, которая бы анализировала исходную базу и выдавала правильный ответ. Цель – привлечь и выявить талантливых студентов, "подсадить" их на 1С с раннего возраста Предлагаю вашему вниманию задание нашего регионального тура.

Скачать файлы

Наименование Файл Версия Размер
Каркасная конфигурация
.1cd 752,00Kb
90
.1cd 752,00Kb 90 Скачать бесплатно
Задание I тур 2010 Оренбург.doc
.doc 102,00Kb
70
.doc 102,00Kb 70 Скачать бесплатно

Продолжение темы //infostart.ru/public/19068/

Информационная поддержка http://fa-kit.ru/main_lst.php?top_id=11965&desc=1

Информационный выпуск http://www.1c.ru/news/info.jsp?id=11249


Олимпиада стала традиционной. В ней студенты бурятся за ценные призы (поездка в Париж, ноутбук + УПП, КПК + web-расширение, iPod) и почетные грамоты (сертификаты 1С). Не студенты могут ради интереса принять в ней участие заочно.

Действие проводится в два тура. Первый (отборочный) ложится на плечи региональные представительств. Второй проводится на базе учебного центра №3 фирмы «1С».
В этом году у нас была такая задача. Обидно, что ее никто не решил. 

Постановка задачи
Брокерская компания производит операции на рынке ценных бумаг. Организация коммерческая, поэтому ее цель – максимизировать прибыль. В рамках автоматизации компании была разработана информационная база на основе платформы 1С:Предприятие 8, содержащая данные о прогнозируемых курсах ценных бумаг.
Вам необходимо разработать механизм, который бы определял оптимальное поведение на рынке, т.е. подсказывал в какой момент необходимо покупать и продавать определенный вид ценных бумаг, чтобы в итоге получить как можно больший прирост денежных средств.

Состав конфигурации:
- задание участнику (формат word 2003);
- исходная структура данных (справочник, документ, регистр сведений);
- контрольный пример;
- отчет по курсам ценных бумаг (СКД);
- решение жюри (не включен в интерфейс);
- чекер для проверки правильности решений (не включен в интерфейс).

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

PS: Мне кажется, что есть решение одним пакетом запросов. Что скажете?

 

См. также

"250+ тысяч, в штат и работу пока не ищу": как изменился типичный 1С-ник в 2023 году

О жизни Россия Бесплатно (free)

Подводим итоги работы в 1С за 2023 год. Все о вас: 4 подробных раздела с цифрами, графиками и ужасными цветами диаграмм (должна же где-то быть стабильность).

08.02.2024    21353    Neti    85    

106

Адекватность работодателя. Как её определить? Часть 2. Процесс работы, от испытательного срока до увольнения

О жизни Бесплатно (free)

В процессе написания статей на тему Идеальное место работы ЗУПера нужен аргументированный текст про адекватного работодателя. Информации получилось много, поэтому выделю в отдельные 2 статьи. Рассмотрим все недостатки работодателей от момента собеседования до момента увольнения. Все этапы, как всегда, подкреплены реальными случаями из моего опыта.

22.01.2024    3458    biimmap    61    

66

Адекватность работодателя. Как её определить? Часть 1. Собеседование, заключение трудового договора

О жизни Конфигурации 1cv8 Бесплатно (free)

В процессе написания статей на тему Идеальное место работы ЗУПера нужен аргументированный текст про адекватного работодателя. Информации получилось много, поэтому выделю в отдельные 2 статьи. Рассмотрим все недостатки работодателей от момента собеседования до момента увольнения. Все этапы, как всегда, подкреплены реальными случаями из моего опыта.

16.01.2024    4933    biimmap    99    

76

Идеальное место работы для ЗУПера... Какое оно?! Часть 1. Негативные тенденции, ненужные знания.

О жизни Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и Управление Персоналом 3.x Бесплатно (free)

Импортозамещение увеличило потребность в архитекторах, аналитиках, разработчиках 1С, в т.ч. по ЗУП. Все их ищут всеми возможными способами, но не могут найти и не знают, чем же их завлечь к себе!? Давайте разберёмся в этом вопросе!

27.11.2023    4159    biimmap    52    

72

15 лет вместе...

О жизни Сообщество Бесплатно (free)

Прочитав название публикации, мысль возникает о свадьбе... Но речь не об этом!

25.08.2023    2407    biimmap    23    

46

Как изменилось собеседование разработчиков 1С за последний год

О жизни Россия Бесплатно (free)

«Многие кандидаты хотят от собеседования простую вещь: чтобы оно длилось пять минут и брали сразу на 300 000 в наносекунду», — Эльдар Мингалиев, разрабатывает новые форматы собеседований.

22.08.2023    13699    Neti    161    

107

Зачем и как ставить плюсы

О жизни Бесплатно (free)

Не раз сталкивался с тем, что пользователи сайта не очень понимают, как ставить плюсы и зачем. Многие думают, что поставить плюс = добавить публикацию в избранное. В статье будет кратко об этом.

21.08.2023    3547    biimmap    93    

126
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. marsohod 123 15.02.10 03:00 Сейчас в теме
Максимальную прибыль дает эмиссия национальной валюты, ее вывод на спекулятивный рынок Forex и приобретение доллара, евро, золота. Конечно, если Вы контролируете Центральный Банк.
Ой, что это я сказал...
© Сами Знаете Кто
2. Serj1C 483 15.02.10 07:13 Сейчас в теме
3. Arabo_xv 5 15.02.10 09:36 Сейчас в теме
А где можно посмотреть требования к работе (время работы, объем доступной памяти). В каком виде должен выдаваться ответ?
4. Serj1C 483 15.02.10 10:30 Сейчас в теме
(3) Требования всегда описываются в задании. Время работы - чем меньше тем лучше. Объем памяти строго не ограничен, сдесь большее значение имеет красота решения. Именно в этой задаче ответ выводится в документ, где состав и тип полей жестко указан в конфигурарторе.

Вообще олимпиада по 1С имеет принципиальные оличия от олимпиад по спортивному программированию (количество задач, объемы тестов, экономическая направленность)
5. Arabo_xv 5 15.02.10 11:55 Сейчас в теме
Просто эта задача легко решается жадным алгоритмом. Если не ограничена память то я тогда не могу понять в чём сложность зачи :(. Без ограничений она решение её тривиально.
6. Serj1C 483 15.02.10 12:36 Сейчас в теме
(5) Хорошо. Сколько ты думаешь времени у тебя уйдет с отладкой? 2 часа?
Попробуй засечь время. На олимпиаде есть 4 часа.
И пришли мне плиз решение.

Мне тоже кажется легко. Но однозначного решения если курс покупки <> курсу продажи я не нашел. Это уже интереснее.
7. Arabo_xv 5 15.02.10 13:15 Сейчас в теме
К сожалению я не могу скачать условие задачи (сегодня уже скачивал с инфостарта файл) :(
8. Arabo_xv 5 15.02.10 14:22 Сейчас в теме
Значит так алгоритм решения следующий:
1 - Определяем дату начала и дату конца торговли.
2 - Делаем цикл по дням с даты начала по дата конец - 1.
3 - Если есть закупленная валюта то продаём её.
4 - Получаем срез последних за текушую дату и на следующий день.
5 - Для валют у которых курсы отличаются берём ту валюту по которой вырожение (КурсКонца - КурсНачала) / КурсНачала максимален и на все активы покупаем эту валюту.
После цикла проверяем если всё ещё есть закупленные валюты то продаём их.
Этот алгоритм даёт максимальную прибыль но не оптимален к ресурсам вычислительной техники.

PS реализация займёт не более часа :)
9. Serj1C 483 15.02.10 14:28 Сейчас в теме
(8) логика, конечно, верная, но... Получать срез последних в цикле - не комильфо по стандартам методики разработки 1С. Мне тоже казалось час надо, а получилось полтора как минимум. И потом еще мелкие штришки. Так что зря ты так ) Напиши, сделаем замер производительности.
11. tango 506 15.02.10 14:44 Сейчас в теме
(8)
3. сначала по 5. определяем валюту к покупке, и если имеющаяся валюта не равна по 5., то продаем ее

не забываем, что за каждую транзакцию отчисляем бонус оператору
13. tango 506 15.02.10 15:10 Сейчас в теме
(11) тогда лишнее движение будем учитывать при прочих равных
16. Serj1C 483 15.02.10 16:53 Сейчас в теме
(13) мое решение (уже в каркасной конфигурации) минимум операций делает.
(14) хромать он не будет, он на это заточен, проверь
(15) согласен
17. Arabo_xv 5 15.02.10 17:27 Сейчас в теме
(16) Хех у вас вообще "Не зачёт!" если слегка подкрутить курсы.
Строка №5 Превышен денежный лимит -0,01<>1 015 364,406
Строка №9 Превышен денежный лимит -242,65<>1 034 502,5985
Строка №11 Превышен денежный лимит -242,53<>1 046 427,584
Строка №13 Превышен денежный лимит -242,66<>1 155 906,344
Строка №15 Превышен денежный лимит -242,64<>1 158 187,7232
Строка №17 Превышен денежный лимит -242,61<>1 183 783,0014
Строка №19 Превышен денежный лимит -242,58<>1 282 827,7332
Свой решение я написал за 38 минут + до этого минут 20 потратил на ознакомление с задачей. Работает она в 2-3 раза медленнее, но даёт максимальный результат и не имеет ошибок округления.
18. Serj1C 483 15.02.10 18:18 Сейчас в теме
(17) Любопытно! Поделишься подкрученными курсами и своим решением?
19. Arabo_xv 5 15.02.10 18:33 Сейчас в теме
20. Serj1C 483 15.02.10 18:58 Сейчас в теме
(19) Хорошая попытка. В 7й и 8й строчке на лицо переполнение Количества.
Если увеличить длину реквизита документа, то тот же алгоритм дает 47.42% прироста при соблюдении всех описанных выше условий.

Ваше решение в студию :)
21. Arabo_xv 5 15.02.10 19:08 Сейчас в теме
(20) А разве не на вас лежит ответственность за контролем переполнения? В условии сказанно что вы не можете исползовать больше чем у вас есть средств. Дело в том что вы даже не пытаетесь избежать ошибки округления а значит всегда есть исходные данные когда у вас будет ошибка. Моё решение http://depositfiles.com/files/oa8oxkf7f пароль 123456.
PS Исходные данные я поменял именно из-за того что заметил в вашем решени перерасход средств.
22. Serj1C 483 15.02.10 19:22 Сейчас в теме
(21) Мне понравилось. Хоть и медленней, но это хорошее решение! Плюс.

Если Вы еще студент, очень рекомендую зарегистрироваться на сайте Финансовой Академии (http://fa-kit.ru/) и участвовать хотя бы в заочном туре, у вас все шансы на победу! А если не студент, то можно будет нам вне конкурса посоревноваться.

Было оч. приятно дискутировать!
15. Arabo_xv 5 15.02.10 15:19 Сейчас в теме
(11) Картину это не меняет. Это меняет лишь количество операций, а не прибыль.
10. Arabo_xv 5 15.02.10 14:42 Сейчас в теме
В условиях сказанно что победит тот кто получит максимальную прибыл и только в случае если прибыль будет одинаковая будут оценивать другие критерии.
12. Serj1C 483 15.02.10 15:07 Сейчас в теме
(10) думаю, что итоговый навар у нас получится одинаковый
(11) в условиях задачи про коммисию ничего не сказано
14. Arabo_xv 5 15.02.10 15:17 Сейчас в теме
(12) Ваш алгоритм будет хромать если курсы не каждым днём вносить. В моём случае я всегда получаю максимальную прибыль.
23. Arabo_xv 5 15.02.10 19:27 Сейчас в теме
Уже давно не студент :) Посмотрим если будет на работе возможность буду участвовать.
24. vlad3190 17.02.10 15:41 Сейчас в теме
Нужно взять вторую производную, и там где точки перегиба - покупать или же продавать, в зависимости от того, на какой знак меняется.
25. Serj1C 483 17.02.10 17:11 Сейчас в теме
(24) Мало себе это представляю.
26. Pavel_Vladivostok 58 20.04.12 07:29 Сейчас в теме
Я что-то не понял в чем вообще сложность задачи, если прогноз по курсам торгуемых активов уже есть то можно рассчитать прибыльность потенциальных сделок по целям этих прогнозов, и если известно сколько денег на управляемых брокером счетах, можно действительно одним запросом выдать что и в каком объеме покупать и сколько держать позиции.
детский сад какой-то а не олимпиада.
28. Serj1C 483 20.04.12 07:39 Сейчас в теме
(26) При всей простоте задачи ни один студент 4го курса не смог ее решить и выйти во второй тур. Было печально.

Вот кстати, задание олимпиады этого года http://fa-kit.ru/main_dsp.php?top_id=22317
27. Pavel_Vladivostok 58 20.04.12 07:31 Сейчас в теме
Кстати 1С очень плохо подходит для автоматизации финансового сектора, т.к. очееееееень медленно все выходит.
29. Irwin 541 10.03.16 16:36 Сейчас в теме
У кого-нибудь есть финальное задание 2008 года?
30. Serj1C 483 10.03.16 19:46 Сейчас в теме
(29) Irwin, на официальном сайте организатора - http://fa-kit.ru/main_dsp.php?top_id=3730
Оставьте свое сообщение