Конкурс на "Лучший вопрос" и далее "Лучший ответ"

1. Шёпот теней 1780 31.01.13 12:27 Сейчас в теме
Конкурс:

1 Вопрос: "Ход конём" см. комментарий (42) ... Решения: (49)
2 Вопрос: "Найдите кратчайший путь коня между двумя заданными клетками на шахматной доске." см. комментарий (76) Решения: (98)
3. Вопрос: Найти максимальное вхождение. см. комментарий (107)

Благодарность за финансовую (стартмани) поддержку проекта anig99, AnryMc, DitriX, juntatalor, Bukaska, alexk-is, poligraff !


Конкурс:

1. Задайте "лучший вопрос" по 1С
2. Ответьте на "лучший вопрос"


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

с уважением "Шёпот теней" в миру Александр Шишкин ...

"Лучший" - выбирается обсуждением !
"Лучшим" - приз "мани ИС" !


... вот ...
Uncore; +1
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
252. m..adm 256 23.11.15 02:24 Сейчас в теме
Мои обработки по конкурсу:
По 1 и 2 заданию: http://infostart.ru/public/421101/
по 3-му заданию: http://infostart.ru/public/421107/

Подходит реализация?
+
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
161. stagov 11 28.04.13 15:32 Сейчас в теме
В коробке как правило диск ИТС присутствует.
Только обработка "ЗагрузкаДанныхИзТабличногоДокумента" этот spr_contragents.xml не видит. Увы.
Прикрепленные файлы:
+
162. AnryMc 849 28.04.13 16:03 Сейчас в теме
(161) stagov,

Я открою его Екселом

I7 - начало моих данных
Прикрепленные файлы:
+
163. stagov 11 28.04.13 16:18 Сейчас в теме
Прекрасно. Путь коня увеличился на пару клеток.
Ну в 2 мин. никак...

Т.е. открываем Ексел, потом копируем и вставляем в обработку "ЗагрузкаДанныхИзТабличногоДокумента"!?
Правильно!?
Тогда второй вопрос.
Сколько бабульке нужно времени на переклацыване 1500 карточек контрагентов для заполнения обязательных реквизитов коим является "Договор"
+
164. AnryMc 849 28.04.13 17:13 Сейчас в теме
(163) stagov,

Вы себе противоречите:
У меня на решение вопроса пошло мин 15.


При чём бабауля?
+
165. stagov 11 28.04.13 17:19 Сейчас в теме
(164) AnryMc,
Просто если уже делать, то делать надо хорошо. Бабуле с этим жить и работать
Вы кстати за 2мин не успеете скопировать из ексел и вставить в загрузку
+
167. AnryMc 849 28.04.13 17:38 Сейчас в теме
(165) stagov,

Я не собираюсь копировать. Достаточно удалить с 2 по 6 строку. Это максимум 5 секунд. Включая Ctrl+S и Alt+F4
+
168. stagov 11 28.04.13 17:51 Сейчас в теме
(167) AnryMc,
1-1,5 мин - будет считывать файл загрузка
и потом вернуть названия колонок....
к тому же потеряется адрес, телефон

Но путь коня - может быть проще и лучше.
Штатными средствами УТ. Без ексел (которого может не оказаться)и без ЗагрузкаДанныхИзТабличногоДокумента (которой не каждый умеет пользоваться).
+
169. AnryMc 849 28.04.13 19:16 Сейчас в теме
(168) stagov,

К сожалению с УТ почти не работал. Как то Бух и ЗУП...
+
170. stagov 11 29.04.13 00:11 Сейчас в теме
(169) AnryMc,
В этих программах спр.контрагенты практически идентичны. Т.е. решение для всех.
+ Какой замечательный диспут у нас получился.
- Тема загрузки из ОПЗ мало кому пригодится
- Никто более не заинтересовался темой ответа на мой вопрос.

А решение вопроса более логическое чем супер программерское. Что то вроде использования подручных средств для достижения цели в поставленных задачах с минимальными трудозатратами и более того минимальными знаниями кода.
+
166. stagov 11 28.04.13 17:22 Сейчас в теме
Когда на пустом месте получается простая и при этом душевная тема - это просто банально радует.
+
173. CheBurator 3119 30.04.13 16:54 Сейчас в теме
Вы бы лучше прикладные задачи решали.
Задача: оптимизация расстановки товара на складе с построением оптимального маршрута передвижения товара из неоптимальной расстановки в оптимальную расстановку.

Дано:
- перечень ячеек (пусть будет нумерация "проход-стойка-ярус", где проход = "улица", "стойка" = многоэтажный дом, "ярус"=этаж), для упрощения считаем что проход и ярус - фиксированные значения.
- в ячейке всегда не более одного артикула (возможна пустая ячейка);
- артикул всегда не более чем в одной ячейке;
- расположение ячеек - линейное, одна за другой (проход);
- нумерация ячеек - линейная (но не обязательно непрерывная, т.е. ячейка с большим номером стойки всегда идет за ячейкой с меньшим номером стойки);
- каждый артикул имеет показатель "вес", который характеризует важность артикула, артикулы с большим весом должны стоять ближе к началу прохода; разные артикулы могут иметь одинаковые веса; артикул может иметь нулевой вес.
- итого имеем: неупорядоченную по весу (упорядоченную по стойкам) последовательность Артикул-Ячейка-Вес

В наличии имеется промежуточный буфер неограниченного размера.

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

Последовательность артикулов с одинаковыми весами в упорядоченном построении - непринципиальна.

