Что такое алгоритм?

Публикация № 1006979

Разработка - Математика и алгоритмы

Как ответить на этот вопрос и не попасть пальцем в небо.

Удивительное дело. Люди, стоявшие у истоков того, что мы сейчас называем computer science, считали "алгоритм" понятием в принципе неопределяемым. Таким же, как, например, "множество". Но, в отличие от "множества"... Кстати, вы много видели определений множества? Кроме совсем смешного, типа: "множество - это совокупность чего-либо" (ага, ага, а совокупность - это множество чего-либо)? В отличие от "множества", в определениях "алгорима" недостатка нет. Вы без труда найдете штук пять или шесть.

Алгоритмом называется точное и понятное предписаниe исполнителю совершить последовательность действий, направленных на решение поставленной задачи. 

Алгоритм — это последовательность действий для исполнителя, записанная на формальном языке и приводящая к заданной цели за конечное время.

Алгоритм - описание конечной последовательности шагов в решении задачи, приводящей от исходных данных к требуемому результату. 

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

Алгоритм — это всякая система вычислений, выполняемых по строго определённым правилам, которая после какого-либо числа шагов заведомо приводит к решению поставленной задачи. 

Алгоритм — это последовательность действий, либо приводящяя к решению задачи, либо поясняющая, почему это решение получить нельзя.

И хотя все эти определения - всего лишь чуть менее смешные, чем приведенное мной ранее определение "множества", такое упорство в общем неглупых людей наводит на мысль, что математики-основатели все-таки ошибались и определение алгоритма существует. Попробуем его найти, но сначала определимся с самим определением (извините за каламбур). Определение - это выражение некоторого сложного понятия через более простые. В идеале, оно должно состоять из одного существительного и одного прилагательного. Конечно, нечто может обладать множеством свойств, но обычно только одно из них являеся основным и определяющим. Его-то и следует выносить в определение, про все второстепенные можно спокойно забыть.

Я считаю что такое идеальное определение алгоритма есть. Математикам было сложно его найти, потому что оно, действительно лежит скорее в области физики, но оно есть. Прежде чем я вас с ним познакомлю, давайте разберемя - что не так со всеми прочими определениями.

Навскидку, можно увидеть, что почти в каждом есть слово "задача". Не знаю, как кто, но я бы не стал говорить , что  "задача" это более простое понятие.

Дональд Кнут давал такое определение алгоритму:

Алгоритм — это конечный набор правил, который определяет последовательность операций для решения конкретного множества задач и обладает пятью важными чертами: конечность, определённость, ввод, вывод, эффективность.

Здесь мы опять видим "задачу", а также целых пять свойств. Наверняка здесь что-то лишнее. 

 

Первое свойство - "конечность". Кнут определял его так:

Алгоритм всегда должен заканчиваться после конечного числа шагов.

Ха-ха-ха. "Всех впускать, никого не выпускать" через сколько ходов должно закончиться? А ведь это - алгоритм.

Видимо, количество тех, кому приходилось писать:

пока истина цикл

в наше время достигло некоторой критической точки, поэтому статья в википедии https://ru.wikipedia.org/wiki/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC, например, вводит разделение на вычислительные и управляющие алгоритмы и утверждает, что управляющие могут работать бесконечно. И на том спасибо, но есть еще один немаловажный момент. Один из "отцов-основателей" Алан Тьюринг не только прямо утверждал, что некоторые алгоритмы могут работать бесконечно. Он еще и доказал, что у нас в общем случае нет никакого способа заранее узнать - остановиться ли когда-нибудь вот этот конкретный алгоритм в этом конкретном случае или нет. Т.е. пишешь ты пишешь циклы там, условия. И может быть это и есть самый настоящий алгоритм, а может и нет. Никто ж не знает. Как вы понимаете, это свойство можно смело выкидывать.

Второе свойство - определенность.

Каждый шаг алгоритма должен быть точно определен. Действия, которые нужно выполнить, должны быть строго и недвусмысленно определены для каждого возможного случая.

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

Аааааааааа[>Ааааааа>Аааааааааа>Ааа>A<<<<я]>
Аа*>А*Ааааааа**Ааа*>Аа*<<Ааааааааааааааа*>*
Ааа*яяяяяЯ*яяяяяяяЯ*>А*>*

А это - алгоритм из почтенного семейства алгоритмов Hello World! Он написан на некоторой разновидности брейнфака, которую я только что придумал. Понятен ли он исполнителю? А какому? Нет никакого исполнителя. Возможно он появится, если я напишу примерно шестьдесят строчек кода на C, Java или 1С. Но, скорее всего, я не стану этим заниматься. Видите в чем дело? Нам стоит признать, что алгоритм существует независимо от исполнителя. А как иначе? Алгоритм существует, пока его исполняют? А когда перестают исполнять, он исчезает?

Да, можно сказать, что этот алгоритм понятен мне, его создателю. Но это пока. Завтра я забуду, что я тут напридумывал, и что? Алгоритм исчезнет? А послезавтра я вспомню. Он возродится? Алгоритм существует независимо не только от исполнителя, но и от создателя. Иначе, как вы объясните тот факт, что Евклид, светлая ему память, уже давно прекратил делить большее на меньшее, а алгоритм Евклида все еще существует? 

Алгоритм существует независимо от исполнителя и независимо от создателя. И, в принципе, может быть не понятен никому и, при этом, продолжать свое существование. Свойство определенности(понятности) можно убрать.

Третье свойство - ввод.

Алгоритм имее некоторое (возможно, равное нулю) число входных данных...

То есть, входные данные могут быть, а могут и отсутствовать (и это действительно так). Но если входные данные могут быть, а могут и не быть, то такое свойство для определения не важно.

Самое интересное четвертое свойство - вывод.

У алгоритма есть одно или несколько выходных данных...

То есть, мы должны прийти к какому то результату, решить какую-то задачу. Решить или решать постоянно (это в случае с бесконечными алгоритмами). Почему я говорю, что это свойство самое интересное? Потому что, слова "задача" или "результат" вы обнаружите в любом определении алгоритма.

Можно было бы сказать, что алгоритм - это способ решения задачи. Но это будет плохое определение. А что такое "задача"? Вот есть известный армейский алгоритм - "копать от забора и до обеда". На решение какой задачи будут направлены действия исполнителя? Могут ли существовать действия без задачи? А почему нет!

Нас невозможно сбить с пути, нам все равно, куда идти.

Можно ли описать такие действия? Ну, а какие проблемы!

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

Да, осталось еще пятое свойство. Но его никто, кроме автора, не воспринимал всерьез (возможно, что и автор тоже).

Эффективность. Алгоритм обычно считается эффективным, если все его операторы достаточно просты для того, чтобы их можно было точно выполнить в течение конечного промежутка времени с помощью карандаша и бумаги.

