Имя: Пароль:
1C
1C 7.7
v7: Может у кого завалялись алгоритмические задачи по программированию?
,
0 Doomer
 
17.12.12
15:20
Нужны любые задачи по программированию для оценки навыков на собеседовании. Сейчас использую алгоритм сортировки. Хочу чего-то по сложнее дать для проверки. Но чтобы решение занимало не более 30 минут.
1 YHVVH
 
17.12.12
15:22
hello world
2 Mikeware
 
17.12.12
15:24
3 kiruha
 
17.12.12
15:28
любые операции с матрицами

а вообще
http://habrahabr.ru/hub/algorithms/qa/
4 КуплюКровать
 
17.12.12
15:36
алгоритм соритровки используется для отбора специалистов, которые будут использовать метод Сортировать() ?
5 Кирпич
 
17.12.12
15:36
(3) Ды господь с тобой. Люди будут приходить на собеседование, получать задание про матрицы и тут же выбрасываться в окно. :)
6 Undefined vs NULL
 
17.12.12
15:37
написать функцию вычисления факториала, используя рекурсию
7 КуплюКровать
 
17.12.12
15:37
хех ))) думал (0) неадекват, а прочитал (3) понял что бывает хуже ))))
8 exwill
 
17.12.12
15:38
Сделать программу, которая в окне сообщений выводит свой текст.
9 Doomer
 
17.12.12
15:40
(6) Кстати, да. Быстро и просто. Навык разу будет виден. Можно и упрощенный вариант через цикл разрешить.
10 NS
 
17.12.12
15:40
Полчаса? На отдвухсот? Вычисление скобочного выражения, любая задача на динамическое программирование, поиск пути, словари и хеш-функция, сортировка не за эн квадрат, геометрические задачи (площадь пересечения двух треугольников заданных своими координатами например)
11 NS
 
17.12.12
15:41
(6) (9) На рекурсию - ханойская башня.
12 Ёпрст
 
17.12.12
15:42
(9) это ж для детей..
13 zak555
 
17.12.12
15:42
(0) для себя ?
14 zak555
 
17.12.12
15:43
(0) обход конём всех шахматных клеток на доске
15 Undefined vs NULL
 
17.12.12
15:44
фигня, надо SQL запросы спрашивать
16 Doomer
 
17.12.12
15:48
(12) Разный уровень бывает. У меня 70% студентов сыпятся на сортировке. Задача: написать любой алгоритм сортировки массива на любом языке или в виде блок схемы. Для многих проблема.
17 Doomer
 
17.12.12
15:49
Кстати создавал ветку про это. Многие утверждали что это не нужно.
18 Vladal
 
17.12.12
15:50
Алгоритмические?

Составить алгоритм выдачи сдачи с суммы, имея регистр остатков Купюры, в котором хранится количество купюр в разрезе с номиналом.

Есть сумма 1001 руб, дали купюру 5000 руб.
Есть в наличии 15 купюр по 100 руб, 8 купюр по 500 руб, монеты по 1 и 10 руб - по 100 штук каждого вида.
19 NS
 
17.12.12
15:51
(18) А при чем тут регистр?
20 zak555
 
17.12.12
15:51
(16) для 1с-нига есть метод сортировать(), а уж какой алгоритм этот метод использует его не должно волновать
21 Vladal
 
17.12.12
15:52
(19) Дык речь про алгоритмы для реализации в 1С?
22 NS
 
17.12.12
15:53
(21) Есть сумма, есть купюры. Регистр в задаче для красного словца?
23 Xapac_2
 
17.12.12
15:54
(9) мда проверка алгоритма.
вывод матрицы

123
894
765
24 Vladal
 
17.12.12
15:54
+(18) +(22) У меня есть такая база, выдавала покупюрку из моей кассы по требуемой сумме или заполняла остатками по кассе при инкассации. Писал такое, когда принимал вечером деньги от торговых агентов а утром надо было сдавать их в кассу и бухгалтеру суммы оплаченных долгов.
Ну и еще у одного клиента такая база до сих пор крутится - приход, расход, размен денег.
25 kiruha
 
17.12.12
15:55
Есть X чисел Х1, Х2... Хn
Построить бинарное сбалансированное дерево
http://habrahabr.ru/post/150732/

Опционально
1. Отобразить на форме
2. Использовать для быстрого поиска
3. Сделать "вставку" при добавлении/удалении числа X
....
6.* Построить "индекс" по "товару" xml файла  прайс товаров
26 Vladal
 