Пример:
.
Исходная неоптимальная расстановка:
Товар1, 6-2-1 (вторая стойка), вес=30
Товар2, 6-4-1 (четвертая стойка), вес=60.
.
Результирующая оптимальная расстановка
Товар2, 6-2-1 (вторая стойка), вес=60
Товар1, 6-4-1 (четвертая стойка), вес=30.
.
Минимальный план перемещений: 3 перемещения
1. 6-2-1(Товар1,30) -> буфер
2. 6-4-1(Товар2,60) -> 6-2-1(пусто)
3. буфер(Товар1,30) -> 6-4-1(пусто)
.
По сути - задача на сортировку массива.
+
176. titakovserg 13.05.13 10:12 Сейчас в теме
(173) CheBurator, ну на счёт того, что это задача на сортировку не согласен, т.к. задача на сортировку требует лишь конечную отсортированую последовательность, а в твоей задаче ещё нужна последовательность перестановок на сколько я понял (получить план перемещения артикулов из неупорядоченного в упорядоченную с минимумом перемещений). Несколько лет назад (когда писал бакалаврскую) решал похожую задачку. Тоже могу предложить её на рассмотрение.
Итак задача. На железнодорожное предприятие приходит состав в котором N вагонов. Вагоны принадлежат к разным группам и перемешаны, т.е. не упорядочены по группам. Необходимо получить последовательность вагонов, упорядоченную по группам. Например был состав: "2-1-3-1-4-5-2-1-3-2-4-5" необходимо получить состав: "1-1-1-2-2-2-3-3-4-4-5-5". В распоряжении имеется развязка из K тупиков, каждый из которых ограниченной длины. При этом количество вагонов, которые можно установить на один тупиковый путь ограничено. При этом суммарная длина тупиков L не на много превышает длину состава (под длиной подразумевается максимально возможное количество установленных вагонов), но должна быть не меньше. Количество групп в составе = М. Количество тупиковых путей = K. При этом выполняется неравенство 2<K<M.
Итак имеем:
1. K тупиковых путей. Для каждого пути известна его длина в вагонах: L1, L2,...,Lk
2.Состав произвольной длины N, при этом N<СУММ(Li)
3. Количество групп в составе = М.
4. 2<K<M
5. Локомотив может заезжать на тупиковый путь только с одной стороны, т.е. вагоны собираются на пути по принципу стека.
Получить план перестановок вагонов для получения упорядоченной последовательности при локомотиве. Количество перестановок должно быть как можно меньшим.
+
177. CheBurator 3119 13.05.13 11:21 Сейчас в теме
(176) возможно, что и не на сортировку. но имхо, очень похоже - стоит та же самая задача - сделать отсортированную последовательность с минимумом затрат (т.е. самую быструю)
.
а по вагонам - знакомо.. знакомо... у меня по отцовской линии вся плеяда - железнодорожники
+
174. CheBurator 3119 30.04.13 17:05 Сейчас в теме
Исходная НЕОПТИМАЛЬНАЯ расстановка
№п/п Артикул Ячейка вес
1 634526 06-001-01 3
2 634536 06-003-01 4
3 638472 06-005-01 18
4 634560 06-007-01 6
5 634572 06-009-01 3
6 637368 06-011-01 12
7 638010 06-013-01 19
8 638003 06-015-01 19
9 638005 06-017-01 12
10 631442 06-021-01 10
11 637252 06-023-01 10
12 637354 06-025-01 10
13 637208 06-027-01 6
14 631380 06-029-01 18
15 637212 06-031-01 2
16 637216 06-033-01 12
17 637218 06-035-01 6
18 637222 06-043-01 6
19 637234 06-045-01 2
20 637236 06-047-01 6
21 637240 06-049-01 2
22 637248 06-051-01 2
23 637210 06-053-01 3
24 637306 06-055-01 2
25 637313 06-057-01 3
26 637314 06-059-01 5
27 637315 06-061-01 10
28 637316 06-063-01 4
29 637317 06-065-01 2
30 308830 06-073-01 4
31 637355 06-075-01 10
32 637364 06-077-01 9
33 637365 06-079-01 4
34 730754 06-081-01 1
35 895020 06-083-01 2
36 637380 06-085-01 1
37 637382 06-087-01 8
38 637384 06-089-01 6
39 895010 06-091-01 2
40 637394 06-093-01 6
41 895022 06-095-01 2
42 630050 06-103-01 6
43 895026 06-105-01 2
44 895024 06-107-01 2
45 894810 06-109-01 4
46 614518 06-111-01 1
47 614520 06-113-01 1
48 637206 06-115-01 3
49 630047 06-117-01 6
50 637820 06-119-01 3
51 637810 06-121-01 4
52 637835 06-123-01 3
53 637838 06-125-01 3
54 638002 06-127-01 3
55 340136 06-129-01 1
56 638004 06-131-01 6
57 729486 06-133-01 1
58 638006 06-135-01 4
59 638008 06-137-01 5
60 638009 06-139-01 8
61 638014 06-143-01 3

Вариант ОПТИМАЛЬНОЙ расстановки

№п.п Артикул Ячейка вес
1 638010 06-001-01 19
2 638003 06-003-01 19
3 638472 06-005-01 18
4 631380 06-007-01 18
5 637216 06-009-01 12
6 637368 06-011-01 12
7 638005 06-013-01 12
8 637355 06-015-01 10
9 637315 06-017-01 10
10 631442 06-021-01 10
11 637252 06-023-01 10
12 637354 06-025-01 10
13 637364 06-027-01 9
14 638009 06-029-01 8
15 637382 06-031-01 8
16 637208 06-033-01 6
17 637218 06-035-01 6
18 637222 06-043-01 6
19 634560 06-045-01 6
20 637236 06-047-01 6
21 638004 06-049-01 6
22 630047 06-051-01 6
23 630050 06-053-01 6
24 637394 06-055-01 6
25 637384 06-057-01 6
26 637314 06-059-01 5
27 638008 06-061-01 5
28 637316 06-063-01 4
29 634536 06-065-01 4
30 308830 06-073-01 4
31 638006 06-075-01 4
32 637810 06-077-01 4
33 637365 06-079-01 4
34 894810 06-081-01 4
35 637313 06-083-01 3
36 637210 06-085-01 3
37 634572 06-087-01 3
38 634526 06-089-01 3
39 638014 06-091-01 3
40 638002 06-093-01 3
41 637838 06-095-01 3
42 637835 06-103-01 3
43 637820 06-105-01 3
44 637206 06-107-01 3
45 895024 06-109-01 2
46 895026 06-111-01 2
47 895022 06-113-01 2
48 895010 06-115-01 2
49 895020 06-117-01 2
50 637317 06-119-01 2
51 637306 06-121-01 2
52 637248 06-123-01 2
53 637240 06-125-01 2
54 637234 06-127-01 2
55 637212 06-129-01 2
56 637380 06-131-01 1
57 729486 06-133-01 1
58 340136 06-135-01 1
59 614520 06-137-01 1
60 614518 06-139-01 1
61 730754 06-143-01 1
.
на таком примере у меня следующие результаты:
.
Требуемый размер буфера = 13
Мест без движения = 13
Количество перестановок = 71
.
Ваши варианты?
+
175. CheBurator 3119 30.04.13 17:13 Сейчас в теме
оценку сверху получить нетрудно, в варианте когда все ячейки заняты (как в данном примере) - оценка сверху = 2*КолвоЯчеек (выставить все в буфер, из буфера по убыванию весов расставить в ячейки)
+
178. Шёпот теней 1780 14.05.13 08:34 Сейчас в теме
Сообщане ИС !!!

ужжж очень "сложные" задачи в "описании" даёте ... может проще разбить задачу на подзадачи, или упростить условия: например, задача по сортировки вагонов и артикулов напоминает мне "игру" - "Перенеси пирамиду" - сейчас их делают сложными, количество столбов и количество переносимых колец бесконечно ...

кстати вот и новая задача конкурса: напиши игру "Перенеси пирамиду" !


... вот ...

п.с. а там и до карточных пасьянсов недалеко ... !