Итак у нас нет никаких пяти свойств. А также нет ни "задач", ни "результатов". Может показаться, что теперь у нас вообще ничего нет. Но это не так. Представьте себе лестницу из трех ступенек и робота с двумя ногами. Все что он может - это поставить правую или левую ногу на ступеньку под номером 1,2 или 3. Можно сказать что у нас есть всего шесть возможных команд: П1,П2,П3,Л1,Л2,Л3. Попробуйте написать алгоритм подъема снизу на самый верх этой коротенькой лестницы. У вас должно получиться что-то типа:

Л1
П2
Л3
П3

или

П1
Л2
П3
Л3

Есть ли какая-нибудь разница в том, с какой ноги начинать: с правой или с левой? Как вы понимаете, разницы никакой нет. Значит, можно начинать с любой ноги? С любой нельзя. Начинать надо конкретно с правой или конкретно с левой. Вы должны сделать выбор. И пока вы его не сделаете, робот будет стоять внизу.

В этом мире все имеет последствия, но не все имеет причину. Что-то когда-то начинается. У всякой цепочки причин-следствий есть первое звено. Способность создавать такое первое звено, давать начало называется волей.

 

Безусловно, алгоритм - это проявление воли. Но не только. Для того, чтобы создать алгоритм, мы должны сделать еще кое-что. Мы дожны дать нашей воле свободу. Освободить ее от себя. Обеспечить ее независимое существование от нас, ее родителя. В сущности, алгоритм и есть такая освобожденая от родителя воля. Освобождение от родителя (или опекуна) называетя словом "эмансипация". Поэтому окончательное определение алгоритма выглядит так:

Алгоритм - это эмансипированная воля.

Как я и обещал, здесь у нас одно существительное и одно прилагательное. Кроме того, "эмансипация" и "воля" - понятия более простые, чем определяемое. Поэтому, я нахожу это определение идеальным. Алгоритм - эмансипированная воля. Создание алгоритма - эмансипация. А человек, который занимается созданием алгоритма - эмансипатор. Мне, кстати, никогда не нравилось слово "программист". Оно мне всегда казалось каким-то ругательным. В самом деле. Если есть "ПРОграммист", значит должен быть и "ЭПИграммист". И я бы предпочел, чтобы меня называли вторым словом. Потому что я сначала думаю и только ПОТОМ ("ЭПИ") пишу ("грамма"). А "ПРОграммист" сначала ("ПРО") пишет ("грамма") и только потом думает. Чтобы никому не было обидно, следует всех, кто занимается созданием алгоритмов называть эмансипаторами. Тем более, что это слово в точности отражает то, чем они занимаются.

Специальные предложения

Вознаграждение за ответ
Показать полностью
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. vadim1011985 82 25.02.19 13:47 Сейчас в теме
Как по мне так это странная статья . Вы ребёнку тоже будете объяснять что Алгоритм это эмансипированная воля ?

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

На счёт независимости - тоже спорно,

И ещё как рождаются алгоритмы ? Без задачи ? А для чего они тогда ?
for_sale; +1 Ответить
3. mkalimulin 431 25.02.19 14:45 Сейчас в теме +0.1 $m
(1) А почему нет?
Речь шла о конечности шагов алгоритма. Некоторые алгоритмы останавливаются, а некоторые нет.
Но Кнут, например, говорит:
"Алгоритм всегда должен заканчиваться после конечного числа шагов."
Именно это свойство я и отбрасываю.
Алгоритм существует независимо от исполнителя и независимо от создателя. Что вы хотите здесь оспорить?
Конечно, почти всегда алгоритм создают для решения какой-то задачи. Но задача сама по себе, а алгоритм, как таковой, сам по себе. Бессмысленный алгоритм не перестает быть алгоритмом.
6. vadim1011985 82 25.02.19 15:20 Сейчас в теме
(3) Еще раз бесконечный алгоритм можно представить графически конечным числом блоков ... Следовательно алгоритм конечен в плане решения задачи , пример : мы должны получать значения с датчиков температуры каждую секунду и так 24 ч / 7 д - и они опрашиваются в бесконечном цикле. Конечностью алгоритма является получение значения с датчиков в текущую секунду. и получаем мы это за конечное количество шагов.
7. mkalimulin 431 25.02.19 15:29 Сейчас в теме
(6) Но есть алгоритмы, которые ничего не получают за конечное число шагов.
8. vadim1011985 82 25.02.19 15:30 Сейчас в теме
9. mkalimulin 431 25.02.19 15:31 Сейчас в теме
(8)
пока истина цикл
конеццикла;
10. vadim1011985 82 25.02.19 15:34 Сейчас в теме
(9)

А вы уверены что это алгоритм ?
for_sale; +1 Ответить
11. mkalimulin 431 25.02.19 15:34 Сейчас в теме
12. vadim1011985 82 25.02.19 15:39 Сейчас в теме
(11) Ок и где тут ваша воля ?
16. mkalimulin 431 25.02.19 16:04 Сейчас в теме
(12) Моя воля в том, что я его закончил. Он запустится и будет крутиться. Потому что я так хочу.
17. genayo 25.02.19 16:18 Сейчас в теме
(16) Но ведь он же может прекратить крутиться без вашей воли?
for_sale; +1 Ответить
18. mkalimulin 431 25.02.19 16:21 Сейчас в теме
(17) Только если исполнитель прекратит крутить.
19. genayo 25.02.19 16:26 Сейчас в теме
(18) Если исполнитель перестанет крутить, алгоритм, получается, исчезнет?
21. mkalimulin 431 25.02.19 16:44 Сейчас в теме
(19) Нет, конечно, просто перестанет выполняться.
23. genayo 25.02.19 16:49 Сейчас в теме
(21) А где он в этот момент будет существовать?
24. mkalimulin 431 25.02.19 16:50 Сейчас в теме
25. genayo 25.02.19 16:50 Сейчас в теме
(24) В какой записи? Он же уже эмансипирован?
26. mkalimulin 431 25.02.19 17:03 Сейчас в теме
(25) Запись и есть эмансипация воли.
34. vadim1011985 82 25.02.19 17:25 Сейчас в теме
43. genayo 25.02.19 18:42 Сейчас в теме
(26) А, я понял, он записан в мозге автора. Ловко.
44. genayo 25.02.19 18:46 Сейчас в теме
(43) И, получается, алгоритм перестаёт существовать, если не осталось ни одной его записи.
48. mkalimulin 431 25.02.19 20:48 Сейчас в теме
52. genayo 25.02.19 21:54 Сейчас в теме
(48) Ладно, не смотря на практическую бесполезность, продолжим. Чем тогда является квайн в вашей философии алгоритмов? Аналог вещи в себе?
for_sale; +1 Ответить
54. mkalimulin 431 25.02.19 23:03 Сейчас в теме
(52) Алгоритмом. Кстати, отлично напомнили. А то постоянно просят привести пример алгоритма, который не решает никакой задачи. Отличный пример.
58. genayo 26.02.19 05:17 Сейчас в теме
(54) Ну это скучно. Если мы запустим квайн на исполнителе, и сотрём все записи этого алгоритма, тогда квайн будет существовать только пока работает исполнитель. То есть его целью будет поддержание своего существования.
62. mkalimulin 431 26.02.19 08:42 Сейчас в теме
(58) Репликация. Квайн размножается.
63. genayo 26.02.19 08:45 Сейчас в теме
(62) Это почему? Вывод может происходить в dev/null... Хм. Но тогда, если вывод последовательный, не будет существовать ни одной записи алгоритма, но он будет работать?
64. mkalimulin 431 26.02.19 08:56 Сейчас в теме
(63) Будет работать алгоритм, записанный в памяти. Если его зациклить, он будет бесконечно создавать свои реплики. Эти реплики могут сохраняться где-нибудь во все возрастающем количестве. Может перезаписываться одна и та же реплика. А можно выводить в никуда и реплика будет уничтожаться. Но в этом случае совсем не обязательно делать сложный квайн.

