Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
m32516.doc
Скачиваний:
10
Добавлен:
13.11.2022
Размер:
543.74 Кб
Скачать

5.5.5. Операторы цикла

Операторы FOR и NEXT

Операторы FOR и NEXT предназначены для организации циклического вычислительного процесса.

Формат: FOR V=E1 TO E2 STEP E3

. . .

NEXT V

V- переменная, используемая в качестве счетчика цикла;

E1, E2, E3 - арифметические выражения, задающие соответственно начальное, конечное значение и шаг изменения переменной V.

Операторы FOR и NEXT могут использоваться только попарно, т.е. в программе каждому оператору FOR должен соответствовать свой оператор NEXT. FOR определяет начало, а NEXT - конец цикла. Если шаг изменения V равен 1, то конструкцию STEP E3 можно опускать.

При работе цикла происходят следующие операции:

1. Вычисляются значения E1, E2, E3, если они являются арифметическими выражениями.

2. Переменной V присваивается в качестве начального значения значение E1.

3. Полученное значение V сравнивается со значением выражения E2. При этом, если E3 > 0, то проверяется условие V <= E2, если E3 < 0, то проверяется условие V >= E2.

4. Если проверяемое условие истинно, то выполняется группа операторов, расположенных между FOR и NEXT.

5. Оператор NEXT изменяет текущее значение переменной V на шаг E3 (V=V+E3 ) и передает управление в начало цикла. Для нового значения V опять проверяется одно из условий пункта 3. При истинности условия еще раз выполняется группа операторов между FOR и NEXT. Весь процесс выполняется до тех пор, пока проверяемое условие не примет значение "ложно". В этом случае выполнение цикла заканчивается и управление передается оператору, следующему в программе непосредственно после оператора NEXT.

Пример: Найти сумму натурального ряда чисел от 1 до N.

10 INPUT N

20 S=0

30 FOR I=1 TO N

40 S=S+I

50 NEXT I

60 PRINT "S=";S

70 END

При организации циклов с использованием операторов FOR-NEXT необходимо учитывать следующее:

1. Проверка истинности условия V <= E2 (V >= E2) осуществляется перед очередным выполнением цикла. Следовательно, если это условие не выполняется перед первым выполнением цикла, то цикл не будет выполняться ни разу.

Например, FOR I=15 TO 5

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

Например, 30 FOR I=1 TO 11

40 A=I^2

50 I=I+A

60 NEXT I

3. Передача управления внутрь цикла, минуя его заголовок, не допускается.

Например, 40 GO TO 100

50 FOR K=10 TO 50 STEP 2

........................

100 PRINT K

110 NEXT K

4. Внутри циклов могут быть другие операторы циклов, т.е. допускается вложение циклов друг в друга. Перекрытие циклов не допускается и внутренние циклы должны заканчиваться до завершения внешних.

FOR I1 FOR I1

FOR I2 FOR I2

FOR I3

NEXT I1 нельзя !

NEXT I3 NEXT I2

NEXT I2

NEXT I1

5. Можно использовать оператор NEXT без переменной, что ус корит выполнение цикла .

Например, 110 NEXT вместо 110 NEXT K

Можно также объединять операторы NEXT, если они следуют друг за другом.

Например, 200 NEXT I3,I2,I1 вместо 200 NEXT I3

210 NEXT I2

220 NEXT I1

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]