[Alimir_BootModal_Login]

Внутренний язык программирования 1С 8.3 для начинающих программистов: циклы в 1С часть 1

Автор уроков и преподаватель школы: Владимир Милькин

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

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

Циклы в языке 1С

Цикл - это специальная команда компьютеру, которая позволяет повторять выполнение других команд нужное количество раз.

К примеру, пусть нам требуется вывести на экран числа от 1 до 10.

Можно, конечно, решить задачу уже известным нам способом - без применения циклов. Решение будет таким:

Сообщить(1);
Сообщить(2);
Сообщить(3);
Сообщить(4);
Сообщить(5);
Сообщить(6);
Сообщить(7);
Сообщить(8);
Сообщить(9);
Сообщить(10);

Но, согласитесь, это громоздко и неудобно. Чтобы решить такую простую задачу нам понадобилось написать целых 10 строчек кода! К тому же почти одинаковых. Они отличаются лишь параметрами для команды Сообщить.

Вот как раз для таких случаев и были придуманы циклы, которых в языке 1С бывает два вида: Цикл Для и Цикл Пока.

Цикл Для

Конструкция цикла выглядит вот так:

Для Имя = НачальноеЧисло По КонечноеЧисло Цикл
  Команда1();
  Команда2();
  ...
КонецЦикла;

Команды, заключенные между словами Цикл и КонецЦикла, выполняются столько раз сколько нужно шагов, чтобы НачальноеЧисло стало больше КонечногоЧисла.

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

Решение задачи вывода чисел от 1 до 10, с применением только что изученного цикла, будет выглядеть так:

Для Шаг = 1 По 10 Цикл
  Сообщить(Шаг);
КонецЦикла;

Всего три строчки вместо десяти. И это хорошо, что мы выводим только до десяти!

ЦиклыВ1С

Компьютер встретив такую конструкцию выполняет её так:

Порядок выполнения цикла компьютером

Задание №20. Измените приведенный выше пример, чтобы выводились числа от 10 до 100.

Не торопитесь смотреть ответ! Сначала попробуйте выполнить задание сами.

Ответ

А как вы думаете сколько раз выполнится следующий цикл:

  Для Шаг = 10 По 1 Цикл
    Сообщить("Привет, Мир!");
  КонецЦикла;

Подумайте сами. Потом выполните этот пример на компьютере. И, наконец, смотрите ответ.

Ответ