17.12.12
15:55
(20) Ну для одинэсника "Сортировать" по 1-й колонке вверх, по 3-й вниз.
27 pumbaEO
 
17.12.12
15:56
Главное добавь, что все надо сделать запросами.
28 Кирпич
 
17.12.12
15:56
(17) Это нужно,для того, чтобы тех, кто знает сложные алгоритмы на работу не брать. Ибо будет в облаках витать и курить по полчаса, пока простые и надежные люди строчат в конфигураторе доход для родной фирмы.
29 Vladal
 
17.12.12
15:57
(27) В семерке в файловой быстрее выборками
30 Lys
 
17.12.12
15:57
(17) Автор, ответь на один вопрос: это ты одинесников так тестировать собрался, или программеров на "классических" языках?
31 NS
 
17.12.12
15:58
(30) Если нужен программист, то какая разница на каком языке он пишет?
32 Lys
 
17.12.12
15:59
(31) Большая.
Если нужне именно 1Сник, то знание алгоритмов сортировки ему как собаке пятая нога.
33 Mikeware
 
17.12.12
16:00
(31) ну дык 1снеги  пишут на русском, а программисы - на английском!
34 NS
 
17.12.12
16:01
(32) Если нужен программист, то человек который сам не в состоянии придумать алгоритм сортировки - нафик не сдался.
А обновлять типовые и рисовать печатные формы - нужен не программист, а рисовальщик печатных форм.
35 Lys
 
17.12.12
16:03
(34) Где и в каких практических задачах на 1С применяются "свои алгоритмы сортировки"?
36 zak555
 
17.12.12
16:03
(33) у 1снигов есть выбор -- русский или нерусь, у остальных - нет =)
37 Lys
 
17.12.12
16:03
+(35) Слово "практических" подчеркнуто два раза
38 Кирпич
 
17.12.12
16:04
(34) А сколько получает "рисовальщик печатных форм"?
я сильно подозреваю, что около 100.
39 NS
 
17.12.12
16:07
(35) А при чем тут "практических"?
Человек который не может придумать алгоритм сортировки - дебил, хотя большиснтво умственно-отсталых смогут отсортировать предметы в порядке возрастания и убывания.

Кому-то нужен дебил на работе?

Если человек не может формализовать и реализовать алгоритм сортировки, то он не программист. Если нужен программист на работу - то нормальное задание. Кто тебе сказал что при приеме нужно давать практические задания?
40 NS
 
17.12.12
16:07
(38) Я очень сомневаюсь что хоть один рисовальщик получает 100.
41 фобка
 
17.12.12
16:08
(35) да ет таких задач) видимо не в этом дело, хотя если человек не сможет сидя перед тобой наковырять за полчаса некий алгоритм - совсем не означает он не программист. Он может быть и похитрее задачи решать, такие на которых экзаменующий сядет сам в лужу
42 Кирпич
 
17.12.12
16:09
(40) в мире 1с это очень распространенное явление
43 фобка
 
17.12.12
16:09
(39) чушь
44 Lys
 
17.12.12
16:11
(39) Какой смысл в "непрактических" заданиях?

Взять на работу сумрачного гения, осилившего Кнута, мужественно сортирующего таблицы значений собственным уникальным алгоритмом - и при этом проектирующего незакрывающиеся в ноль регистры остатков?
45 NS
 
17.12.12
16:11
(43) Что чушь?
46 NS
 
17.12.12
16:11
(44) Ты считаешь что чтоб написать сортировку нужно быть гением?
47 NS
 
17.12.12
16:13
Какое практическое задание сможет сделать даун неспособный написать сортировку? Любой понимающий что такое вложенный цикл, и умеющий реализовывать простейшие задачи сортировку напишет.
48 фобка
 
17.12.12
16:13
(45) то что ты написал в 39 -  чушь, или сложно понять фразу "(39) чушь", но в тоже время очень легко рассуждать о дебилах?
49 NS
 
17.12.12
16:14
(48) В фразе два пункта. Какой из них чушь?
Что даже умственно отсталый понимает что чтоб отсортировать предметы в порядке возрастания достаточно взять самый маленький, потом самый маленький среди оставшихся и т.д.?

Или чушь что любой программист способен релизовать такой алгоритм?
50 NS
 
17.12.12
16:15
(48) Или ты такой алгоритм придумать не в состоянии? Поздравляю!
51 Lys
 
17.12.12
16:16
(46) Чтобы написать сортировку перебором - необязательно быть гением.
Но ведь вопрос не про это, а про хитрые сортировки?
Чтобы написать всякими там половинно-пузырьковыми извратами - нужно обладать специальными знаниями из учебников.