...
+
179. CheBurator 3119 14.05.13 22:31 Сейчас в теме
(178) мну играться некогда. реальные задачи. реальные проблемы. раз я ее решил со своей квалификацией - наверняка способны решить и другие. не решают - а) квалификация низкая (ничего не могу с этим сделать) б) нафиг не надо/не интересно (а я не тамада-затейник).
+
180. Шёпот теней 1780 15.05.13 08:13 Сейчас в теме
... алгоритм игры, в целом, не отличается от реальной модели, только постановка задачи проще ...

твоя задача слишком ужжж конкретна, привязана к "нестандартным" условиям ... не зря же существует проблема в "постоновке задач" и на её решение выделются специальные люди и ресурсы ... игра же позволяет обкатать способы и алгоритмы решений ...

... вот ...
+
181. CheBurator 3119 15.05.13 23:50 Сейчас в теме
(180) меня около птиц задачи не привязанные к конкретным условиям. иногда видишь универсальную задачу - вроде что надо, а привязать нет возможности - слишком уж универсальан. и эта универсальность нахрен сьедает всю полезность.
.
а у мну задача - любому 1Снику который хоть чуток имел дело с расстановокй товара/склада - проста и понятна.
+
182. titakovserg 17.05.13 09:49 Сейчас в теме
(180) Шёпот теней, могу согласиться с тем, что моя задача действительно чем-то похожа на перенос пирамиды. Но существенная разница в том, что все кольца пирамиды помещаются на каждой из вертикальных палочек (по крайней мере так было, когда я играл в эту игру), а все вагоны не помещаются ни на одном из путей. Их нужно собрать при локомотиве.
+
183. Шёпот теней 1780 17.05.13 10:24 Сейчас в теме
(182) всё зависит от "правил игры" ...

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


... вот ...

п.с. нам всем кажется что "мы" единственные и неповторимые ...

...
+
184. titakovserg 17.05.13 11:44 Сейчас в теме
(183) Шёпот теней, алгоритмы расстановок вагонов были безусловно, и я их исследовал, но фишка имеено в деталях, о которых Вы говорите, из-за которых алгоритмы были не применимы. Отсюда и постановка задачи со ВСЕМИ ДЕТАЛЯМИ. (единственным и неповторимым я себя не считаю. Не много толку от того, что учась в универе я решал классные практические задачи. А сейчас обычный штатный 1С-ник, и бугхалтерки мне мозг выносят)
+
186. CheBurator 3119 17.05.13 18:26 Сейчас в теме
(184) поддерживаю твое высказывание на 100500!
+
185. Шёпот теней 1780 17.05.13 12:25 Сейчас в теме
(183) ...

высказывание: жизнь в близи 0 трагедния, из далека - комедия ..
или : "Убийство одного человека - трагедия, убийство миллионов - статистика"
или : лгко было на бумаге, да забыли про овраги ..

и т.д.

тем не менее: что может быть лучше чем хорошая теория .. ? !!!

п.с. согласен с вами: реальный опыт - БЕСЦЕНЕН !!!

...
+
188. Шёпот теней 1780 30.09.15 13:22 Сейчас в теме
189. Шёпот теней 1780 01.10.15 08:39 Сейчас в теме
подниму тему ... на "может быть" ...
+
192. Ivanovag123 01.10.15 14:32 Сейчас в теме
Шёпот, неужели вопрос не понравился? :)
+
193. AlexInqMetal 77 01.10.15 14:36 Сейчас в теме
(192) Ivanovag123, соединение по номенклатуре и дате сделать
+
194. Ivanovag123 01.10.15 14:46 Сейчас в теме
(193) AlexInqMetal, очень смешно ...
+
201. Ivanovag123 02.10.15 11:43 Сейчас в теме
Ребят, у меня родилась дикая идея...
А что, если в СКД назначить Ценам роль Остаток... :))
Теоретически это ведь правильно...
vikad; +1
205. Ivanovag123 02.10.15 12:52 Сейчас в теме
konstruktiv, как думаешь, можно так (201) сделать?
(просто до сих пор помню твою супер идею про назначение роли "Измерение" заказам)
+
206. konstruktiv 02.10.15 13:29 Сейчас в теме
(205) Ivanovag123, мне кажется в этом случае можно интерактивной настройкой СКД не обойдешься, нужна таблица со всеми днями, к ней клеить остатки, учесть ситуацию с отсутствием оборотов, и потом уже к этой таблице цены либо "множественным срезом последних" прямо в запросе, либо 2м вариантом с мисты
+
207. Ivanovag123 02.10.15 13:44 Сейчас в теме
(206) konstruktiv, спасибо что откликнулся.
Но посмотри на второй скрин в (203)!!! Там почти получилось! (Цены там на каждую дату! Даже на те даты, где оборотов не было, и в ИТОГО правильно!).
И ещё. Сделал прямую связь между Остатками и Ценами. Результат один в один, как и в (203)! (поясню - теперь там нет никаких "сложных" условий по связям!!!, а результат абсолютно тот же!!!).

Отчёт во вложении.
Прикрепленные файлы:
Цены4.erf
+
203. Ivanovag123 02.10.15 12:19 Сейчас в теме
Попробовал сделать Цены с ролью Остатки...

Вот что получилось (скрины и отчёт во вложениях)

В ИТОГАХ кстати всё правильно,- берутся последние цены. Короче, думаю, этот вариант стоит "дожать". Пока он лучший.
Прикрепленные файлы:
Цены2_ЦенаКакОстаток.erf
+
210. Шёпот теней 1780 06.10.15 08:18 Сейчас в теме
... подниму для смелых ...
+
211. konstruktiv 06.10.15 10:36 Сейчас в теме
(210) Шёпот теней, а на задачу про телефонный номер можно решение? Если можно, то вот:
ВЫБРАТЬ
	"0" КАК Цифра,
	0 КАК X,
	3 КАК Y
ПОМЕСТИТЬ ИсходныеДанные

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"1",
	0,
	0

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"2",
	1,
	0

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"3",
	2,
	0

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"4",
	0,
	1

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"5",
	1,
	1

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"6",
	2,
	1

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"7",
	0,
	2

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"8",
	1,
	2

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"9",
	2,
	2
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ИсходныеДанные.Цифра,
	ИсходныеДанные.X,
	ИсходныеДанные.Y
ПОМЕСТИТЬ ПервыеЦифры
ИЗ
	ИсходныеДанные КАК ИсходныеДанные
ГДЕ
	ИсходныеДанные.Цифра = &ПерваяЦифра
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ИсходныеДанные.X КАК X,
	ИсходныеДанные.Y КАК Y,
	ИсходныеДанные.Цифра КАК СледующаяЦифра,
	ПервыеЦифры.Цифра + ИсходныеДанные.Цифра КАК Номер
