Некоторые различия между операторами цикла for, while и repeat…until:
Цикл for предназначен для выполнения итераций фиксированное количество раз. 1 Он повторяет код столько раз, сколько указано в счётчике или переменной. 5 В теле цикла for не должны содержаться операторы, изменяющие счётчик цикла. 6
Цикл while используется, когда точное число повторений неизвестно и может изменяться в зависимости от поведения переменной в теле цикла. 8 Этот оператор выполняет тело цикла до тех пор, пока выражение в его условии остаётся истинным. 8 Цикл while может стать бесконечным, если его условие никогда не становится ложным. 8
Цикл repeat…until позволяет выполнить сразу несколько операторов: ключевые слова repeat и until сами служат операторными скобками. 2 Цикл выполняется до тех пор, пока логическое выражение (условие) ложно, а когда оно станет истинным, то произойдёт выход из цикла. 6 В отличие от цикла while, условие вычисляется после очередной итерации цикла, и если оно истинно, то происходит выход из цикла. 7
Таким образом, цикл for подходит для ситуаций, когда известно нужное количество повторений, цикл while — когда число итераций неизвестно, а цикл repeat…until — когда условие нельзя проверить, не выполнив тело цикла. 79