пока истина цикл
конеццикла

здесь ничем не будет отличаться.
65. genayo 26.02.19 09:01 Сейчас в теме
(64) Так в памяти будет не алгоритм, а набор команд для его исполнения на исполнителе. А вы говорите, что алгоритм должен существовать независимо от исполнителя.
78. mkalimulin 431 26.02.19 12:25 Сейчас в теме
(65) В памяти будет алгоритм. Но он же может быть и не в памяти. Или в какой-нибудь другой памяти. На бумажке. На камне. Какая разница?
79. genayo 26.02.19 13:02 Сейчас в теме
(78) Почему алгоритм? Набор машинных команд (инструкция для КОНКРЕТНОГО исполнителя) - это алгоритм?
80. mkalimulin 431 26.02.19 13:04 Сейчас в теме
84. genayo 26.02.19 13:23 Сейчас в теме
(80) Но откуда создатель может знать, что это тот-же самый алгоритм, порождённые его волей, если не он писал тот алгоритм, который из алгоритма делает инструкции для конкретного исполнителя?
20. vadim1011985 82 25.02.19 16:28 Сейчас в теме
(18) т.е. все таки зависит от исполнителя ?
22. mkalimulin 431 25.02.19 16:46 Сейчас в теме
(20) От исполнителя зависит выполнение алгоритма. Но мы научились делать таких исполнителей, у которых воля сведена к минимуму. Так что, можно особо не беспокоиться.
2. Boneman 270 25.02.19 14:15 Сейчас в теме
Это называется Сферический конь в вакууме, а не идеальное определение алгоритма
for_sale; acanta; +2 Ответить
4. genayo 25.02.19 15:12 Сейчас в теме
Какой великолепный пример софистики! Аплодирую стоя.
5. mkalimulin 431 25.02.19 15:15 Сейчас в теме
(4) Как эмансипатор эмансипатору, хочу сказать вам спасибо!
13. vadim1011985 82 25.02.19 15:44 Сейчас в теме
Даже в этом случае ваш алгоритм рисуется за конечное число шагов , и конечная его цель бесконечно ничего не делать
for_sale; +1 Ответить
14. genayo 25.02.19 15:54 Сейчас в теме
(13) Повелеваю: Алгоритм свободен, и может ничего не делать.
15. mkalimulin 431 25.02.19 16:02 Сейчас в теме
27. spacecraft 25.02.19 17:13 Сейчас в теме
Можно придумать бесчисленное множество "своих" определений Алгоритму. Только единственно правильным оно от этого не будет.
Наиболее полное определение озвучено в википедии:
Алгори́тм (лат. algorithmi — от арабского имени математика Аль-Хорезми[1]) — конечная совокупность точно заданных правил решения произвольного класса задач или набор инструкций, описывающих порядок действий исполнителя для решения некоторой задачи.
Алгоритм без исполнителя не существует. Или это уже не алгоритм.
Алгоритм это не чисто компьютерная терминология.

А про "Эмансипация воли"... что-то мне это современную Украину напомнило.
for_sale; +1 Ответить
29. mkalimulin 431 25.02.19 17:19 Сейчас в теме
(27) Алгоритм без исполнителя прекрасно существует.
30. spacecraft 25.02.19 17:20 Сейчас в теме
31. mkalimulin 431 25.02.19 17:20 Сейчас в теме
32. spacecraft 25.02.19 17:21 Сейчас в теме
(31) давайте конкретный пример.
68. AndreyCh75 26.02.19 09:18 Сейчас в теме
(31)Статья забавная. Но в примере алгоритма без исполнителя вы перепутали алгоритм и запись алгоритма. Исходя из примера, алгоритм Евклида, записанный китайскими иероглифами, уже новый алгоритм ).
for_sale; +1 Ответить
28. pm74 180 25.02.19 17:17 Сейчас в теме
восход и закат , деление инфузорий .. итд итп можно описать на ленте Тьюринга, где тут воля и эмансипация. И потом , следуя логике статьи , если алгоритм существует независимо, разве его можно создать, описать только.
33. mkalimulin 431 25.02.19 17:22 Сейчас в теме
(28) Когда вы будете описывать деление инфузорий, вам потребуется воля. А если вы будете делать это на ленте Тьюринга, то очень много воли.
35. pm74 180 25.02.19 17:36 Сейчас в теме
(33)воля и эмансипация измеряются в чем нибудь?
36. mkalimulin 431 25.02.19 17:37 Сейчас в теме
(35) Волю можно измерять в битах и байтах. Эмансипация - это освобождение. Понятие безразмерное.
37. vadim1011985 82 25.02.19 17:48 Сейчас в теме
(36) Эээээммммм ... это как ? И как измерить мою волю в байтах
38. mkalimulin 431 25.02.19 17:54 Сейчас в теме
(37) Выбор из право-лево или верх-низ - это один бит. Самая элементарная воля. Она есть у всех, начиная с фотона. Выбор из четырех возможных вариантов - это два бита. И т.д.
Воля, которой располагаете вы, в отличие о фотона - огромна. Точной величины не знаю, но это не гига и даже не терабайты, а значительно больше.
41. vadim1011985 82 25.02.19 18:06 Сейчас в теме
(38) На сколько я знаю у фотона нет воли, а есть эффект наблюдателя , то что вы проводили описание спора Бора и эйнштейна как раз касалось этого , а эксперимент Белла опроверг теорию Эйнштейна. Так какая воля у фотона ? точнее у двух запутанных частиц ?
49. mkalimulin 431 25.02.19 20:49 Сейчас в теме
(41) Элементарная. Фотон принимает тот или иной спин по своему собственному решению.
53. TODD22 18 25.02.19 21:59 Сейчас в теме
(49)
Фотон принимает тот или иной спин по своему собственному решению.