ПОМЕСТИТЬ ВторыеЦифры
ИЗ
	ПервыеЦифры КАК ПервыеЦифры
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ИсходныеДанные КАК ИсходныеДанные
		ПО (ПервыеЦифры.X + 1 = ИсходныеДанные.X)
			И (ПервыеЦифры.Y - 2 = ИсходныеДанные.Y)

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	ИсходныеДанные.X,
	ИсходныеДанные.Y,
	ИсходныеДанные.Цифра,
	ПервыеЦифры.Цифра + ИсходныеДанные.Цифра
ИЗ
	ПервыеЦифры КАК ПервыеЦифры
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ИсходныеДанные КАК ИсходныеДанные
		ПО (ПервыеЦифры.X + 2 = ИсходныеДанные.X)
			И (ПервыеЦифры.Y - 1 = ИсходныеДанные.Y)

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	ИсходныеДанные.X,
	ИсходныеДанные.Y,
	ИсходныеДанные.Цифра,
	ПервыеЦифры.Цифра + ИсходныеДанные.Цифра
ИЗ
	ПервыеЦифры КАК ПервыеЦифры
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ИсходныеДанные КАК ИсходныеДанные
		ПО (ПервыеЦифры.X + 2 = ИсходныеДанные.X)
			И (ПервыеЦифры.Y + 1 = ИсходныеДанные.Y)

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	ИсходныеДанные.X,
	ИсходныеДанные.Y,
	ИсходныеДанные.Цифра,
	ПервыеЦифры.Цифра + ИсходныеДанные.Цифра
ИЗ
	ПервыеЦифры КАК ПервыеЦифры
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ИсходныеДанные КАК ИсходныеДанные
		ПО (ПервыеЦифры.X + 1 = ИсходныеДанные.X)
			И (ПервыеЦифры.Y + 2 = ИсходныеДанные.Y)

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	ИсходныеДанные.X,
	ИсходныеДанные.Y,
	ИсходныеДанные.Цифра,
	ПервыеЦифры.Цифра + ИсходныеДанные.Цифра
ИЗ
	ПервыеЦифры КАК ПервыеЦифры
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ИсходныеДанные КАК ИсходныеДанные
		ПО (ПервыеЦифры.X - 1 = ИсходныеДанные.X)
			И (ПервыеЦифры.Y + 2 = ИсходныеДанные.Y)

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	ИсходныеДанные.X,
	ИсходныеДанные.Y,
	ИсходныеДанные.Цифра,
	ПервыеЦифры.Цифра + ИсходныеДанные.Цифра
ИЗ
	ПервыеЦифры КАК ПервыеЦифры
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ИсходныеДанные КАК ИсходныеДанные
		ПО (ПервыеЦифры.X - 2 = ИсходныеДанные.X)
			И (ПервыеЦифры.Y + 1 = ИсходныеДанные.Y)

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	ИсходныеДанные.X,
	ИсходныеДанные.Y,
	ИсходныеДанные.Цифра,
	ПервыеЦифры.Цифра + ИсходныеДанные.Цифра
ИЗ
	ПервыеЦифры КАК ПервыеЦифры
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ИсходныеДанные КАК ИсходныеДанные
		ПО (ПервыеЦифры.X - 2 = ИсходныеДанные.X)
			И (ПервыеЦифры.Y - 1 = ИсходныеДанные.Y)

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	ИсходныеДанные.X,
	ИсходныеДанные.Y,
	ИсходныеДанные.Цифра,
	ПервыеЦифры.Цифра + ИсходныеДанные.Цифра
ИЗ
	ПервыеЦифры КАК ПервыеЦифры
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ИсходныеДанные КАК ИсходныеДанные
		ПО (ПервыеЦифры.X - 1 = ИсходныеДанные.X)
			И (ПервыеЦифры.Y - 2 = ИсходныеДанные.Y)
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ИсходныеДанные.X КАК X,
	ИсходныеДанные.Y КАК Y,
	ИсходныеДанные.Цифра КАК СледующаяЦифра,
	ВторыеЦифры.Номер + ИсходныеДанные.Цифра КАК Номер
ПОМЕСТИТЬ ТретьиЦифры
ИЗ
	ВторыеЦифры КАК ВторыеЦифры
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ИсходныеДанные КАК ИсходныеДанные
		ПО (ВторыеЦифры.X + 1 = ИсходныеДанные.X)
			И (ВторыеЦифры.Y - 2 = ИсходныеДанные.Y)

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	ИсходныеДанные.X,
	ИсходныеДанные.Y,
	ИсходныеДанные.Цифра,
	ВторыеЦифры.Номер + ИсходныеДанные.Цифра
ИЗ
	ВторыеЦифры КАК ВторыеЦифры
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ИсходныеДанные КАК ИсходныеДанные
		ПО (ВторыеЦифры.X + 2 = ИсходныеДанные.X)
			И (ВторыеЦифры.Y - 1 = ИсходныеДанные.Y)

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	ИсходныеДанные.X,
	ИсходныеДанные.Y,
	ИсходныеДанные.Цифра,
	ВторыеЦифры.Номер + ИсходныеДанные.Цифра
ИЗ
	ВторыеЦифры КАК ВторыеЦифры
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ИсходныеДанные КАК ИсходныеДанные
		ПО (ВторыеЦифры.X + 2 = ИсходныеДанные.X)
			И (ВторыеЦифры.Y + 1 = ИсходныеДанные.Y)

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	ИсходныеДанные.X,
	ИсходныеДанные.Y,
	ИсходныеДанные.Цифра,
	ВторыеЦифры.Номер + ИсходныеДанные.Цифра
ИЗ
	ВторыеЦифры КАК ВторыеЦифры
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ИсходныеДанные КАК ИсходныеДанные
		ПО (ВторыеЦифры.X + 1 = ИсходныеДанные.X)
			И (ВторыеЦифры.Y + 2 = ИсходныеДанные.Y)

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	ИсходныеДанные.X,
	ИсходныеДанные.Y,
	ИсходныеДанные.Цифра,
	ВторыеЦифры.Номер + ИсходныеДанные.Цифра
ИЗ
	ВторыеЦифры КАК ВторыеЦифры
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ИсходныеДанные КАК ИсходныеДанные
		ПО (ВторыеЦифры.X - 1 = ИсходныеДанные.X)
			И (ВторыеЦифры.Y + 2 = ИсходныеДанные.Y)

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	ИсходныеДанные.X,
	ИсходныеДанные.Y,
	ИсходныеДанные.Цифра,
	ВторыеЦифры.Номер + ИсходныеДанные.Цифра
