Операторы FOR и NEXT
Синтаксическая структура оператора:
нс FOR <переменная> = Е1 ТО Е2 {STEP E3},
где FOR – ключевое слово “для”; Е1 – арифметическое выражение, определяющее начальное значение переменной, которое называется управляющей; ТО – служебное слово “до” (включительно); Е2 – арифметическое выражение, определяющее конечное значение управляющей переменой; STEP - служебное слово “шаг”; Е3 – выражение, определяющее величину шага, то есть приращение. Таким образом, Е1-Е2 представляет область действий управляющей переменной.
Оператор FOR вычисляет начальное и конечное значение управляющей переменной цикла, величину шага и присваивает управляющей переменной её начальное значение, занося во встроенный счетчик. При каждом цикле оператора FOR производит анализ на окончание цикла (с помощью анализа встроенного счётчика). Цикл повторяется до тех пор, пока значение управляющей переменной не станет строго больше (при положительном шаге) или строго меньше (при отрицательном шаге) её конечного значения.
Операторы цикла записываются вслед за оператором FOR, который является фактически заголовком тела цикла.
Служебное слово STEP указывает величину шага. Оно может опускаться только в том случае, если шаг +1 – во всех остальных случаях STEP необходим.
Оператор NEXT завершает цикл. Его структура:
нс NEXT <управляющая переменная>,
где NEXT – ключевое слово “следующий”. Этот оператор изменяет значение управляющей переменной на величину шага.
Пример1. Вычислить при изменении с шагом 1 на интервале
Фрагмент программы:
…
40 FOR B = 1 TO 5
50 Y = A + B здесь STEP не указан, т.е. равен +1
60 NEXT B
…
Пример2. Вычислить с шагом 0.4 значение функции (с параметром) на интервале .
Фрагмент программы:
…
30 FOR X = -1 TO 1 STEP .4
40 Y = COS(X)
50 NEXT X
…
Вложенные циклы
Вложенные циклы организуются с помощью вложенных операторов FOR – NEXT, которые образуют внутренние циклы, и служат для программирования циклов внутри циклов.
Пример. Вычислить причем a и b изменяются на интервале {1 , 5} с шагом 1.
Фрагмент программы:
30 FOR A = 1 TO 5
40 FOR B = 1 TO 5
50 Y = A+B
… Внутренний цикл Внешний цикл
60 NEXT B
70 NEXT A
На каждый внешний цикл внутренний отвечает всеми циклами.
В случаях, когда необходимо вывести на экран или печатающее устройство n любых символов, более экономично вместо FOR-NEXT использовать функцию генерации строки:
STRING$(n, <”символ”>),
где n - количество; в качестве символа можно использовать любой символ.
Строки 40-60 выполняются в каждом внешнем цикле 5 раз, всего внешних циклов 5. Количество вычисленных значений у равно 25.
Пересечения циклов не допускается. Организация вложенных циклов осуществляется по различным управляющим переменным. Если программа позволяет, то можно использовать один NEXT:
NEXT B, A
Сначала записывается управляющая переменная внутреннего цикла. Максимальная глубина вложения у многих версий не более восьми.
Циклы обработки массивов рассматриваются в следующем разделе.
Дата добавления: 2021-12-14; просмотров: 581;