Тем не менее, наличие этих специальных знаний не гарантирует, что человек будет грамотно выводить регистры накопления в ноль, например.
Равно как и отсутствие таких специфичных знаний не гарантирует обратного.
52 Lys
 
17.12.12
16:17
(49) Я скорее назвал дебилом того, кто принимает на работу 1Сника, руководствуюсь его знаниями алгоритмов сортировки или прочих гико-подобных штуках.
53 Mikeware
 
17.12.12
16:18
(39) оутсорс через собеседования - он гоаорил, что нужно давать практические задания
54 фобка
 
17.12.12
16:19
(49) "Человек который не может придумать алгоритм сортировки - дебил",
"Если человек не может формализовать и реализовать алгоритм сортировки, то он не программист"  это мягко выражаясь - ерунда.
То что ты легко бросаешься оскорблениями ("умственно отсталые, дебилы, дауны") говоря о тех, кто твоему мнению что-то там мне может сделать - говорит о каких-то твоих внутренних проблемах, возможно комплексах. С этим тебе к психологу.
57 NS
 
17.12.12
16:21
(51) Чего? Какие половинно-пузырьковые извраты?
(52) Еще раз повторю - чтоб написать сортироваку не надо быть гением. Хотя для некоторых собрать вот такое -
http://www.baby.ru/storage/a/c/2/7/11463952.586279.jpeg - это верх гениальности.
(54) На сортировку игрушки для детей от двух лет. Если человек не в состоянии решить задачу которую решают двухлетние дети - он не дебил? ОК. Вообще есть определение дебтилизма, IQ меньше 70-ти. Человек с IQ больше семидесяти пирамидку соберет. Но у вас может быть иное мнение, не все же гении :)
59 NS
 
17.12.12
16:22
http://images.rambler.ru/search?query=детская пирамидка
Сверхзадача для некоторых. Которых я не буду называть дебилами. Правильно, надо быть толерантней :)
60 exwill
 
17.12.12
16:23
(57) Щас тебя "задавят опытом", как в анекдоте.
61 NS
 
17.12.12
16:23
62 Кирпич
 
17.12.12
16:24
(0) короче, ставь перед кандидатом пирамидку.
пирамидка - 30 тыс.
кубик рубика - от 100 тыс.
63 Mikeware
 
17.12.12
16:26
(62) Экзамен в школу милиции...
На столе лежат шарик, пирамидка и кубик. В стене напротив три отверстия: круглое, триегольное и квадратное. Задача состоит в том что бы вставить все предметы в отверстия.
поступаю либо умные, либо сильные...
©
64 Mikeware
 
17.12.12
16:27
(59) "альтернативно умные", чо....
65 Кирпич
 
17.12.12
16:28
афроумные
66 Doomer
 
17.12.12
16:29
Я так тестирую потенциальных будущих 1С-ников.
67 kiruha
 
17.12.12
16:29
(57)
Придут 2 кандидата.

Один "дебил" быстренько сваяет сортировку выбором наименьшего
"Умный" начнет реализовывать что то подобное
wiki:Блочная_сортировка
и не уложится по времени

Дебил победит )
68 Lys
 
17.12.12
16:29
(66) Кроме алгоритма сортировки - больше ничего не спрашиваешь?
69 Mikeware
 
17.12.12
16:30
(66) т.е. кто тест не проходит - того берешь?
мало... нужно еже на жадность и лень тестировать...
70 Doomer
 
17.12.12
16:31
(68)(69) После этого начинается разговор.
71 Mikeware
 
17.12.12
16:31
(67) ну это ж не ЕГЭ. Если "не уложившийся" объяснит, почему он решил применить именно этот метод...
73 zak555
 
17.12.12
16:31
(66) ты у них проводки лучше спроси =)
74 КонецЦикла
 
17.12.12
16:31
(0) Лучше спроси как бы решалась практическая задачка (можно без самого решения)

Кому упали математики в 1С?
Офигенная сортировка при наличии order by и Сортировать()?
Суперраспределение себестоимости?
0,07% внедрений?

Да вас стороной обходить надобно...
75 Mikeware
 
17.12.12
16:32
(74) это е математика, это алгоритмизация.
76 NS
 
17.12.12
16:33
(74) Чтоб собрать детскую пирамидку нужно быть математиком?
77 КонецЦикла
 
17.12.12
16:34
(75) Тогда лучше погуглить насчет задачек для соискателей-японцев или при приеме на работу в гугл
Мучать сортировками - увольте
78 Lys
 
