Цикл по счетчику ( Для ... Цикл )
Оператор цикла Для ... Цикл предназначен для циклического повторения операторов, находящихся внутри конструкции Цикл ... КонецЦикла
.
Синтаксис оператора Для ... Цикл:
1 2 3 4 5 6 7 |
Для <Имя_переменной> = <Выражение 1> По <Выражение 2> Цикл // Операторы [Прервать;] // Операторы [Продолжить;] // Операторы КонецЦикла; |
где:
Имя_переменной
- идентификатор переменной (счетчика цикла), значение которой автоматически увеличивается на 1 на каждой итерации цикла;Выражение 1
- числовое выражение, которое задает начальное значение, присваиваемое счетчику цикла при первом проходе цикла;По
- синтаксическая связка;Выражение 2
- максимальное значение счетчика цикла (приИмя_переменной>Выражение 2
выполнение цикла прекращается);Цикл // Операторы
- операторы, следующие за ключевым словомЦикл
выполняются, покаИмя_переменной <= Выражение 2
;Прервать
- позволяет прервать выполнение цикла в любой точке, при этом управление передается оператору, следующему за ключевым словомКонецЦикла
;Продолжить
- немедленно передает управление в начало цикла (Для
), операторы послеПродолжить
на данной итерации обхода не выполняются;КонецЦикла
- ключевое слово, которое завершает структуру оператора цикла.
Перед началом выполнения цикла значение Выражение 1
присваивается переменной Имя_переменной
. Значение Имя_переменной
автоматически увеличивается при каждом проходе цикла. Величина приращения счетчика при каждом выполнении цикла равна 1. Цикл выполняется, пока значение переменной Имя_переменной
меньше или равно значению Выражение 2
. Условие выполнения цикла всегда проверяется в начале, перед выполнением цикла.
1 2 3 4 5 |
СуммаЧисел = 0; Для ТекЧисло=1 По 100 Цикл СуммаЧисел = СуммаЧисел + ТекЧисло; КонецЦикла; Сообщить(СуммаЧисел); |
Цикл по коллекции (Для Каждого ... Цикл)
Оператор цикла Для каждого
предназначен для циклического обхода коллекций значений. При каждой итерации цикла возвращается новый элемент коллекции. Обход осуществляется до тех пор, пока не будут перебраны все элементы коллекции.
Синтаксис Для Каждого ... Цикл:
1 2 3 4 5 6 7 |
Для Каждого <Имя_элемента> Из <Имя_коллекции> Цикл // Операторы [Прервать;] // Операторы [Продолжить;] // Операторы КонецЦикла; |
где:
Имя_элемента
- переменная, которой при каждом повторении цикла присваивается значение очередного элемента коллекции;Из
- синтаксическая связка;Имя_коллекции
- переменная или выражение, предоставляющее коллекцию, элементы этой коллекции будут передаваться вИмя_элемента
;Цикл // Операторы
- операторы, следующие за ключевым словомЦикл
выполняются для каждого элемента коллекции;Прервать
- позволяет прервать выполнение цикла в любой точке, при этом управление передается оператору, следующему за ключевым словомКонецЦикла
;Продолжить
- немедленно передает управление в начало цикла (Для Каждого
), операторы послеПродолжить
на данной итерации обхода не выполняются;КонецЦикла
- ключевое слово, которое завершает структуру оператора цикла.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
// Создадим коллекцию (в виде массива, для примера) МассивЧисел = Новый Массив; //цикл заполнения коллекции (массива) Для Число=1 По 100 Цикл МассивЧисел.Добавить(Число); КонецЦикла; // Цикл просмотра элементов коллекции СуммаЧисел = 0; Для каждого ТекЭлемент Из МассивЧисел Цикл СуммаЧисел = СуммаЧисел + ТекЭлемент; КонецЦикла; Сообщить(СуммаЧисел); |
Цикл по условию Пока ... Цикл
Оператор цикла Пока ... Цикл предназначен для циклического повторения операторов, находящиеся внутри конструкции Пока Цикл ... КонецЦикла
.
Цикл выполняется, пока логическое выражение внутри Пока ... Цикл
равно Истина
. Условие выполнения цикла всегда проверяется вначале, перед выполнением цикла.
Синтаксис оператора Пока ... Цикл:
1 2 3 4 5 6 7 |
Пока <Логическое выражение> Цикл // Операторы [Прервать;] // Операторы [Продолжить;] // Операторы КонецЦикла; |
где:
Логическое выражение
- проверяемое логическое выражение;Цикл // Операторы
- операторы, следующие за ключевым словомЦикл
выполняются для каждого элемента коллекции;Прервать
- позволяет прервать выполнение цикла в любой точке, при этом управление передается оператору, следующему за ключевым словомКонецЦикла
;Продолжить
- немедленно передает управление в начало цикла (Пока
), операторы послеПродолжить
на данной итерации обхода не выполняются;КонецЦикла
- ключевое слово, которое завершает структуру оператора цикла.
1 2 3 4 5 6 7 |
СуммаЧисел = 0; X = 1; Пока X <= 100 Цикл СуммаЧисел = СуммаЧисел + X; X = X + 1; // изменение условия для исключения бесконечного цикла КонецЦикла; Сообщить(СуммаЧисел); |