Внутренний язык программирования 1С 8.3 для начинающих программистов: комбинирование простых конструкций в 1С
Автор уроков и преподаватель школы: Владимир Милькин
На прошлых уроках мы научились использовать имена, изучили условную команду, узнали два вида циклов.
Всё это были достаточно простые программы, в каждой из которых использовалась какая-то одна основная конструкция языка (или условная команда или цикл). В реальных программах, конечно же, так не бывает. В них обычно используется всё сразу и по нескольку раз. Сегодня мы научимся комбинировать простые конструкции языка 1С вместе.
Комбинирование простых конструкций языка 1С
К примеру, пусть у нас есть два цикла:
Для Шаг1 = 1 По 2 Цикл Сообщить(Шаг1); КонецЦикла; Для Шаг2 = 1 По 3 Цикл Сообщить(Шаг2); КонецЦикла; |
Эти циклы хорошо нам знакомы и мы понимаем, что в результате первого цикла выведутся числа от 1 до 2, а в результате второго - от 1 до 3.
А что если мы вложим выполнение одного цикла внутрь другого? Вот так:
Для Шаг1 = 1 По 2 Цикл Для Шаг2 = 1 По 3 Цикл Сообщить("Значения равны: " + Шаг1 + " " + Шаг2); КонецЦикла; КонецЦикла; |
Если запустить этот пример на компьютере, то получатся следующие результаты:
Значения равны: 1 1
Значения равны: 1 2
Значения равны: 1 3
Значения равны: 2 1
Значения равны: 2 2
Значения равны: 2 3
Как видим результаты отличаются от выполнения данных циклов по отдельности. И вот почему.
У нас есть внешний цикл от 1 до 2. Это значит, что всё, что находится у него между словами Цикл и КонецЦикла выполнится 2 раза. А у него между этими словами находится другой цикл от 1 до 3, который внутри себя содержит команду Сообщить.
Итого такая вложенность приводит к тому, что команда Сообщить выполняется целых 6 раз. Шесть, потому что 2 * 3 = 6.
Теперь обратите внимание, как меняется значение Шаг1 и Шаг2. Вы читаете ознакомительную версию урока, полноценные уроки находятся здесь. В начале Шаг1 равен 1, а Шаг2 меняется от 1 до 3. Затем Шаг1 уже равен 2 (следующее значение цикла) и снова Шаг2 меняется от 1 до 3.
Задание №27. По аналогии с предыдущим примером напишите тройной вложенный цикл с выводом Шаг1, Шаг2 и Шаг3 соответственно от 1 до 10, от 10 до 20 и от 20 до 30. Выполните задание на компьютере, посмотрите результат и убедитесь, что понимаете почему получаются такие результаты.