ИЗ
	ВторыеЦифры КАК ВторыеЦифры
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ИсходныеДанные КАК ИсходныеДанные
		ПО (ВторыеЦифры.X - 2 = ИсходныеДанные.X)
			И (ВторыеЦифры.Y + 1 = ИсходныеДанные.Y)

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	ИсходныеДанные.X,
	ИсходныеДанные.Y,
	ИсходныеДанные.Цифра,
	ВторыеЦифры.Номер + ИсходныеДанные.Цифра
ИЗ
	ВторыеЦифры КАК ВторыеЦифры
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ИсходныеДанные КАК ИсходныеДанные
		ПО (ВторыеЦифры.X - 2 = ИсходныеДанные.X)
			И (ВторыеЦифры.Y - 1 = ИсходныеДанные.Y)

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	ИсходныеДанные.X,
	ИсходныеДанные.Y,
	ИсходныеДанные.Цифра,
	ВторыеЦифры.Номер + ИсходныеДанные.Цифра
ИЗ
	ВторыеЦифры КАК ВторыеЦифры
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ИсходныеДанные КАК ИсходныеДанные
		ПО (ВторыеЦифры.X - 1 = ИсходныеДанные.X)
			И (ВторыеЦифры.Y - 2 = ИсходныеДанные.Y)
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ИсходныеДанные.X КАК X,
	ИсходныеДанные.Y КАК Y,
	ИсходныеДанные.Цифра КАК СледующаяЦифра,
	ТретьиЦифры.Номер + ИсходныеДанные.Цифра КАК Номер
ПОМЕСТИТЬ ЧетвертыеЦифры
ИЗ
	ТретьиЦифры КАК ТретьиЦифры
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ИсходныеДанные КАК ИсходныеДанные
		ПО (ТретьиЦифры.X + 1 = ИсходныеДанные.X)
			И (ТретьиЦифры.Y - 2 = ИсходныеДанные.Y)

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	ИсходныеДанные.X,
	ИсходныеДанные.Y,
	ИсходныеДанные.Цифра,
	ТретьиЦифры.Номер + ИсходныеДанные.Цифра
ИЗ
	ТретьиЦифры КАК ТретьиЦифры
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ИсходныеДанные КАК ИсходныеДанные
		ПО (ТретьиЦифры.X + 2 = ИсходныеДанные.X)
			И (ТретьиЦифры.Y - 1 = ИсходныеДанные.Y)

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	ИсходныеДанные.X,
	ИсходныеДанные.Y,
	ИсходныеДанные.Цифра,
	ТретьиЦифры.Номер + ИсходныеДанные.Цифра
ИЗ
	ТретьиЦифры КАК ТретьиЦифры
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ИсходныеДанные КАК ИсходныеДанные
		ПО (ТретьиЦифры.X + 2 = ИсходныеДанные.X)
			И (ТретьиЦифры.Y + 1 = ИсходныеДанные.Y)

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	ИсходныеДанные.X,
	ИсходныеДанные.Y,
	ИсходныеДанные.Цифра,
	ТретьиЦифры.Номер + ИсходныеДанные.Цифра
ИЗ
	ТретьиЦифры КАК ТретьиЦифры
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ИсходныеДанные КАК ИсходныеДанные
		ПО (ТретьиЦифры.X + 1 = ИсходныеДанные.X)
			И (ТретьиЦифры.Y + 2 = ИсходныеДанные.Y)

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	ИсходныеДанные.X,
	ИсходныеДанные.Y,
	ИсходныеДанные.Цифра,
	ТретьиЦифры.Номер + ИсходныеДанные.Цифра
ИЗ
	ТретьиЦифры КАК ТретьиЦифры
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ИсходныеДанные КАК ИсходныеДанные
		ПО (ТретьиЦифры.X - 1 = ИсходныеДанные.X)
			И (ТретьиЦифры.Y + 2 = ИсходныеДанные.Y)

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	ИсходныеДанные.X,
	ИсходныеДанные.Y,
	ИсходныеДанные.Цифра,
	ТретьиЦифры.Номер + ИсходныеДанные.Цифра
ИЗ
	ТретьиЦифры КАК ТретьиЦифры
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ИсходныеДанные КАК ИсходныеДанные
		ПО (ТретьиЦифры.X - 2 = ИсходныеДанные.X)
			И (ТретьиЦифры.Y + 1 = ИсходныеДанные.Y)

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	ИсходныеДанные.X,
	ИсходныеДанные.Y,
	ИсходныеДанные.Цифра,
	ТретьиЦифры.Номер + ИсходныеДанные.Цифра
ИЗ
	ТретьиЦифры КАК ТретьиЦифры
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ИсходныеДанные КАК ИсходныеДанные
		ПО (ТретьиЦифры.X - 2 = ИсходныеДанные.X)
			И (ТретьиЦифры.Y - 1 = ИсходныеДанные.Y)

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	ИсходныеДанные.X,
	ИсходныеДанные.Y,
	ИсходныеДанные.Цифра,
	ТретьиЦифры.Номер + ИсходныеДанные.Цифра
ИЗ
	ТретьиЦифры КАК ТретьиЦифры
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ИсходныеДанные КАК ИсходныеДанные
		ПО (ТретьиЦифры.X - 1 = ИсходныеДанные.X)
			И (ТретьиЦифры.Y - 2 = ИсходныеДанные.Y)
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ИсходныеДанные.X КАК X,
	ИсходныеДанные.Y КАК Y,
	ИсходныеДанные.Цифра КАК СледующаяЦифра,
	ЧетвертыеЦифры.Номер + ИсходныеДанные.Цифра КАК Номер
ПОМЕСТИТЬ ПятыеЦифры
ИЗ
	ЧетвертыеЦифры КАК ЧетвертыеЦифры
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ИсходныеДанные КАК ИсходныеДанные
		ПО (ЧетвертыеЦифры.X + 1 = ИсходныеДанные.X)
			И (ЧетвертыеЦифры.Y - 2 = ИсходныеДанные.Y)

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	ИсходныеДанные.X,
	ИсходныеДанные.Y,
	ИсходныеДанные.Цифра,
	ЧетвертыеЦифры.Номер + ИсходныеДанные.Цифра
ИЗ
	ЧетвертыеЦифры КАК ЧетвертыеЦифры
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ИсходныеДанные КАК ИсходныеДанные
		ПО (ЧетвертыеЦифры.X + 2 = ИсходныеДанные.X)
			И (ЧетвертыеЦифры.Y - 1 = ИсходныеДанные.Y)

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	ИсходныеДанные.X,
	ИсходныеДанные.Y,
	ИсходныеДанные.Цифра,
	ЧетвертыеЦифры.Номер + ИсходныеДанные.Цифра
ИЗ
	ЧетвертыеЦифры КАК ЧетвертыеЦифры
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ИсходныеДанные КАК ИсходныеДанные
		ПО (ЧетвертыеЦифры.X + 2 = ИсходныеДанные.X)
			И (ЧетвертыеЦифры.Y + 1 = ИсходныеДанные.Y)

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	ИсходныеДанные.X,
	ИсходныеДанные.Y,
	ИсходныеДанные.Цифра,
	ЧетвертыеЦифры.Номер + ИсходныеДанные.Цифра
