0. scientes 168 18.08.14 10:25 Сейчас в теме

Проект Эйлер в 1С

Платформа 1С:Предприятие, как инструмент для решения нестандартных вычислительных задач.

Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо
1. 3.14159 92 18.08.14 15:08 Сейчас в теме
Надеюсь, что когда-нибудь они все будут решены на платформе 1С:Предприятие


- доктор! я буду жить?
- а смысл?
2. scientes 168 18.08.14 15:14 Сейчас в теме
Смысл - популяризация платформы, изменение скептического отношения части IT сообщества к разработчикам на языке 1С.
makfromkz; wunderland; DrAku1a; Makushimo; gubanoff; jobkostya1c8; davealone; +7 Ответить
4. wolfsoft 2420 20.08.14 08:40 Сейчас в теме
(2) во-первых, это не изменит "скептического отношения части IT" (дурака учить - только портить), во-вторых, каждый инструмент предназначен для своих задач (микроскопом можно забивать гвозди, но не нужно), в-третьих, не вижу никакого практического смысла в решении абстрактных задач (когда коту нечего делать, он... ну, дальше вы знаете).
6. scientes 168 20.08.14 10:30 Сейчас в теме
(4) wolfsoft, Разумеется, платформа 1С:Предприятие создавалась для своей предметной области. Тем удивительнее тот факт, что разработчикам удалось, в том числе, создать чрезвычайно удобный инструмент для решения таких абстрактных задач, как Проект Эйлер. Игра в шахматы лишена какого-либо практического смысла, это вопрос личных интересов. Спортивным программирование увлекаются единицы и это нормально. На мой взгляд,решить пару расчетных задач никому не повредит, а только повысит самооценку и расширит кругозор.
monkbest; help1Ckr; +2 Ответить
14. monkbest 100 27.08.14 10:48 Сейчас в теме
(4) wolfsoft, скептическое отношения не потому, что скептики дураки, а потому, что среди нашего брата полно сброда, окончившего 1С курсы по тыканью мышкой и побежавших зарабатывать деньги, назвав себя 1Сниками. Настоящие 1Сники - это все таки математики, прикладные математики, прикладные до мозга костей. Мы этим и отличаемся от С++ников, что в нашей работе прикладные знания имею больший вес, чем математика. Но как настоящим математикам нам должно быть интересно решать задачки подобные проекту Эйлер. А сообщить всему миру, что в среде 1С работают программисты, а не только бухгалтера - идея хорошая.
27. makfromkz 2 09.02.19 14:15 Сейчас в теме
(2) Я не понял, а на сайте Проект Эйлер решения не приводятся?
28. scientes 168 09.02.19 21:11 Сейчас в теме
(27)Решения не приводятся. Если участник нашёл правильный ответ, то ему доступно обсуждение задачи с примерами решений от других участников сообщества.
3. jobkostya1c8 19.08.14 09:04 Сейчас в теме
Хороший проект. Где можно посмотреть методы решения вычислительных задач на 1С 8.
Интересует технология решения СЛАУ (систем линейных алгебраических уравнений) в запросе 1С 8 для расчета себестоимости по РАУЗ.
5. m191 114 20.08.14 09:59 Сейчас в теме
А я думаю, что данная статья это популизация "научного" программирования среди кодеров 1С :).
Думаю не секрет, что большинство из них не имеют специального образования и для некоторых не знакомы такие слова как рекурсия, декомпозиция и т.п.