Есть два носка читай две частицы в состоянии суперпозиции, мы не можем сказать какой из них левый, а какой из них правый.
Михаил утром берёт и одевает один носок на правую ногу, согласно квантовой теории второй носок автоматически становится левым.
Внимание вопрос: какой волей обладают носки при принятии решения каким они станут, левым или правым?
55. mkalimulin 431 25.02.19 23:04 Сейчас в теме
(53) Элементарной. В чем вопрос?
Согласно квантовой теории, частицы ни в какой "позиции" не находятся. В тот момент, когда мы пытаемся выяснить "позицию" частицы, она принимает решение и обретает ту или иную "позицию".
56. user856012 13 25.02.19 23:47 Сейчас в теме
(55)
В тот момент, когда мы пытаемся выяснить "позицию" частицы, она принимает решение и обретает ту или иную "позицию".
Угу, а кот Шрёдингера в момент открывания коробки "принимает решение" - жив он или давно помер?

М-да, Булгаков тут явно не подходит, придется опустить планку: "Штирлиц порол чушь. Чушь визжала и хрюкала от удовольствия"
57. vadim1011985 82 26.02.19 00:12 Сейчас в теме
(55) Как раза частица находится в 2 -х позициях одновременно и как волна и как частица , и пока мы не измерим данная частица будет находится в суперпозиции.
61. mkalimulin 431 26.02.19 08:39 Сейчас в теме
(57) А когда измерим, она примет решение какую позицию принять. Какая разница?
Суть в том, что нет "скрытых параметров" и нет причины, по которой частица принимает ту или иную позицию. Нет причины - значит есть начало. Есть начало - есть воля.
70. vadim1011985 82 26.02.19 09:34 Сейчас в теме
(61) ещё раз - есть эффект наблюдателя (измерения) , и этот эффект как-то влият на фотон .

Если честно , я устал с вами спорить Вы придумали какое-то очень странное и непонятное определение Алгоритма , из которого нихрена не понятно что это и счёт его едят , Вы пошли от обратного и через нормальное определение алгоритма вывели своё. Хотели показать свой ум и эрудированность ? Если честно не очень это вышло. И судя по комментариям , не я один так думаю
71. mkalimulin 431 26.02.19 09:44 Сейчас в теме
(70) Есть отсутствие скрытых параметров. В данном случае, именно это важно.
73. genayo 26.02.19 09:52 Сейчас в теме
(71) И всё-таки, тождествен ли алгоритм и набор команд для его исполнения на конкретном исполнителе?
39. pm74 180 25.02.19 17:56 Сейчас в теме
(36) ну мы ведь можем сравнить 2 алгоритма верно ? В терминах воли и эмансипации.
40. mkalimulin 431 25.02.19 17:57 Сейчас в теме
45. pm74 180 25.02.19 18:57 Сейчас в теме
(40) можно ли сказать , что некоторый алгоритм равен. X байт воли помноженной на эмансипацию или как либо ещё?
42. dsfix 25 25.02.19 18:08 Сейчас в теме
Допустим, изъявляю я волю отказа от деятельности. Как водится, эмансипированную - ну то есть изъявил, а затем и исполнил. В чём алгоритм?
50. mkalimulin 431 25.02.19 20:52 Сейчас в теме
(42) Не делать ничего. Вполне себе алгоритм.
72. dsfix 25 26.02.19 09:51 Сейчас в теме
(50) Когда Вы в своей жизни в последний раз ничего не делали? Это возможно? Однако, сознание сообщает нам, что под "ничего" подразумевается чёткий перечень действий, выходящий за рамки предлагаемого волеизъявления.
46. Vovan1975 13 25.02.19 18:58 Сейчас в теме
походу весна начинается
47. herfis 374 25.02.19 19:02 Сейчас в теме
Как тебе такое, Дональд Кнут?
51. user856012 13 25.02.19 20:54 Сейчас в теме
Тут еще МАБ никто не вспоминал?
"Вы, профессор, воля ваша, что-то нескладное придумали! Оно, может, и умно, но больно непонятно. Над вами потешаться будут"
59. Axe 26.02.19 05:25 Сейчас в теме
Развели тут философию...
Я бы вступил в дискуссию, но я не знаю какой виски пил автор, что его так пробило переосмыслить основы мироздания вселенной.
Да и абсент я не пью.
Как говориться - здравствуйте и досвиданья!
60. МимохожийОднако 130 26.02.19 08:16 Сейчас в теме
ИМХО, статья-графоманство.
Цель, видимо, в заветных стартмани )
66. user623969_dusa 26.02.19 09:11 Сейчас в теме
Мишуня, твоя ошибка в написании статей, что ты сразу в начале ставишь высказывание очень спорное - и из-за этого дальше твою статью читать не хочется, раз в начале бред (Люди, стоявшие у истоков того, что мы сейчас называем computer science, считали "алгоритм" понятием в принципе неопределяемым) то и дальше бред. Основной термин зарождавшейся науки считать неопределяемым это игра в софистику. Одно дело когда деятельность пока не знаем как назвать и она не имеет четких контуров, но утверждать что не было определений и установки этих самих контуров это нигилизм чистой воды
67. mkalimulin 431 26.02.19 09:14 Сейчас в теме
(66) Слово "алгоритмм" было в ходу задолго до Тьюринга. Хоть и не среди широких масс.
69. user623969_dusa 26.02.19 09:21 Сейчас в теме
(67) важно определить его, многие слова были в ходу, но со временем значение слов естественным образом меняется, лучше было бы начать статью - в свое время алгоритм определяли так и я хочу вам показать какое из определений в настоящее время актуально и актуально ли само понятие алгоритм - сейчас алгоритм это уже рудимент, программы пишут без алгоритмов, имхо и тенденция идет на то что не надо знать алгоритмов сортировки массива а просто знать название библиотеки, которая выполняет алгоритм... но утверждать что раз мы не можем определить алгоритм значит его нет это неестественно науке)
74. borodatii 3 26.02.19 11:27 Сейчас в теме
(69) очень хочу узнать, как писать программы без алгоритмов.
75. YannikAlx 26.02.19 11:31 Сейчас в теме
(74) очень просто - очень много программистов 1С именно так и пишут.
Без алгоритма - это когда не знаешь заранее , а что твоя программа выдаст и самое главное не знаешь заранее , а оно тебе вообще надо...
Вот выдаст потом и будем решать что с этой хренью делать...
76. user623969_dusa 26.02.19 12:10 Сейчас в теме
(74) алгоритм определяется как законченная логически правильная последовательность действий, раньше алгоритмы писали одни люди, а программы другие. Сейчас алгоритмисты вымерли как динозавры, а умение писать алгоритмы атрофировалось, поэтому программы пишутся на коленке кое как, без четких представлений, что на входе, а что на выходе, то есть без алгоритма, случайные совпадения и написание алгоритма (технического задания) по программе это и есть написание программы без алгоритма - берем и сразу пишем, не подумав, а алгоритм потом если потребуется
77. mkalimulin 431 26.02.19 12:22 Сейчас в теме
(76) Алгоритм это не действия. Плохое у вас определение.
81. vadim1011985 82 26.02.19 13:14 Сейчас в теме
(77) Опишите алгоритм сортировки по вашей концепции
82. spacecraft 26.02.19 13:20 Сейчас в теме
(81) судя по бреду из статьи, у сортировки есть воля: "хочу сортирую, хочу не сортирую". Вот и весь "алгоритм"
83. mkalimulin 431 26.02.19 13:21 Сейчас в теме
(81) Я даю не концепцию, а определение. Берете любой текст, на любом языке программирования. Хотите - пузырек, хотите - слияние.
85. vadim1011985 82 26.02.19 13:27 Сейчас в теме
(83) Я хочу увидеть как работает ваше определение, Вот есть обычное определение алгоритма как четкий конечный порядок действий для получения чего-то там . Я беру задачу сортировки и смотрю , сначала надо сделать это , потом это а потом еще и этот и вижу - о это алгоритм так как он попадает под определение . Вот я и хочу увидеть как применяется ваша концепция, только не на примере робота а например сортировки
87. mkalimulin 431 26.02.19 13:35 Сейчас в теме
(85) Вы только что описали, как оно работает.
89. vadim1011985 82 26.02.19 13:38 Сейчас в теме
(87) Так и скажите что не можете ответить на вопрос. Вы не можете привести пример под свое же определение . Я например не увидел там никакой воли - а увидел задачу и порядок действий для ее решения. И говорю что ваше определение Алгоритма в корне не верно ,
86. herfis 374 26.02.19 13:32 Сейчас в теме
Вполне может быть, что алгоритм - это "эмансипированная воля". И что угодно еще.
Но "эмансипированная воля" - это не только алгоритм. Такие определения хороши для философских бесед на кухне под бутылку, чтобы плавно перейти к рассуждениям о смысле жизни.
Человечество придумывает термины для вполне конкретных задач, в рамках решения которых не должно возникать двусмысленностей.
Есть "бытовые" определения на бытовом уровне. Есть специальные определения, причем могущие отличаться в разных областях для одного и того же термина.
Кнут рассматривал алгоритмы с математической точки зрения, в рамках которых к нему можно применять математические методы описания и оценки эффективности.
Зацикленную последовательность действий вполне можно рассматривать как конечный алгоритм выполнения одного шага, например. И так далее. Это не мешает описанию алгоритма и оценке его эффективности.
Определение алгоритма как "эмансипированной воли" полезно только в качестве демагогического упражнения.
"Эмансипированной волей" можно обозвать любое произведение.
88. mkalimulin 431 26.02.19 13:37 Сейчас в теме
(86) С математической точки зрения алгоритм - в принципе не определяемое понятие.
90. profiprog1c 203 26.02.19 14:38 Сейчас в теме
Конечно без обид, но данная статья намекает, что профессору Калимулину явно не дает покоя слава магистра каллиграфии синьора Белокаменцева. Так тот хоть вначале что-то нормальное писал, а потом уже скатился к туалетным корпоративам и ускорениям 4х. Данная статья очень сильно мне напоминает басню Крылова "Мартышка и очки". А вот мораль басни:

"К несчастью, то ж бывает у людей:
Как ни полезна вещь, — цены не зная ей,
Невежда про нее свой толк все к худу клонит;
А ежели невежда познатней,
Так он ее еще и гонит."
91. vadim1011985 82 26.02.19 15:51 Сейчас в теме
(90)
что профессору Калимулину явно не дает покоя слава магистра каллиграфии синьора Белокаменцева


У меня тоже такая мысль возникла
92. TODD22 18 26.02.19 17:05 Сейчас в теме
(90)
Конечно без обид, но данная статья намекает, что профессору Калимулину явно не дает покоя слава магистра каллиграфии синьора Белокаменцева.

Всё же мне кажется что должно быть какое то фармакологическое объяснение такому энтузиазму. Автор даже обещал "отсыпать", но потом сказал что это может даже убить...
vadim1011985; profiprog1c; acanta; +3 Ответить
93. rwn_driver 8 01.03.19 13:09 Сейчас в теме
В принципе любой алгоритм - это граф, где ребро - действие, а узел - либо вход, либо выход. С зацикленностью тоже проблем нет - из входа в выход, затем из выхода - во вход. А "эмансипированная воля" - это как загазованный вакуум. Понятие столь же нелепое, сколь и бессмысленное. Воля (в русском языке) - слово, имеющее много понятий, в т.ч. и синоним свободы. А как свободу отпускать? Эмансипипированная (в понятиях автора) свобода - это анархия. Анархия - первый шаг к энтропии. Итак, алгоритм - движение к энтропии?
94. mkalimulin 431 01.03.19 13:50 Сейчас в теме
(93) Воля, освобожденная от своего источника. Так понятнее?
95. herfis 374 01.03.19 16:02 Сейчас в теме
(94) Воля свободная от своего источника - это оксюморон.
98. mkalimulin 431 01.03.19 17:41 Сейчас в теме
(95) Отдыхающие трудящиеся - вот это оксюморон. А освобожденная воля - это программа.
100. herfis 374 01.03.19 18:16 Сейчас в теме
(98) Угу. А литературное произведение - это освобожденная душа.
Очень полезные и точные определения. Всем сразу стало легче.
101. mkalimulin 431 01.03.19 18:45 Сейчас в теме
(100) Литературное произведение может отправить отчет в налоговую?
102. herfis 374 01.03.19 18:49 Сейчас в теме
(101) Алгоритм тоже не может. Даже если это алгоритм отправки отчета в налоговую.
Но я решительно не понимаю, к чему был этот вопрос. Простите, Учитель.
Оставьте свое сообщение

См. также

Автоматические и управляемые блокировки применительно к типовым конфигурациям 1С Промо

Математика и алгоритмы Практика программирования v8 v8::blocking 1cv8.cf Бесплатно (free)

Основные принципы работы с режимами автоматических и управляемых блокировок в 1С Предприятие 8. Теория и применение в типовых конфигурациях: БП, УТ, ЕРП

10.11.2018    35251    ids79    40    

1С: Документооборот, Data Science и Python

Документооборот и делопроизводство Математика и алгоритмы ДО Бесплатно (free)

В статье рассказывается о создании и обучении модели Data Science на языке Python и интеграции с системой 1С: Документооборот

04.08.2020    1658    Vaganov_Alexey    4    

Применение математических достижений в решении сложных задач бизнеса

Математика и алгоритмы Бесплатно (free)

