В этой статья я познакомлю Вас с одним из основных элементов программирования, не только в 1С, но и в целом, — с рекурсией. Условно можно выделить два вида рекурсий, это – рекурсия переменных, и рекурсия процедур и функций. Что такое рекурсия? Это когда, какая-то сущность обращается к самой себе.
Начнем с рекурсии переменных. Рекурсия переменных, это когда переменная осуществляет какое-либо действие (как правило, арифметическое) сама с собой. Это называется рекурсивный вызов переменной. В языке программирования 1С рекурсия в основном применяется с переменными примитивного типа, как правило, это число, но можно применить рекурсию с переменными типа Дата и Строка.
Рассмотрим самый простой пример рекурсии:
Перем А;
А = 10;
А = А + 1;
В этом случае я явно задал переменную, присвоил ей какое-то числовое значение и потом к этой же переменной прибавил 1. Но сложение это только частный случай. Я могу из нее вычесть
А = А — 1;
Я могу её умножить и поделить
А = А * 2;
А = А / 2;
С помощью рекурсивного вызова переменных очень удобно организовывать различные циклы. Например, обратный цикл, когда необходимо значение уменьшать на какую-либо величину.
Перем А;
А = 10;
Пока А > 0 Цикл
А = А — 1;
КонецЦикла;
Или когда нужно, что бы цикл шел с каким-то шагом. Например – 5.
Перем А;
А = 0;
Пока А < 100 Цикл
А = А + 5;
КонецЦикла;
Так же, с помощью рекурсии можно посчитать факториал: 5! = 1*2*3*4*5 (пример из книги Программировать в 1С за 9 шагов).
ЧислоФакторала = 5;
НачалоФакториала = 1;
Итерация = 0;
Пока Итерация < ЧислоФакторала Цикл
Итерация = Итерация + 1;
НачалоФакториала = НачалоФакториала * Итерация;
КонецЦикла;
В этом цикле мы каждый раз умножаем переменную НачалоФакториала на себя и на второй множитель, который увеличивается за каждый шаг цикл на 1.
Если Вам не понятно как работает этот код, разберите его самостоятельно в отладке.
В следующей статье мы разберем рекурсию процедур и функций.
Я стараюсь как можно чаще выпускать различные интересные бесплатные стать и видеоуроки. Поэтому буду очень рад, если Вы поддержите мой проект перечислив любую сумму:
Книга «Программировать в 1С за 9 шагов»
Изучите программирование в 1С с помощью моей книги «Программировать в 1С за 9 шагов»
- Без сложных технических терминов.
- Более 500 страниц практического материала.
- Каждое задание сопровождается рисунком (скриншот).
- Сборник задач для домашней проработки.
- Книга написана понятным и простым языком — для новичка.
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
Промо-код на скидку в 16%: vCph8bW3rE
Вступайте в мои группы:
Вконтакте: https://vk.com/1c_prosto
Фейсбуке: https://www.facebook.com/groups/922972144448119/
ОК: http://ok.ru/group/52970839015518
Твиттер: https://twitter.com/signum2009
Ильяс, мне нравятся ваши статьи. Информативные, не длинные, спокойное изложение материала. Видел ваше предложение оказать вам материальную помощь.
Полагаю, что вы хорошо разбираетесь в вопросах функционирования Интернета, в том числе в его денежных вопросах. Не могли бы вы прояснить один вопрос:
Все пользователи Интернета платят за доступ в него (и часто за работу в нем). Деньги уходят провайдеру. Но сам по себе провайдер только лишь предоставляя нам доступ к Инету пользователям неинтересен. Нас интересует информация находящаяся в Инете. Как представляется пользователи к примеру зайдя на ваш сайт с целью прочитать вашу статью за такое удовольствие по сути уже заплатили. Деньги получены провайдером. По логике вещей провайдеры должны поделиться этими деньгами с теми кто обеспечивает пользователям возможность прочитать полезную информацию. То есть поделиться в том числе и с вами как владельцем полезного сайта. Происходит ли это? И если да, то каким образом и сколько вам платят провайдеры. А если нет, то почему не платят? И какие усилия владельцы полезных для пользователей сайтов предпринимают для устранения данной несправедливости? Ведь это действительно несправедливо: информацию предоставляют одни, а деньга собирают другие.
Если возможно, то копию ответа прошу прислать на мой эл. ящик.
К сожалению, ни кто не платит =) Как владельцы сайтов монетизируют информацию? Это или монетизация за счет рекламы (но я не вижу смысла пихать чужую рекламу на свой сайт, потому что выхлоп будет маленький, а раздражение посетителей будет большое), или реклама своих продуктов , или помощь в виде пожертвований.