monkbest; +1 Ответить
9. V_V_V 21.08.14 12:56 Сейчас в теме
(5) m191, среди математиков тоже не все Эйлеры - и что теперь, это недонаука? :)
Не святые горшки лепят, кому сегодня не знакомы рекурсия, декомпозиция, завтра смогут не хуже ildarovich разгребать графы... :)
Понятно что 1С не для высоких математических материй, тем не менее совсем недавно никто не мог предположить, что из 1С можно будет позвонить, обработать почту, получить 3Д-модель, модифицировать мультимедиа-файлы и т.п. - а сейчас многое из перечисленного в категории банальных вещей.
Нормальная статья, спасибо автору.
vittany; wunderland; Sitex; +3 Ответить
7. zqzq 16 21.08.14 09:00 Сейчас в теме
Между тем платформа позволяет эффективно решать самые разнообразные задачи
Такие заявления неплохо бы подтверждать замерами времени в cравнении, например, с C++ или Java. Эффективность встроенного интерпретируемого языка вызывает сомнения. Те замеры, что мне попадались, показывали отставание 1С где-то в 100 раз от С++.
8. scientes 168 21.08.14 09:41 Сейчас в теме
(7) zqzq, Авторы задач утверждают, что при выборе правильного алгоритма, поиск решения будет занимать не больше минуты. Под эффективностью я понимаю скорость формирования и отладки кода и возможность уложиться в отведенную минуту. Кроме этого, реализованная в 1С длинная математика позволяет не тратить время на процедуры длинного сложения и умножения. Безусловно, скорость выполнения расчетов на С выше, есть участники проекта, которые кодируют на ассемблере, там скорость , возможно,еще выше. Уложился расчет в минуту или пару секунд, в данном случае не важно. Как показывает мой небольшой опыт, 1С успешно справляется с подобным классом задач.
10. Rustig 1073 24.08.14 19:20 Сейчас в теме
(0) можно создать свой проект Эйлера, связанный напрямую с предметной областью и платформой 1С.
Задачи будем брать из практики. Понимаете, о чем я пишу? Примеры:
а) все, что не реализовано в типовых, но порой приходится дорабатывать
б) все, что реализовано в типовых, но есть шанс улучшить
в) что-то новое - чего нет в типовых
только нужен движок (сайт), на котором можно было бы развивать этот проект
11. Rustig 1073 24.08.14 19:30 Сейчас в теме
есть ребята, создающие системы автопилотирования транспортных средств http://robocv.ru/products/
они говорят, что оснастить технику датчиками просто, а самое сложное - написать алгоритмы определения местоположения в пространстве. в общем, еще есть темы, в которых сложные алгоритмы будут играть ключевую роль ноу-хау
12. Solovyeff 24.08.14 20:10 Сейчас в теме
Мисье знает толк) Можно хоть счеты использовать, но творческая составляющая исчезнет, для решения математики есть очень хорошие среды, и спец. языки. Мне например понравился Wolfram Language.
13. zqzq 16 25.08.14 08:23 Сейчас в теме
(12) Solovyeff, мне в студенческие годы Matlab очень понравился, практически "1С для математиков". Также 1С-у многому стоило бы у них поучиться (встроенная java как 2-й альтернативный язык, человеческий настраиваемый интерфейс, божественная встроенная справка с картинками и видео и введением для начинающих).
15. monkbest 100 27.08.14 10:53 Сейчас в теме
(13) zqzq, извиняюсь, я в институте тоже на матлабе решал задачки и там действительно хорошая справка, хоть я с инглиш и не дружил, все было понятно, но справка в 1С - это самая офигенная справка. До появления 8.2 кроме хелпа никакой литературы или гугла мне не требовалось, все ответы на вопросы быстро находил в синтаксис помощнике.
16. puzakov 29.08.14 02:33 Сейчас в теме
Мне вот не очень понятны попытки скрестить 1С с математикой. Ну, допустим, свершилось: в 1С:Предприятии появились механизмы, позволяющие выполнять сложные математические вычисления. Для кого это? Даже если в многотысячной армии 1Сников и найдутся математики-практики, способные использовать эти механизмы в полный рост, то конечным пользователям это зачем?
19. monkbest 100 02.09.14 21:32 Сейчас в теме
(16) puzakov, Вы не правы потому, что не с той точки зрения смотрите на проблему. Периодически решать алгоритмические задачи надо всем программистам. Это тренировка для ума. И если программист 1С работает в среде 1С, зачем ему ставить другую среду разработки, если 1С под рукой.
Решение задач на проекте Эйлер - вообще не имеет практического выхода для пользователей. Но сказать, что это никому не нужно = никому не нужно высшее образование IT. Всем нам нужно тренировать мозги.
В 1С есть все операторы структурного языка, это полноценный язык, на котором можно решить любую задачу. Пусть это не исполняемый код, пусть это скрипт, но никто и не гонится за сверхбыстрыми вычислениями. Суть правильного решения задач - уйти от перебора в лоб, занимающего нереальное кол-во итераций, к оптимальному алгоритму. Что это выполнится за 30 секунд на С++, что 2 минуты на 1С, разницы нет. Главное не три часа/дня.
Люди не шарящие в программировании (составлении алгоритмов на любом языке, математиков по своей сути) это - недо1Сники, закончившие пару курсов по бухучету. Разработать оптимальный код они не способны, они по любому пустяку сначала лезут в гугл, и только в крайнем случае пишут свой код с нуля.
An@st@si; +1 Ответить
22. Идальго 115 22.12.14 01:00 Сейчас в теме
(19) monkbest, да какже нету разницы то? Сами пишите - 30 секунд или 2 минуты. А если разница во времени получения результата пара дней?

По моему, разница в эффективности. Для той или иной задачи в зависимости от цели и возможностей следует подбирать оптимальное решение. Однако, я также как и вы считаю, что ум следует тренировать.
23. monkbest 100 22.12.14 09:18 Сейчас в теме
(22) Идальго, если разница в пару дней, то это уже заведомом неверное решение задачи. Почитайте, что такое проект Эйлера:
Каждая задача подчиняется "правилу одной минуты", которое гласит: несмотря на то, что на построение алгоритма решения могут уйти часы, эффективная реализация позволяет получить ответ на компьютере средней вычислительной мощности меньше, чем за одну минуту.

Поэтому я и пишу, что нет разницы. 1С напорядок уступает C++, но не настолько, чтобы минуту превратить в дни :)
Возможно, вы говорите о вычислительных задачах в целом, а не конкретно о проекте
26. Идальго 115 26.12.14 09:03 Сейчас в теме
(23) monkbest, угу, я о вычислительных задачах вцелом.
21. Идальго 115 22.12.14 00:50 Сейчас в теме
(16) puzakov, вы правы, что 1С для сложных расчетов не особо эффективен. Это нормально. Для сложных расчетов следует использовать специальные математические библиотеки, и передавать туда лишь параметры для расчета и получая обратно в 1С-ку уже готовый результат.

Теперь про конечных пользователей. Пользователям нужны отчёты, аналитика, прогнозирование. Например, в задачах управления запасами и прогнозирования спроса может потребоваться целая гора вычислений различных вероятностей, трендов и т.д. и т.п., причём в различных разрезах учёта. Можно конечно пользоваться более простыми методами, не требующими много вычислений, но на практике такой подход зачастую далеко не самый оптимальный. Рынок требует более точных и сложных инструментов для анализа.
17. An@st@si 2 31.08.14 15:52 Сейчас в теме
Как раз для того, чтобы меньше работать им "ЛЮБИМЫМ"...))))
Например, необходимо пропорционально от остатка рассчитать какую то сумму по данным, чтобы эта сумма не превышала базовую сумму, заданную в параметрах. Простой пример, два остатка 13000 и 14000, каждый месяц рассчитывается коэффициент, и по этому коэффициенту считаем сумму удержаний. Самое главное необходимо, чтобы эта сумма не превышала базу для удержаний.
18. An@st@si 2 31.08.14 16:10 Сейчас в теме
Пример только для обоснования, к задачам не имеет отношения.
Смысл: для облегчения труда конечного пользователя.
20. An@st@si 2 03.09.14 02:38 Сейчас в теме
Вы правы, но со стороны бухгалтера, стараюсь все применять в чем разобралась)
А мозг всегда полезно потренировать...) спасибо)
24. monkbest 100 22.12.14 10:26 Сейчас в теме
Наверное автор ждал на проекте Эйлера потока подобных записей:)
Я в теме, старт дан!
25. scientes 168 22.12.14 12:59 Сейчас в теме
(24) monkbest,
Приятно, что не я один продвигаю 1С, как платформу для решения математических задач на данном проекте.
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Нижний Новгород
зарплата до 120 000 руб.
Полный день

Бизнес-аналитик 1С ERP
Пермь
зарплата от 80 000 руб.
Полный день

Программист 1С УТ 11
Омск
зарплата от 60 000 руб.
Полный день

Бизнес-аналитик 1С УТ 11
Омск
зарплата от 60 000 руб.
Полный день

Программист 1С
Воронеж
Полный день