Рекурсия переменных

В этой статья я познакомлю Вас с одним из основных элементов программирования, не только в 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 шагов»

  1. Без сложных технических терминов.
  2. Более 500 страниц практического материала.
  3. Каждое задание сопровождается рисунком (скриншот).
  4. Сборник задач для домашней проработки.
  5. Книга написана понятным и простым языком — для новичка.
  6. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!

Промо-код на скидку в 16%: vCph8bW3rE

Вступайте в мои группы:

Вконтакте: https://vk.com/1c_prosto
Фейсбуке: https://www.facebook.com/groups/922972144448119/
ОК: http://ok.ru/group/52970839015518
Твиттер: https://twitter.com/signum2009

2 thoughts on “Рекурсия переменных

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

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

    Если возможно, то копию ответа прошу прислать на мой эл. ящик.

    1. К сожалению, ни кто не платит =) Как владельцы сайтов монетизируют информацию? Это или монетизация за счет рекламы (но я не вижу смысла пихать чужую рекламу на свой сайт, потому что выхлоп будет маленький, а раздражение посетителей будет большое), или реклама своих продуктов , или помощь в виде пожертвований.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

1 × два =