gifts2017

Сборник несерьезных обработок. Версия 3.

Опубликовал Альтаир (Altair777) в раздел Программирование - Практика программирования

Разные обработки, которые не тянут на серьезные, но иногда просто нужно кому-то показать.

Smile

1) Расчерчивание досок.

Появилась после плодотворного общения с Ёпрстом на форуме. Большое ему спасибо за оптимицазию кода.
Выложена по просьбе http://infostart.ru/forum/messages/forum9/topic10235/message80805/#message80805

История версий:

2 от 10.07.2009. Добавлена возможность рисовать доски для игр "Крестики-нолики" и "Морской бой"

 

2) Формирование шахматки из запроса. Добавлено как пример для помощи на форуме Як зробити звіт шахматку?

 

3) 10.07.2012 Расчет сумм для комбинаций из N элементов.

Вчера мне попалась в руки интересная задачка - посчитать все комбинации сумм для N чисел.

                Пример :

                               Есть два числа 5 и 7  все комбинации сумм данных чисел будут  соответственно  = 5,7,12

                               Есть три числа 5, 7,9 все комбинации сумм данных числе будут соответственно = 5,7,9,12,14,16,21

 Начал я вспоминать комбинаторику, но в процессе подумал - а зачем? Smile

И в результате появился следующий алгоритм:

где   НаборДанных - табличная часть с исходными числами, Результат - табличная часть с результатом (суммами комбинаций)

 


    Для каждого Строка Из НаборДанных Цикл

       
ОбработкаПрерыванияПользователя();

       
ТекущееЗначение = Строка.Число;

       
КоличествоСтрок = Результат.Количество() - 1;

        Для
Инд = 0 По КоличествоСтрок Цикл



           
ОбработкаПрерыванияПользователя();

           
НоваяСумма = Результат[Инд].Сумма + ТекущееЗначение;



            Если Не
ТолькоУникальныеСуммы Или Результат.Найти(НоваяСумма, "Сумма") = Неопределено Тогда

               
НоваяСтрока = Результат.Добавить();

               
НоваяСтрока.Сумма = НоваяСумма;

               
НоваяСтрока.Комбинация = Результат[Инд].Комбинация + " + " + ТекущееЗначение;

            КонецЕсли;



        КонецЦикла;

        Если Не
ТолькоУникальныеСуммы Или Результат.Найти(ТекущееЗначение, "Сумма") = Неопределено Тогда

           
НоваяСтрока = Результат.Добавить();

           
НоваяСтрока.Сумма = ТекущееЗначение;

           
НоваяСтрока.Комбинация = ТекущееЗначение;

        КонецЕсли;

    КонецЦикла;



Полная обработка для вычислений находится в файлах

17.07.2012 Обновил. Теперь выводятся и комбинации, из которых получилась данная сумма. Плюс возможность выбора по флажку уникальных или неуникальных сумм.

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

