Введение
Оператор управления потоком для повторного выполнения
В информатике цикл for или for-цикл — это оператор управления потоком для задания итерации. В частности, цикл for функционирует путем многократного выполнения участка кода, пока не будет выполнено определенное условие. Циклы for состоят из двух частей: заголовка и тела. Заголовок определяет итерацию, а тело — это код, который выполняется один раз за каждую итерацию. Заголовок часто объявляет явный счетчик цикла или переменную цикла. Это позволяет телу цикла знать, какая итерация выполняется. Циклы for обычно используются, когда количество итераций известно до входа в цикл. Циклы for можно рассматривать как сокращенную форму циклов while, которые инкрементируют и проверяют переменную цикла. Для указания использования цикла for используются различные ключевые слова: потомки ALGOL используют "", а потомки Fortran используют "". Существуют и другие варианты, например COBOL, который использует . Название "for-цикл" происходит от слова "for". "For" используется как зарезервированное слово (или ключевое слово) во многих языках программирования для введения цикла for. Этот термин в английском языке появился в ALGOL 58 и получил распространение в ALGOL 60. Это прямой перевод более раннего немецкого и использовался в Superplan (1949–1951) Хайнцем Рутисхаузером. Рутисхаузер принимал участие в определении ALGOL 58 и ALGOL 60. Тело цикла выполняется "для" заданных значений переменной цикла. Это более явно выражено в версиях ALGOL оператора for, где можно указать список возможных значений и приращений. В Fortran и PL/I ключевое слово используется для того же самого и называется циклом do; это отличается от цикла do while.
The name for loop comes from the word for. For is used as the reserved word (or keyword) in many programming languages to introduce a for loop. The term in English dates to ALGOL 58 and was popularized in ALGOL 60. It is the direct translation of the earlier German and was used in Superplan (1949–1951) by Heinz Rutishauser. Rutishauser was involved in defining ALGOL 58 and ALGOL 60. The loop body is executed "for" the given values of the loop variable. This is more explicit in ALGOL versions of the for statement where a list of possible values and increments can be specified. In Fortran and PL/I, the keyword is used for the same thing and it is named a do loop; this is different from a do while loop.
Для
Цикл for доступен в большинстве императивных языков программирования. Даже игнорируя незначительные различия в синтаксисе, существуют значительные различия в работе этих циклов и уровне выразительности, который они поддерживают. В общем случае, циклы for можно отнести к одной из четырех категорий:
Счетчики циклов
В компьютерном программировании счетчик цикла — это управляющая переменная, которая контролирует итерации цикла (конструкция языка программирования). Он получил такое название, потому что в большинстве случаев использования этой конструкции переменная принимает ряд целочисленных значений в некоторой упорядоченной последовательности (например, начиная с 0 и заканчивая 10 с шагом 1).
Счетчики цикла изменяются с каждой итерацией цикла, предоставляя уникальное значение для каждой отдельной итерации. Счетчик цикла используется для определения момента завершения цикла и для продолжения выполнения программы следующей инструкцией после цикла. Распространенной конвенцией именования идентификаторов является использование для счетчиков цикла имен переменных i, j и k (и так далее, при необходимости), где i соответствует самому внешнему циклу, j — следующему внутреннему циклу и т. д. Некоторые программисты используют и обратный порядок. Считается, что этот стиль берет свое начало из раннего программирования на Fortran, где эти имена переменных, начинающиеся с этих букв, неявно объявлялись как целочисленные, и поэтому были очевидным выбором для счетчиков циклов, которые требовались лишь временно. Эта практика уходит корнями в математическую нотацию, где индексы для сумм и произведений часто обозначаются i, j и т. д. Существует также вариант конвенции — использование повторяющихся букв для индекса, например, ii, jj и kk, поскольку это облегчает поиск и замену по сравнению с использованием одной буквы.
Сроки синтаксиса for-loop в различных языках программирования
При выполнении действия, которое необходимо повторить, например, пять раз, циклы `for` будут записаны по-разному в разных языках программирования. Синтаксис цикла `for` с тремя выражениями почти идентичен во всех языках, которые его поддерживают, с учетом различных стилей завершения блоков и тому подобного.