ИЗ
	ЧетвертыеЦифры КАК ЧетвертыеЦифры
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ИсходныеДанные КАК ИсходныеДанные
		ПО (ЧетвертыеЦифры.X + 1 = ИсходныеДанные.X)
			И (ЧетвертыеЦифры.Y + 2 = ИсходныеДанные.Y)

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	ИсходныеДанные.X,
	ИсходныеДанные.Y,
	ИсходныеДанные.Цифра,
	ЧетвертыеЦифры.Номер + ИсходныеДанные.Цифра
ИЗ
	ЧетвертыеЦифры КАК ЧетвертыеЦифры
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ИсходныеДанные КАК ИсходныеДанные
		ПО (ЧетвертыеЦифры.X - 1 = ИсходныеДанные.X)
			И (ЧетвертыеЦифры.Y + 2 = ИсходныеДанные.Y)

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	ИсходныеДанные.X,
	ИсходныеДанные.Y,
	ИсходныеДанные.Цифра,
	ЧетвертыеЦифры.Номер + ИсходныеДанные.Цифра
ИЗ
	ЧетвертыеЦифры КАК ЧетвертыеЦифры
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ИсходныеДанные КАК ИсходныеДанные
		ПО (ЧетвертыеЦифры.X - 2 = ИсходныеДанные.X)
			И (ЧетвертыеЦифры.Y + 1 = ИсходныеДанные.Y)

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	ИсходныеДанные.X,
	ИсходныеДанные.Y,
	ИсходныеДанные.Цифра,
	ЧетвертыеЦифры.Номер + ИсходныеДанные.Цифра
ИЗ
	ЧетвертыеЦифры КАК ЧетвертыеЦифры
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ИсходныеДанные КАК ИсходныеДанные
		ПО (ЧетвертыеЦифры.X - 2 = ИсходныеДанные.X)
			И (ЧетвертыеЦифры.Y - 1 = ИсходныеДанные.Y)

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	ИсходныеДанные.X,
	ИсходныеДанные.Y,
	ИсходныеДанные.Цифра,
	ЧетвертыеЦифры.Номер + ИсходныеДанные.Цифра
ИЗ
	ЧетвертыеЦифры КАК ЧетвертыеЦифры
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ИсходныеДанные КАК ИсходныеДанные
		ПО (ЧетвертыеЦифры.X - 1 = ИсходныеДанные.X)
			И (ЧетвертыеЦифры.Y - 2 = ИсходныеДанные.Y)
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ИсходныеДанные.X КАК X,
	ИсходныеДанные.Y КАК Y,
	ИсходныеДанные.Цифра КАК СледующаяЦифра,
	ПятыеЦифры.Номер + ИсходныеДанные.Цифра КАК Номер
ПОМЕСТИТЬ ШестыеЦифры
ИЗ
	ПятыеЦифры КАК ПятыеЦифры
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ИсходныеДанные КАК ИсходныеДанные
		ПО (ПятыеЦифры.X + 1 = ИсходныеДанные.X)
			И (ПятыеЦифры.Y - 2 = ИсходныеДанные.Y)

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	ИсходныеДанные.X,
	ИсходныеДанные.Y,
	ИсходныеДанные.Цифра,
	ПятыеЦифры.Номер + ИсходныеДанные.Цифра
ИЗ
	ПятыеЦифры КАК ПятыеЦифры
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ИсходныеДанные КАК ИсходныеДанные
		ПО (ПятыеЦифры.X + 2 = ИсходныеДанные.X)
			И (ПятыеЦифры.Y - 1 = ИсходныеДанные.Y)

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	ИсходныеДанные.X,
	ИсходныеДанные.Y,
	ИсходныеДанные.Цифра,
	ПятыеЦифры.Номер + ИсходныеДанные.Цифра
ИЗ
	ПятыеЦифры КАК ПятыеЦифры
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ИсходныеДанные КАК ИсходныеДанные
		ПО (ПятыеЦифры.X + 2 = ИсходныеДанные.X)
			И (ПятыеЦифры.Y + 1 = ИсходныеДанные.Y)

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	ИсходныеДанные.X,
	ИсходныеДанные.Y,
	ИсходныеДанные.Цифра,
	ПятыеЦифры.Номер + ИсходныеДанные.Цифра
ИЗ
	ПятыеЦифры КАК ПятыеЦифры
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ИсходныеДанные КАК ИсходныеДанные
		ПО (ПятыеЦифры.X + 1 = ИсходныеДанные.X)
			И (ПятыеЦифры.Y + 2 = ИсходныеДанные.Y)

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	ИсходныеДанные.X,
	ИсходныеДанные.Y,
	ИсходныеДанные.Цифра,
	ПятыеЦифры.Номер + ИсходныеДанные.Цифра
ИЗ
	ПятыеЦифры КАК ПятыеЦифры
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ИсходныеДанные КАК ИсходныеДанные
		ПО (ПятыеЦифры.X - 1 = ИсходныеДанные.X)
			И (ПятыеЦифры.Y + 2 = ИсходныеДанные.Y)

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	ИсходныеДанные.X,
	ИсходныеДанные.Y,
	ИсходныеДанные.Цифра,
	ПятыеЦифры.Номер + ИсходныеДанные.Цифра
ИЗ
	ПятыеЦифры КАК ПятыеЦифры
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ИсходныеДанные КАК ИсходныеДанные
		ПО (ПятыеЦифры.X - 2 = ИсходныеДанные.X)
			И (ПятыеЦифры.Y + 1 = ИсходныеДанные.Y)

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	ИсходныеДанные.X,
	ИсходныеДанные.Y,
	ИсходныеДанные.Цифра,
	ПятыеЦифры.Номер + ИсходныеДанные.Цифра
ИЗ
	ПятыеЦифры КАК ПятыеЦифры
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ИсходныеДанные КАК ИсходныеДанные
		ПО (ПятыеЦифры.X - 2 = ИсходныеДанные.X)
			И (ПятыеЦифры.Y - 1 = ИсходныеДанные.Y)

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	ИсходныеДанные.X,
	ИсходныеДанные.Y,
	ИсходныеДанные.Цифра,
	ПятыеЦифры.Номер + ИсходныеДанные.Цифра
ИЗ
	ПятыеЦифры КАК ПятыеЦифры
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ИсходныеДанные КАК ИсходныеДанные
		ПО (ПятыеЦифры.X - 1 = ИсходныеДанные.X)
			И (ПятыеЦифры.Y - 2 = ИсходныеДанные.Y)
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ИсходныеДанные.X КАК X,
	ИсходныеДанные.Y КАК Y,
	ИсходныеДанные.Цифра КАК СледующаяЦифра,
	ШестыеЦифры.Номер + ИсходныеДанные.Цифра КАК Номер