Как правило, самые сложные задачи решаются с точки зрения математики очень легко. Но чтобы найти правильное решение, важно понять бизнес-цель, которую достигает эта задача. О практическом применении математических достижений для эффективного решения сложных задач бизнеса на конференции Infostart Event 2019 Inception рассказал Дмитрий Мишнов.

25.05.2020    3443    Mishnov    17    

Улучшение пооперационного планирования в 1С:ERP 2.4 внешними средствами

Математика и алгоритмы Производительность и оптимизация (HighLoad) Бесплатно (free)

Задача построения оптимального производственного расписания требует сравнения тысяч и десятков тысяч вариантов. Выполнять такие вычисления средствами платформы 1С Предприятие нецелесообразно. Как реализовать пооперационное планирование с использованием генетических алгоритмов и параллельных вычислений в докладе на конференции Infostart Event 2019 Inception рассказал генеральный директор компании «ИНТЕХ» Сергей Сафаров.

02.03.2020    5391    ildarovich    7    

Как работает серверный вызов в 1С Промо

Математика и алгоритмы v8::УФ Бесплатно (free)

Клиент-серверная архитектура заложена в платформе изначально — со времен «1С:Предприятие 8.0». Однако при разработке на 8.0 и 8.1 о разделении кода на клиентскую и серверную часть можно было не заботиться, поскольку на клиенте (на толстом клиенте) был доступен тот же функционал, что и на сервере. Всё изменилось с выходом платформы «1С:Предприятие 8.2», когда появился тонкий клиент. Теперь на клиенте доступен один функционал, на сервере — другой. Клиент и сервер «общаются» между собой с помощью серверного вызова. Конечно, это усложнило процесс разработки, но с другой стороны – можно создавать более оптимальные (быстрые) решения, поскольку все сложные задачи выполняются на сервере.

18.11.2017    56591    pahich    82    

Treemapping — способ визуализации данных древовидной структуры. Карта-схема дерева

Математика и алгоритмы Работа с интерфейсом v8 1cv8.cf Бесплатно (free)

Предлагается ознакомиться с редким способом графического представления иерархических данных. Приводится алгоритм формирования и пример реализации.

18.02.2020    4922    randomus    20    

Регистры бухгалтерии. Общая информация

Практика программирования Математика и алгоритмы v8 v8::БУ БУ Бесплатно (free)

Общая информация о внутреннем устройстве регистров бухгалтерии.

05.09.2019    29268    YPermitin    24    

"Хочу универсально!" [Часть 1]

Математика и алгоритмы Практика программирования Разработка v8 1cv8.cf Бесплатно (free)

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

02.09.2019    9889    SeiOkami    35    

Будни автоматизации или "мне нужна программка для 3D упаковки" Промо

Практика программирования Математика и алгоритмы Оптовая торговля Оптовая торговля v8 1cv8.cf УУ Бесплатно (free)

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

24.03.2014    45386    ildarovich    116    

Иерархия без "В ИЕРАРХИИ"

Математика и алгоритмы v8 Бесплатно (free)

