Операторы цикла
При решении многих задач возникает необходимость многократного повторения одних и тех же действии, но над различными значениями переменных, определяющих эти действия. Такие вычислительные процессы называются циклическими, в многократно повторяемые участки – циклами. Циклический алгоритм может быть реализован с помощью оператора IF (см. программу вычисления отрицательных значений функции). BASIC существуют специальные операторы цикла, синтаксическая структура которых имеет вид:
FOR V=A1 ТО A2 STEP A3
операторы
области (тела)
цикла
NEXT V
где V - параметр или счётчик цикла;A1,A2,A3 – выражения определяющие соответственно начальное А1, конечное A2 значения счетчика и шаг изменения параметра циклаA3.
Такая структура предписывает выполнить все операторы, расположенные между операторами FOR и NЕХТ, для всех значений параметра цикла V, удовлетворяющих условию
(A2-V)*A3>=0.
Количество повторений цикла определяется по формуле
K=[(A2-A1)/A3]+1.
где [ ] - целая часть частного.
Конструкция SТЕР А3 может быть опущена, если А3=1. Например, при выполнении программы
For x%=1 to 8 step 2
Print 2^x%;
Next x%
End
на печать будет выведена последовательность 2, 8, 32, 128. В качестве шага цикла разрешается использовать любые значения, в том числе отрицательные и дробные. Например,
Fог1=3.5to1step-.5
pгint1;
next1
На экран будет выведена строка 3.5 3 2.5 2 1.5 1.
Переменная, являющаяся счётчиком цикла, может использоваться внутри цикла как любая другая переменная, в частности, можно изменять её значение, что, однако делать не рекомендуется, так как это может повлиять на число повторений операторов цикла. Например, программа
For x=1 to 99 step 2
Print x;
X=2*x
Next x
End
выдаёт на печать только шесть значений х: 1, 4, 10, 22, 46, 94.
При выходе из цикла, по какому - либо оператору условного или безусловного перехода значение счётчика равно последнему значению внутри цикла. Например, рассмотрим программу, реализующую вывод на печать первого положительного значения Функции у=х^2-5*x+6 при изменении аргумента от 2.5 до 4 с шагом 0,2.
Fоr х=2.5 to 4 step 0.2
у=X^2-5*x+6
If y>0 then h1
Next x
H1:
Print "x= "; x, "y="; y
End
В отличие от счетчика цикла начальное (А1) и конечное (А2) значение параметра цикла и шаг его изменения (А3) являются неизменными в течении выполнения цикла.
Разрешается использование циклов в цикле (вложенных циклов).
В этом случае внутренний цикл должен полностью находиться в теле внешнего цикла. Например,
For =...
ForB =...
NexfВ
ForС =...
NextС
next
Рассмотрим пример. Пусть, необходимо составить программу вычисления значений. Функции двух переменных Z= (х^2 + у^2)*(sinx + cosy) при изменении х от 1 до 3 с шагом 0,4 и у от нуля до 4 с шагом 0, 5.
INPUT x0, xk, hx, y0, yk, hy
For y=y0 to yk step hy
For x=x0 to xk step hx
Z=(x^2+Y^2)*(sin (x)+cos (y))
Print “x=”; x, ”y=”; y,”z=”; z
Next x
Next y
End
Дата добавления: 2015-02-10; просмотров: 870;