17.12.12
16:35
(75) Алгоритм списания по ФИФО/ЛИФО для этих целей как-то получше будет. Имхо.

А собеседователей, начинающих разговор с алгоритмических задач, не имеющих отношения к реальной деятельности - я бы на июх посылал сразу.
79 Злопчинский
 
17.12.12
16:36
ЭН предметов. Вывести все возможные разбиения ЭН предметов на кучки.
80 Mikeware
 
17.12.12
16:36
(77) это всеголишь пример на алгоритмизацию. согласен, не лучший...
но можно задать и вопрос по базам данных.
в принципе, если человек знает основы - он достаточно бысторо освоит 1с.
если он знает только 1с - код обычно ужастен, а задача чуть сложнее "печатной формы" вводит в ступор.
81 kiruha
 
17.12.12
16:36
(74)
Чисто практически - если помнишь - в 7.7 отсутствовали адекватные методы сортировки больших ТЗ
И индексированную таблицу создавали как раз по сбалансированным деревьям
82 КонецЦикла
 
17.12.12
16:37
(78) Вот, вот...
Если хочешь покорить кандидата - попроси написать запрос по ФИФО на SQL , без использования курсора
83 Sidney
 
17.12.12
16:37
Я бы вообще не пошел к тому кто дает формальные тестовые задания типа факториала и сортировки. Ибо. Если человек дает такие задачи, значит он сам не креативщик и придумать ничего нового не может.
84 NS
 
17.12.12
16:37
(77) Если нужен человек с минимальными навыками программирования - зачем что-то гуглить? Сортировка отсечет всех кто неспособен решать простейшие задачи. Если человек умеет составлять программы (сможет нарисовать блок-схему алгоритма доступного двухлетнему ребенку), то ему и знания 1С не нужно. 1Су он скорей всего сможет выучится. А если не в состоянии - то и время на него нет смысла тратить.
85 Лодырь
 
17.12.12
16:38
(78) Так же использовал фифо/лифо. 90% не способны написать ничего.
86 NS
 
17.12.12
16:39
(85)А если человек не знает 1С?
87 КонецЦикла
 
17.12.12
16:40
(81) 99% никуа не повторит это ибо слабы в этой области
Но процентов 10 преуспеют в автоматизации
Вывод?
88 Lys
 
17.12.12
16:40
(86) Тогда не стоит его брать на должность 1С-программиста.
Незачем портить жизнь)
89 NS
 
17.12.12
16:46
(88) Но меня в свое время взяли. И я в свое время брал таких. Сейчас успешные 1С-программисты.
90 Sidney
 
17.12.12
16:51
(89)А могли бы быть успешными Java программистами, уехать  в Австралию и жить как люди...
Испортил жизнь молодежи и хвастается еще.
91 Doomer
 
17.12.12
16:56
(83) Т.е. вы сможете придумать алгоритм расчета факториала без циклов и рекурсии?
92 Vladal
 
17.12.12
16:59
Господа, вот вам ещё задачка:

Задача на знание языка запросов:

Есть регистр сведений - непериодический и без регистратора. Одно измерение "Мероприятие" (справочник) и два ресурса "ДатаНачала" и "ДатаОкончания". В регистре хранятся записи о проводимых мероприятиях, которые во времени могут пересекаться, накладываться и т.д.

Задача: Нужно ЗАПРОСОМ за период получить количество дней, в которые проходило хотя бы одно мероприятие.

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

Например: Если за выбранный период проходило два мероприятия, в один и тот же период, длительностью три дня, то запрос должен вернуть «3». А если эти мероприятия проходили в разное время и не пересекались, то запрос должен вернуть «6».
93 exwill
 
17.12.12
17:00
(91) Это элементарно.
94 Vladal
 
17.12.12
17:02
(93) Каким образом?
Имеется в виду, что такой встроенной функции нет.
95 Vladal
 
17.12.12
17:03
О! Вот различные алгоритмы сортировки в наглядном виде
http://vision.bc.edu/~dmartin/teaching/sorting/anim-html/all.html
96 exwill
 
17.12.12
17:04
(94) Нет встроенной - берешь вЫстроенную.
97 Undefined vs NULL
 
17.12.12
17:09
(92) находишь все начала мероприятий не лежащие в других, аналогично окончания
ну и про хвосты не забыть
98 kiruha
 
17.12.12
17:14
(96)
Вообщем пример в студию, а то подумаем нехорошее )
99 Sidney
 
17.12.12
17:18
(91)Для программистов вообще гораздо полезнее разбить на 2 части собеседование:
1. собственно знание языка и используемых инструментов и 2. Умение логически мыслить вообще. Например предложить написать алгоритм открывания бутылки.
100 zak555
 
17.12.12
17:19
(98) ты тоже не знаешь, как факториал считать без рекурсии ?
101 Ёпрст
 
17.12.12
17:21
102 kiruha
 
17.12.12
17:21
(100)
Он написал легко на "без циклов и рекурсии"
103 zak555
 
17.12.12
17:22
(102) метка -- это цикл ?
104 kiruha
 
17.12.12
17:25
(103)
Да
Алгоритмически. Видимо и куайн тоже - пока вкуриваю
105 NS
 
17.12.12
17:26
(101)
Л = Симв(34); С = "Л = Симв(34); С = [Л + С + Л]; Сообщить(Шаблон(С));"; Сообщить(Шаблон(С));
Так кошерней.
106 NS
 
17.12.12
17:27
(103) Gotо назад - это цикл.
107 zak555
 
17.12.12
17:38
жалко, а то было бы без цикла =)
108 zak555
 
17.12.12
17:38
*без явного
109 exwill
 
17.12.12
17:38
Я вообще-то COM имел ввиду.
110 zak555
 
17.12.12
17:44
> вы сможете придумать алгоритм расчета факториала без циклов и рекурсии?

с такими условиями нереально ?
111 NS
 
17.12.12
17:52
Если сложность алгоритма не константа, то без циклов он не решается. По большому счету и сложение без цикла не сделать.
112 Vladal
 
17.12.12
18:13
(109) Можно и WSH использовать, а там всякие факториалы и прочие синусы есть.
113 kiruha
 
17.12.12
18:14
(111)
Если сложность n2 - два вложенных цикла ?
114 mm_84
 
17.12.12
18:27
(4) Да скоро грузчиков будут заставлять Бином Ньютона раскладывать) на собеседовании)
115 Нуф-Нуф
 
17.12.12
18:50
1. сравнение версий 8.2.14.2 и 8.11.0.3

2. написать масштабируемую функцию ЧислоПрописью
116 NS
 
17.12.12
19:00
(113) Не всегда, но обычно да.
117 Lys
 
17.12.12
19:05
(115) "8.11.0.3" - что за зверь такой, неведомый?
118 Нуф-Нуф
 
17.12.12
19:10
(115) ну тупо дают тебе две версии 1с. и нужно программно определить кака я старше
119 Лодырь
 
17.12.12
19:14
(86) Если не знает 1С, то тоже самое но алгоритм в любом виде. Блоксхема/набор правил/программа на Pascal/C/Fortran/Basic
120 Лодырь
 
17.12.12
19:16
(86) Действительно проблема кандидатов не в том что они не знают 1С. Проблема в том что они не умеют програмировать.
121 Lys
 
17.12.12
19:26
(118) 8.11.0.3 - это версия ЧЕГО?
нет таких версий у платформы))
122 Злопчинский
 
17.12.12
20:14
(95) а ссылочка точно рабочая?
123 Злопчинский
 
17.12.12
20:16
все херня... нужно оценивать базовую подготовку и способность/навыки решать ПРОБЛЕМЫ.
.
я вот, фиг там напишу запрос в 8-ке что-нить посложнее плоской выборки. Потому что на моей нынешней работе оно не надо. а надо уметь решать кучу проблем... как-то так...
124 25-11
 
17.12.12
20:37
Не читал, но на вскидку из классических книг.
8 ферзей на доске расставить
посчитать число Пи с большой точностью (чтоб пришлось в столбик умножать-делить). Формулу для разложения в ряд можно и напомнить, задача не в этом. Если напишет умножение-деление - уже хорошо.
И совсем классика, интроспекция: написать программу которая выводит свой собственный код.  Это, наверное, уже для отличников
125 Злопчинский
 
17.12.12
20:40
(124) ты еще извлечение квадратного корня по граням запули...
126 vyaz
 
17.12.12
20:48
50% соискателей не умеет внешнюю печатную форму делать, а тут речи про хитрож0пые задачи...
127 фобка
 
18.12.12
09:35
сортираторы атакуют
128 Mikeware
 
18.12.12
11:12
(123) все зависит от того, кого именно берут: если "решателя проблем", то нужны знания предметной области, хорошо подвешенный язык, коммуникабельность и базовые знания программного средства.
если берут программиста - то он должен умет эффективно решать поставленную (детализированную почти до уровня ТЗ) задачу.