Говорится о том, как эффективно представлять иерархию в СУБД, как получать и использовать эти представления при решении задач в запросной технике. Уточняются и дополняются запросы из статьи "Уровни, глубина, прародители, циклы и аналоги запросом" [https://infostart.ru/public/160707/].

22.08.2019    12533    ildarovich    19    

EnterpriseData – часть 3. Загрузка данных, идентификация объектов

Практика программирования Математика и алгоритмы Перенос данных из 1C8 в 1C8 Разработка v8 v8::УФ 1cv8.cf Бесплатно (free)

Основные этапы загрузки данных через EnterpriseData. Идентификация объектов загружаемых полностью и по ссылке. Приведены схемы процессов загрузки данных. Описание основных операций и обработчиков. Перечень процедур БСП, используемых при загрузке данных, структура «КомпонентыОбмена».

22.08.2019    15180    ids79    8    

Обработчики событий при записи объектов. Зачем и что за чем?

Математика и алгоритмы v8 Бесплатно (free)

Программисту, имеющему немного опыта на платформе 1С 8.3, бывает сложно разобраться: ПередЗаписью, ПриЗаписи, ПослеЗаписи, на сервере, на клиенте, в модуле формы, в модуле объекта.... Эта шпаргалка была создана в процессе обучения и реального опыта с целью разложить всё по полочкам, чтобы было четкое понимание в каком случае какой обработчик нужно использовать и в какой последовательности они запускаются при записи и проведении документов. Данная статья будет полезна в большей степени начинающим разработчикам. Но и опытным позволит освежить информацию, упорядочить её.

25.07.2019    53693    AlbinaAAA    28    

Метод Кларка-Райта. Оптимальное планирование маршрутов грузоперевозок Промо

Математика и алгоритмы Бесплатно (free)

Одной из наиболее важных задач каждого предприятия, осуществляющего доставку грузов в крупных населенных пунктах, является сокращение издержек. Возможное решение данной проблемы заключается в сокращении пробега автотранспорта и, как следствие, уменьшении расхода ГСМ. Появляются такие вопросы ... - СКОЛЬКО НУЖНО МАШИН ДЛЯ РАЗВОЗКИ КОНКРЕТНОГО ОБЪЕМА ГРУЗА ПО АДРЕСАМ ДОСТАВКИ ? - КАК РАЗБИТЬ ТОЧКИ ДОСТАВКИ НА ОПТИМАЛЬНЫЕ ПО ПРОБЕГУ И ЗАГРУЗКЕ МАШИН МАРШРУТЫ ? ... В этой статье Вы найдете один из многих способов получить ответ на эти вопросы.

10.02.2016    60219    mi1man    20    

Как проводятся документы в типовых конфигурациях от 1С

Математика и алгоритмы Практика программирования Разработка v8::ОУ ERP2 УТ11 Россия УУ Бесплатно (free)

В свое время, когда только начинал шаги в 1С и изучал, как проводятся документы в конфигурациях на платформе 1С по книге "Разработка управляемого интерфейса" (Хрусталева Е.Ю.), и там были представлены примеры совсем далекие от того, как сейчас проводятся документы в современных конфигурациях от 1С.

24.07.2019    27872    skv_79    35    

Управление качеством кода

Математика и алгоритмы Рефакторинг и качество кода v8 Бесплатно (free)

О SonarQube, АПК, EDT. Какие преимущества дает их использование. Для каких команд подходит.

22.07.2019    16629    Stepa86    33    

Что делает "В ИЕРАРХИИ" в запросе?

Математика и алгоритмы v8 Бесплатно (free)

Описание действий платформы 1С при использовании конструкции "В ИЕРАРХИИ" в запросах.

16.07.2019    27474    YPermitin    34    

Приемы обработки больших данных в 1С Промо

Универсальные обработки Математика и алгоритмы Перенос данных из 1C8 в 1C8 v8 1cv8.cf Бесплатно (free)

Рассказ об эффективных приемах организации обработок больших объемов данных на платформе 1С

07.08.2015    67420    tormozit    27    

Создание отчетов с помощью СКД - основные понятия и элементы

Практика программирования Математика и алгоритмы v8 v8::СКД Бесплатно (free)

Основные принципы работы СКД. Понятия схемы компоновки и макета компоновки. Описание основных элементов схемы компоновки: наборы данных, поля, вычисляемые поля, ресурсы, параметры.

25.06.2019    53816    ids79    25    

Реализуем Стек, Очередь и Приоритетную очередь в 1С

Практика программирования Математика и алгоритмы v8 1cv8.cf Россия Бесплатно (free)

В статье рассматриваются способы реализации таких абстрактных структур данных, как стек, очередь и приоритетная очередь, используя готовые типы данных 1С. Выявляются "узкие" места, сложные моменты в реализации и сравнивается скорость работы.

24.06.2019    14277    RonX01    65    

Почему вообще работает мой запрос? или Ещё раз о планах запросов

Математика и алгоритмы Практика программирования Разработка v8::Запросы Бесплатно (free)

Другие статьи на эту тему объясняют, что такое план выполнения запроса, но не рассказывают о том, как его получить. Эта заметка призвана заполнить этот пробел. Её цель - популяризировать общедоступные инструменты получения плана запроса среди разработчиков, которые ещё не начали их использовать.

10.06.2019    9440    DataReducer    12    

XDTO - это просто Промо

Математика и алгоритмы v8 1cv8.cf Бесплатно (free)

С появлением платформы 8.1 фирма “1С” представила механизм, носящий интригующее название XML Data Transfer Objects или, если коротко - XDTO. По традиции, документирование механизма составлял тот, кто хорошо разбирался в вопросе, а стало быть опустил “и так понятные” с его точки зрения моменты. Целью данной статьи (или цикла статей, как получится) стало желание поделиться накопленным опытом. Мне кажется, многие неочевидные вещи в механизме XDTO необходимо осветить получше.

24.12.2012    296372    Evil Beaver    173    

Вычисление 200 тысяч знаков числа pi

Математика и алгоритмы v8 Россия Бесплатно (free)

В статье рассматриваются возможности платформы выполнять сверхточные вычисления без использования сложных алгоритмов и внешних компонент на примере вычисления числа pi.

28.05.2019    7988    Oleg_nsk    96    

Регистры накопления. Виртуальные таблицы. Часть №1: Обороты

Практика программирования Математика и алгоритмы Разработка v8 1cv8.cf Бесплатно (free)

Описание работы платформы 1С:Предприятие 8.2 с виртуальной таблицей "Обороты" регистров накопления.

20.05.2019    28544    YPermitin    7    

Выдержки из книги Чистый код

Математика и алгоритмы Бесплатно (free)

Недавно я прочитал книгу "Чистый код" Роберта Мартина (Robert Cecil Martin). В ней описываются принципы организации и форматирование исходного кода программы так, чтобы в дальнейшем было легко поддерживать такой код. Эта книга является библией для многих программистов, но вот в среде программистов 1С, к сожалению, не очень распространено чтение подобной фундаментальной литературы. Книга более 400 страниц и так много порой лениво читать, да и времени всегда не хватает. По этому я решил выделить в виде цитирования по разделам самые важные моменты. А также снабдил текст своими примерами кода.

16.05.2019    10768    FreeArcher    105    

Самоучитель языка запросов 1С. Промо

Практика программирования Решение задач на 1С:Специалист Математика и алгоритмы v8 v8::Запросы Бесплатно (free)

Сервис для изучения запросов 1С: "Консоль изучения запросов 1С:Предприятие 8". Теперь и с конструктором запросов!

07.05.2013    110382    bpc222    327    

Криптовалюты, а также иные взгляды на природу денег в терминах 1С

Математика и алгоритмы Бесплатно (free)

Это отчасти полемическая статья. Я задумал написать ее как ответ на другую хорошую статью о криптовалютах. Хотелось поспорить с некоторыми утверждениями автора, а ещё больше с некоторыми комментариями. А чтобы текст был более понятным для местной аудитории, я решил использовать, где только возможно, терминологию и практику 1С.

28.01.2019    6245    mkalimulin    89    

Как писать код? Технологии древних цивилизаций, или все новое - это хорошо забытое старое

Математика и алгоритмы Бесплатно (free)

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

23.01.2019    11697    starik-2005    43    

Роберт Мартин: "Будущее программирования" / Robert Martin: "The Future of Programming"

Математика и алгоритмы Блоги Бесплатно (free)

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

14.01.2019    15755    Vladimir Litvinenko    38    

Предметно-ориентированное проектирование (3D) в 1С. Виртуальная машина. Промо

Математика и алгоритмы Бесплатно (free)

Проектирование программного обеспечения - это постоянная битва за простоту.

03.06.2014    40333    Evgen.Ponomarenko    88    

Многоязычное программирование: создание систем с использованием нескольких языков

Математика и алгоритмы Россия Бесплатно (free)

В мире существует несколько тысяч языков программирования. Несмотря на то, что многие из них крайне непопулярны, очень специфичны или уже созданы очень давно, они продолжают существовать, а новые языки продолжают появляться. Похоже, нет оснований полагать, что количество языков когда-нибудь начнет уменьшаться и в конечном счете будет создан один универсальный язык программирования. Большое количество языков может пугать своей необъятностью, но новое понимание идеи многоязычных проектов позволяет не только ориентироваться в этом разнообразии, но и видеть очевидную выгоду для всех.

09.01.2019    12242    kalyaka    36    

Размышления о хороших практиках, навеянные одной статьей

Математика и алгоритмы Бесплатно (free)

Прочитал статью "Ректальное программирование: основы для практикующих 1С-программистов". Статья очень хорошая и своевременная. Но у меня возникло некоторое сомнение. А достаточно ли автор любит и понимает предмет, о котором пишет? Насколько богат его опыт ректального программирования и занимался ли он им вообще? Как человек обладающий многолетним опытом РП, я решил представить вам необходимые дополнения к статье.

21.12.2018    6825    mkalimulin    61    

Решение транспортной задачи запросом Промо

Математика и алгоритмы v8 Бесплатно (free)

Списание по двум последовательностям партий запросом (без программной обработки)

1 стартмани

30.04.2014    35106    bforce    22    

Ректальное программирование: основы для практикующих 1С-программистов

Математика и алгоритмы Бесплатно (free)

Одной из самых популярных и зарекомендовавших себя методологий программирования в 1С является так называемое ректальное программирование. Редкий проект внедрения и сопровождения учётных систем на платформе 1С обходится без его использования. Зачастую без знания данной методологии программистам даже бывает сложно найти работу в сфере 1С, потому что работодатели, особенно фирмы-франчайзи, в основном отдают предпочтение классическим, зарекомендовавшим себя методикам, а не новомодным заграничным веяниям.

19.12.2018    43571    for_sale    351    

Многопоточное восстановление последовательностей

Производительность и оптимизация (HighLoad) Практика программирования Математика и алгоритмы Универсальные функции v8 Бесплатно (free)

Универсальный алгоритм многопоточного фонового восстановления любой последовательности.

05.12.2018    13368    _ASZ_    33    

Основные понятия и механизмы оптимизации клиент-серверного взаимодействия в 1C

Математика и алгоритмы Практика программирования v8 Россия Бесплатно (free)

У многих начинающих 1С программистов часто возникают вопросы про клиент-серверное взаимодействие в 1С и чтобы разобраться в непростых механизмах платформы, необходимо понять, что же такое контекст, для чего предназначены директивы компиляции, что представляют собой контекстные/внеконтекстные вызовы и как наиболее оптимально описывать прикладные задачи в модулях управляемых форм.

23.08.2018    39022    Rain88    46    

Парсер запросов 1С. Часть 1: Введение, разбор математических выражений Промо

Математика и алгоритмы v8 Бесплатно (free)

Рано или поздно становится скучно решать типичные задачи, для которых придумана 1С. Голова пухнет от бухгалтерских терминов и очередных "хотелок" пользователей. Именно в такие моменты хочется гордо поднять голову, воскликнуть "Но я же программист!" и заняться чем-то интересным. В цикле статей я постараюсь доступно описать, как устроены парсеры в целом и на примере парсера языка запросов 1С. Требования к навыкам читающего: основы языка 1С, основы алгоритмизации.

1 стартмани

04.12.2013    30757    juntatalor    49    

Учебный курс. Повышение качества разработки. Ошибки программы

Практика программирования Математика и алгоритмы Рефакторинг и качество кода Бесплатно (free)

Учебный курс по теории и практике программирования. Бесплатно. В виде структурированного текста. Лекции № 3,4,5. Эти лекции посвящены ошибкам программ, их классификации и способам исправления

10.07.2018    19717    Артано    92    

Що там у них в Java

Математика и алгоритмы Бесплатно (free)

Развенчание мифа о тяжёлой жизни не 1С программистов на примере создания веб сервиса редактирования таблички с использованием framework spring в Java.

24.05.2018    11246    van_za    62    

Учебный курс. Повышение качества разработки. Вводная лекция, часть 2

Практика программирования Математика и алгоритмы Бесплатно (free)

Учебный курс по теории и практике программирования. Бесплатно. В виде структурированного текста. Лекция №2. Эта лекция посвящена абстракциям, их свойствами и практическому применению в рамках классических парадигм программирования.

24.05.2018    12993    Артано    36    

Сервис для изучения методов платформы 1С:Предприятие 8. Бесплатно! Промо

Практика программирования Решение задач на 1С:Специалист Математика и алгоритмы v8 Бесплатно (free)

Бесплатный ON-Line сервис изучения методов платформы 1С:Предприятие 8. Подготовка к аттестации 1С:Специалист on-line! Тестовые задания по различным видам учета! Подсказки для оптимального решения!

27.06.2013    50146    bpc222    52    

Учебный курс. Повышение качества разработки. Вводная лекция

Математика и алгоритмы Бесплатно (free)

Учебный курс по теории и практике программирования. Бесплатно. В виде структурированного текста.

10.05.2018    17937    Артано    51    

"Взлом" теста "1С:Профессионал" методом машинного обучения

Практика программирования Математика и алгоритмы v8 1cv8.cf Бесплатно (free)

Нейронные сети – не единственная модель, реализующая принципы машинного обучения. Есть еще байесовская модель, которая математически строже и определеннее, поскольку построена на надежном фундаменте теории вероятностей. Применению байесовского вывода к решению интересной теоретической задачи и посвящена данная статья. Слово "взлом" в заголовке использовано для привлечения внимания. Речь идет исключительно о математическом методе, показанном на примере знакомой всем задачи. 

12.03.2018    19276    ildarovich    19    

Правила программирования и автоматизации

Математика и алгоритмы Бесплатно (free)

Изложил свой опыт программирования, больше десяти лет.

21.02.2018    18461    Dzenn    127    

Внутреннее качество разработки конфигураций 1С Промо

Практика программирования Математика и алгоритмы Бесплатно (free)

Пиши с верой в то, что твой читатель - это маньяк с дробовиком, знающий твой домашний адрес. Размышления на тему внутреннего качества кода при разработке/доработках конфигураций 1С.

21.06.2013    37883    ig1082    50    

Творим Историю вместе

Математика и алгоритмы Бесплатно (free)

Расширяем границы, выходим за рамки, ставим новые цели - все, как вы любите.

17.01.2018    17502    1c-intelligence    108    

Использование git при разработке на 1С

Математика и алгоритмы Россия Бесплатно (free)

Продолжение цикла статей по основам CI. Данная статья расскажет о реализации возможности хранения кода продукта в системе управления версиями git и познакомит со специализированным инструментарием, предназначенным для решения этой и других смежных задач.

27.12.2017    32656    real_MaxA    57    

Об уровне абстракции и сложности системы

Математика и алгоритмы Бесплатно (free)

В среде 1С почти не приходится слышать таких терминов, как уровень абстракции, декомпозиция и управление сложностью. Тем не менее, эти термины следует понимать, а подходы применять на практике, поскольку правильно выбранный уровень абстракции ведет к упрощению и увеличению устойчивости программного кода на порядки.

21.12.2017    12358    m-rv    15    

v8: Концепция минимального изменения конфигурации для легкого обновления Промо

Математика и алгоритмы v8 1cv8.cf Бесплатно (free)

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

28.01.2013    38159    MarSeN    57    

Двоичное дерево, двоичное дерево поиска, двоичная куча, B-дерево

Математика и алгоритмы Бесплатно (free)

В большинстве реляционных СУБД в качестве структуры данных для индексов (та или иная их реализация) используются именно деревья. И не просто деревья, а сбалансированные деревья поиска. В этой статье как раз о них.

24.11.2017    16090    Irwin    5    

Введение в CI для 1С

Математика и алгоритмы v8 Россия Бесплатно (free)

Значение роли тестирования при разработке ПО трудно переоценить, его применение позволяет повысить надёжность продукта и улучшить качество кода. Для продуктов для платформы 1С:Предприятие существует ряд инструментов для проведения тестирования, в том числе и от самого вендора. Но, также появились открытые инструменты, реализующие мировые практики проведения тестирования (проверки продукта), поддерживаемые сообществом. В этой статье описаны базовые принципы, которые необходимо понимать перед началом применения этих инструментов.

21.11.2017    23813    real_MaxA    22