ПОМЕСТИТЬ СедьмыеЦифры
ИЗ
	ШестыеЦифры КАК ШестыеЦифры
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ИсходныеДанные КАК ИсходныеДанные
		ПО (ШестыеЦифры.X + 1 = ИсходныеДанные.X)
			И (ШестыеЦифры.Y - 2 = ИсходныеДанные.Y)

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	ИсходныеДанные.X,
	ИсходныеДанные.Y,
	ИсходныеДанные.Цифра,
	ШестыеЦифры.Номер + ИсходныеДанные.Цифра
ИЗ
	ШестыеЦифры КАК ШестыеЦифры
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ИсходныеДанные КАК ИсходныеДанные
		ПО (ШестыеЦифры.X + 2 = ИсходныеДанные.X)
			И (ШестыеЦифры.Y - 1 = ИсходныеДанные.Y)

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	ИсходныеДанные.X,
	ИсходныеДанные.Y,
	ИсходныеДанные.Цифра,
	ШестыеЦифры.Номер + ИсходныеДанные.Цифра
ИЗ
	ШестыеЦифры КАК ШестыеЦифры
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ИсходныеДанные КАК ИсходныеДанные
		ПО (ШестыеЦифры.X + 2 = ИсходныеДанные.X)
			И (ШестыеЦифры.Y + 1 = ИсходныеДанные.Y)

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	ИсходныеДанные.X,
	ИсходныеДанные.Y,
	ИсходныеДанные.Цифра,
	ШестыеЦифры.Номер + ИсходныеДанные.Цифра
ИЗ
	ШестыеЦифры КАК ШестыеЦифры
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ИсходныеДанные КАК ИсходныеДанные
		ПО (ШестыеЦифры.X + 1 = ИсходныеДанные.X)
			И (ШестыеЦифры.Y + 2 = ИсходныеДанные.Y)

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	ИсходныеДанные.X,
	ИсходныеДанные.Y,
	ИсходныеДанные.Цифра,
	ШестыеЦифры.Номер + ИсходныеДанные.Цифра
ИЗ
	ШестыеЦифры КАК ШестыеЦифры
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ИсходныеДанные КАК ИсходныеДанные
		ПО (ШестыеЦифры.X - 1 = ИсходныеДанные.X)
			И (ШестыеЦифры.Y + 2 = ИсходныеДанные.Y)

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	ИсходныеДанные.X,
	ИсходныеДанные.Y,
	ИсходныеДанные.Цифра,
	ШестыеЦифры.Номер + ИсходныеДанные.Цифра
ИЗ
	ШестыеЦифры КАК ШестыеЦифры
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ИсходныеДанные КАК ИсходныеДанные
		ПО (ШестыеЦифры.X - 2 = ИсходныеДанные.X)
			И (ШестыеЦифры.Y + 1 = ИсходныеДанные.Y)

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	ИсходныеДанные.X,
	ИсходныеДанные.Y,
	ИсходныеДанные.Цифра,
	ШестыеЦифры.Номер + ИсходныеДанные.Цифра
ИЗ
	ШестыеЦифры КАК ШестыеЦифры
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ИсходныеДанные КАК ИсходныеДанные
		ПО (ШестыеЦифры.X - 2 = ИсходныеДанные.X)
			И (ШестыеЦифры.Y - 1 = ИсходныеДанные.Y)

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	ИсходныеДанные.X,
	ИсходныеДанные.Y,
	ИсходныеДанные.Цифра,
	ШестыеЦифры.Номер + ИсходныеДанные.Цифра
ИЗ
	ШестыеЦифры КАК ШестыеЦифры
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ИсходныеДанные КАК ИсходныеДанные
		ПО (ШестыеЦифры.X - 1 = ИсходныеДанные.X)
			И (ШестыеЦифры.Y - 2 = ИсходныеДанные.Y)
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	КОЛИЧЕСТВО(*) КАК ВсегоНомеров
ИЗ
	СедьмыеЦифры КАК СедьмыеЦифры
Показать
Шёпот теней; +1
212. Шёпот теней 1780 06.10.15 10:55 Сейчас в теме
(211) konstruktiv,

из (1) Ответ должен быть оформлен в виде обработки.
Обработку выставить в своих "Публикациях" указать ссылку на данный "Конкурс", здесь указать ссылку на свою "публикацию".

в публикации описать алгоритм выполнения задачи. прямо как в школе:
1.Задача
2. Описание алгоритма решения "Задачи" (какие законы, методы, вычисления, алгоритмы использовались при написании и пр. и т.д.)
3. Решение оформленное по условию.

с уважением "Шёпот теней" ...

... БУДУждатьВОТ ...
+
213. DJDUH 17 06.10.15 22:15 Сейчас в теме
Привет всем!
Задам на первый взгляд банальный вопрос, который мне задавали на собеседовании, но я так и не знаю верного ответа)))
Вопрос: "Что лучше Структура или Соответствие" ?
+
214. Шёпот теней 1780 07.10.15 08:27 Сейчас в теме
(213) DJDUH,

функция или процедура ?

наполовину пустой стакан или наполовину полный ?

и т.д.

ответ на ваш вопрос можно пытаться найти здесь: http://infostart.ru/public/142517/ ...
по скорости работы здесь: http://www.develplatform.com/2013/01/blog-post_22.html ...

... ЕСТЬответЕСТЬ ...
+
215. tango 540 07.10.15 09:17 Сейчас в теме
(214) Шёпот теней, я бы сказал - "справочник или документ" :))
что лучше, мягкое или теплое?
+
234. ture 606 23.10.15 18:01 Сейчас в теме
А вообще, по теме топика, это не может найти отзыв в среде профи, т.к. одно дело задачку олимпиадную решить за денюшку или на интерес разок-другой и совсем другое поделиться секретами, финтами, фишками и пр. да еще без всяких выгод для себя. Это же не выступление перед аудиторией на форуме, где связи устанавливают ради в конечном счете денег. Профессиональные секреты делают нас дороже и важнее. А задачек олимпиадных полно на соответствующих сайтах.