Наименование Файл Версия Размер Кол. Скачив.
Подсчет сумм для различных комбинаций чисел (8.2)
.epf 10,76Kb
17.07.12
11
.epf 10,76Kb 11 Скачать
Шахматка
.1247148592 36,00Kb
10.07.12
41
.1247148592 36,00Kb 41 Скачать
Шахматка из Запроса
.1251455796 36,00Kb
10.07.12
11
.1251455796 36,00Kb 11 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Юрий Тимофеев (Tatitutu) 09.07.09 21:05
Добавь еще
- Морской бой
- крестики нолики
- Пулю для преферанса
2. Neo. (Neo.) 09.07.09 23:18
Лучше шахматы реализуйте по сети.
3. Альтаир (Altair777) 10.07.09 10:43
(1) Спасибо за идею!
(2) В среде 1С? А разве еще никто этого не сделал?!
4. Альтаир (Altair777) 10.07.09 13:51
(1) Обновил. Скоро будет для преферанса.
Следите за анонсами! :-)
5. Епрст (Ёпрст) 10.07.09 13:59
6. Епрст (Ёпрст) 10.07.09 13:59
(1) кроме префа это тоже всё есть.
7. Альтаир (Altair777) 10.07.09 14:30
(6) У меня тут идея появилась....
Не просто бумажку нарисовать с расчерченной пулей, а написать программу для ее расчета.
Пока вижу 2 трудности:
1) Различные варианты преферансов.
2) Красиво вывести на печать.
8. Александр Рытов (Арчибальд) 10.07.09 14:41
(7) Ну, варианты-то легко будет размножить, если один напишешь.
Но вот мысль: вести запись игр (по сдачам).
По части вывода: с диагоналями заморачиваться вовсе не обязательно. Крестотабличный формат тоже рулит.
9. Епрст (Ёпрст) 10.07.09 14:43
(7) напиши игру за комп.. вот где затыка..
10. Альтаир (Altair777) 10.07.09 15:01
(8) это я когда-то давно-давно решал в Экселе :-)
На листе вносилось построчно кто и сколько заказал, и кто сколько взял взяток.
В скрытых столбцах шел расчет вистов по каждой сдаче и выводилось итого.
Увы, файл потерян. А на написание формул столько времени ушло...

(9) Нафик нам комп? Играть нужно в реале с людьми :-)
Можно даже и не на деньги.
У меня есть хорошие знакомые. Мы частенько играли с ними в преферанс, но просто так. По нескольким причинам. Например, то что они муж и жена и хорошо сыгранные между собой. :-)
Но все играли разумно. Мизеров просто так, наудачу, никто не заказывал.
11. Епрст (Ёпрст) 10.07.09 15:13
(10) Не... на просто так - это не интересно..все психуют почем зря, пропадает цель игры.
Любая карточная игра - только на деньги.. тогда есть и смысл и адреналин и т.д...
даже на копеечные.

А игра за комп - эт для тренировки..
12. Епрст (Ёпрст) 10.07.09 15:13
+11 мозгов при написании робота.
14. Альтаир (Altair777) 10.07.09 15:28
(11) Кроме денег есть еще цели. Например, удовлетворение чувства собственной значимости :-)
И, как-то опасно садиться играть на деньги одному против мужа и жены, которые играют ничуть не хуже меня. Кто-то из них может даже не специально, а просто неосознанно подогрыть супругу(е).

(12) За комп есть неплохой вариант http://www.playmarriage.com
Но мозги и вправду тренировать надо :-)
15. vip (vip) 10.07.09 15:31
(14) Ну, на фуфло или "на просто так" играть гораздо опасней.
16. Альтаир (Altair777) 10.07.09 15:42
(15) Я писал в (10) что это хорошие знакомые. Так вот, друзей проще потерять когда возникают денежные отношения. Особенно, если денег нет. А тогда время было не очень простое.

Ёпрст, лучше посмотри код и подскажи, что там еще можно оптимизировать.
Если можно :-)
Была еще мысль обойтись не 3 ячейками в таблице, а 2 и менять ориентацию текста. Но стоит ли?
17. Епрст (Ёпрст) 10.07.09 16:15
(16) в пятницу ?! Ты поди издеваешься.. ща все мысле только о бане.. и как я в неё попаду в ближайшее время :)
18. Альтаир (Altair777) 10.07.09 16:21
(17) У тебя все равно уже сериал "Один дома" закончился, раньше надо было попадать :-)
Ладно... потом....
19. Алекс Ю (AlexO) 23.06.12 15:22
А где "Сборник обработок" сам?
20. Альтаир (Altair777) 23.06.12 15:35
(19) AlexO, их пока 2 :)
Сборник - это сама публикация. А обработки - в файлах.
21. Сергей Сергеев (SERJ_1CC) 17.07.12 09:42
Что только не придумывают, это говорит только о том, что людям нечем заняться на работе, вот и начинают придумывать чем занять себя...
22. Альтаир (Altair777) 17.07.12 10:21
(21) SERJ_1CC, интересно, а что же Вы такое придумали?
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа