Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Basic Методичка.doc
Скачиваний:
12
Добавлен:
15.11.2018
Размер:
1.47 Mб
Скачать

6.5. Циклы с параметром

Если в теле цикла можно выделить переменную, которая монотонно изменяется при каждом выполнении цикла, то принято называть эту переменную параметром, а сам цикл - циклом с параметром. Параметр цикла может быть целого или вещественного типов. Изменение параметра цикла в общем случае можно описать формулой:

,

где и - начальное и конечное значения параметра, - шаг изменения. Циклы с параметром при вещественного типа можно свести к циклическому процессу с целого типа:

.

Однако при вещественном значении параметра не всегда возможно получить целое , поэтому следует округлять до целого с учётом анализа условия задачи.

Таким образом, цикл с параметром сводится к циклу со счётчиком, который организуется пользователем в теле цикла, а при подготовке цикла содержимое счётчика должно обнуляться.

В языке BASIC имеются специальные операторы для организации циклов с параметром: FOR - NEXT. Такой цикл называется циклом с управляющей переменной или циклом со встроенным счетчиком.

6.6. Операторы 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

6.7. Вложенные циклы

Вложенные циклы организуются с помощью вложенных операторов 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

Сначала записывается управляющая переменная внутреннего цикла. Максимальная глубина вложения у многих версий не более восьми.

Циклы обработки массивов рассматриваются в следующем разделе.

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