Что же остается? Можно понудеть в надежде, что подвернется удачная возможность закрыть тему или она разделит позорное висение темы "Предлагаю сотрудничество программистам в сфере ВЭД ".
+
235. ya.Avoronov 115 23.10.15 19:01 Сейчас в теме
Ответ на 3-ю задачу:

        стр = "требуемый текст, выведи его на форму документа, например требуемый текст = бла бла блаааа"
	Результат = Новый ТаблицаЗначений;
	Результат.Колонки.Добавить("Слово");
	Результат.Колонки.Добавить("Длина");
	Результат.Колонки.Добавить("Количество");
	
	RegExp = Новый COMОбъект("VBScript.RegExp");
	RegExp.MultiLine = Истина;
	RegExp.Global = Истина;
	RegExp.Pattern = "[^А-я]";
	стр = RegExp.Replace(НРег(СокрЛП(стр)), "");
	
	Для позиция = 1 По СтрДлина(стр) Цикл
		Для количество = 1 По СтрДлина(стр) - позиция + 1 Цикл
			слово = Сред(стр, позиция, количество);			
			н = Результат.Добавить();
			н.Слово = слово;
			н.Длина = СтрДлина(слово);
			н.Количество = 1;
		КонецЦикла;
	КонецЦикла;
	
	Результат.Свернуть("Слово, Длина", "Количество");
	Результат.Сортировать("Количество Убыв, Длина Убыв, Слово Возр");
	
	Для Каждого х из Результат Цикл
		Если х.Количество > 1 Тогда
			Сообщить(х.Слово + " - " + х.Количество + " раз");
		КонецЕсли;	
	КонецЦикла;	

Показать


Спасибо.
Прикрепленные файлы:
ПоискВложений_Воронов.epf
Шёпот теней; +1
237. Шёпот теней 1780 24.10.15 02:01 Сейчас в теме
(235) ya.Avoronov, сможете улучшить время работы вашей программы ? на N-ое количество процентов ?

это задача из статистики. она также решается всеми архиваторами файлов.

... вот ...

п.с. скачал ваши обработки (6 мани).

...
+
243. ture 606 29.10.15 17:33 Сейчас в теме
Чтоб быть не голословным... вот опять "свалилась" будь ее не ладна задача. Я ее привожу, чтоб показать, какое это издевательство над школьниками. Ведь только соску плюнули и давай им медали срывай. По сути решить мало, надо еще объяснить. И вот здесь почему-то все думают, что время резиновое.

В небоскребе n этажей. Известно, что если уронить стеклянный шарик с этажа номер p, и шарик разобъется, то если уронить шарик с этажа номер p+1, то он тоже разобъется. Также известно, что при броске с последнего этажа шарик всегда разбивается.Вы хотите определить минимальный номер этажа, при падении с которого шарик разбивается. Для проведения экспериментов у вас есть два шарика. Вы можете разбить их все, но в результате вы должны абсолютно точно определить этот номер.
Определите, какого числа бросков достаточно, чтобы заведомо решить эту задачу.
Формат входных данных
Программа получает на вход количество этажей в небоскребе.
Формат выходных данных
Требуется вывести наименьшее число бросков, при котором можно всегда решить задачу.
Примечание
Комментарий к первому примеру. Нужно бросить шарик со 2-го этажа. Если он разобъется, то бросим второй шарик с 1-го этажа, а если не разобъется - то бросим шарик с 3-го этажа.
Подсказки
1. Как следует действовать, если шарик был бы только один?
2. Пусть шариков два и мы бросили один шарик с этажа номер k. Как мы будем действовать в зависимости от того, разобъется ли шарик или нет?
3. Пусть f(n) - это минимальное число бросков, за которое можно определить искомый этаж, если бы в небоскребе было n этажей. Выразите f(n) через значения f(a) для меньших значений a.
Sample Input 1:
4
Sample Output 1:
2

Sample Input 2:
5
Sample Output 2:
3

Чтоб жизнь медом не казалась, скажу что есть вариант:
Sample Input :
7
Sample Output :
3

Как надоест головой ап стол долбить, можно поискать про обезьян аналог. Или стратегию на dxdy. Задача в общем не новая.. ну для студентов, но ведь не для школьников!
+
244. Шёпот теней 1780 30.10.15 08:15 Сейчас в теме
(243) ture, детская задача для тех кто знает математику !!! ))))

самое первое что пришло в голову это метод решения - выбор середины, потом опять середина и так далее до получения (забыл как сам метод называется, подскажите, что-то из "пределов"). Сразу можно вычислить необходимое количество шариков для решения задачи и скорость решения в зависимости от высоты здания (здесь здание дискретно).

... МатематикаЦаирицаНаук ...
+
246. tango 540 30.10.15 09:17 Сейчас в теме
(243) ture, программирование здесь вообще ни при чем
как и в про счастливые билетики
+
247. ture 606 30.10.15 11:19 Сейчас в теме
(246) tango, если уж так смело утверждать, то можно на олимпиады вообще не ходить, потому что там каждая задача с таким ярлыком будет.

(244) Шёпот теней, я не смог внятно и по полочкам все объяснить мальцу. Но меня порадовала реакция здесь. Собственно именно благодаря такой реакции, а вернее того, что будет дальше, и живем пока. Лучшая стратегия у меня выработалась такая, подождать разведки и первых результатов. Если справятся, значит все пока доступно, а если нет, то готовиться, т.к. сейчас пойдут трясти тех, кто посолидней. Это я про работу сейчас... везде возникают трудности ведь. Хорошо это придумали делить людей по специальностям, можно не знать всего и получать свои законные.
+
248. Шёпот теней 1780 30.10.15 11:27 Сейчас в теме
(247) ture, ну да ... ну, да !

сказать человеку что он "какашка" и смотреть как он из этого выпутается ...

не интересно !!!
+
249. tango 540 31.10.15 19:36 Сейчас в теме
(247) ture, ну, не "смелость", а чуть-чуть гиперболы :)
разумеется, рекурсия - это программирование
но программирование - это не рекурсия
+
250. areavel 03.11.15 11:37 Сейчас в теме
Да уж, тут можно дооолго просидеть над такими задачами.
+
251. ture 606 04.11.15 14:50 Сейчас в теме
(250) areavel, да не. Они решаются, даже легко, просто важен контекст, в котором задача подается. Т.е. Я хочу сказать, что для программистов с уклоном на всякие О(хз), это ерунда, т.к. Тривиально, а вот в контексте 1с это выглядит как жестокость или хамство непотребное. Каждому занятию - свой круг и свои задачи. Программисту 1с это просто как от влечься от работы и развеяться.
+
252. m..adm 256 23.11.15 02:24 Сейчас в теме
Мои обработки по конкурсу:
По 1 и 2 заданию: http://infostart.ru/public/421101/
по 3-му заданию: http://infostart.ru/public/421107/

Подходит реализация?
+
253. TVA_11 23.11.15 08:59 Сейчас в теме
Когда в России победит правда, и что нужно для этого делать?
+
254. ture 606 23.11.15 17:10 Сейчас в теме
(253) TVA_11, Вы наивны. Или еще хуже расточительны, если чем-то делитесь за пустые обещания.
+
255. lefthander 23.11.15 23:04 Сейчас в теме
(253) а кого должна победить правда?
+
Внимание! Тема сдана в архив

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот