На языке VISUAL BASIC.
Программы циклической структуры это такие программы, в которых какая-то группа операторов многократно повторяется. Эта группа операторов, оформленная специальным образом, называется циклом. Количество повторений определяется либо параметрами цикла, либо условием, заданным вне цикла. Многократное повторение выполняется за счет передачи управления на начало этой группы операторов. Циклические алгоритмы применяются при решении задач на табулирование функций (составление таблицы значений функции), на вычисление суммы и произведений, при обработке массивов.
Операторы цикла. Для организации циклов в VISUAL BASIC применяются операторы FOR и NEXT. Общий вид операторов
FOR V = TO STEP
Операторы
NEXT V
где v - любая неиндексированная переменная - управляющая переменная цикла; , , - начальное и конечное значения и шаг изменения управляющей переменной цикла - любые арифметические выражения. Если =1, то конструкцию STEP можно опустить. Операторы, расположенные между операторами FOR и NEXT, образуют тело цикла и выполняются многократно.
Блок- схема оператора FOR … NEXT
Выполнение цикла, образованного операторами FOR и NEXT, показано в этой блок-схеме.
Есть и другие операторы цикла.
Например:
WHILE условие
Операторы
WEND , здесь операторы выполняются, пока выполняется условие
Пример 4. Составить таблицу значений функции y при изменении значений переменной x на отрезке [-2,2] с шагом h=0,5:
Рис. 2.3. Блок - схема табулирования функции y=f(x)
Программа для примера 4:
Sub Pr4()
m = Cells(1, 2):n = Cells(2, 2)
Cells(3, 1) = "X=": Cells(3, 2) = "Y="
i = 0
For X = -2 To 2 Step 0.5
Y = (Exp(-X) + 5 * m) / (X + n)
Cells(4 + i, 1) = X:Cells(4 + i, 2) = Y
i = i + 1
Next X
End Sub
Пример 5. Составить таблицу значений функции z=f(x;y) при изменении значений переменной xна отрезке [a,b] с шагом h , переменной y на отрезке [c,d] с шагом l: , где a=1, b=2, h=0,2; c=2, d=4, l=0,2.
Рис. 2.4. Блок - схема программы табулирования функции z=f(x,y)
Программа для примера 5:
Sub Pr5()
m = Cells(1, 2): n = Cells(2, 2)
a = Cells(4, 1): b = Cells(4, 2): h = Cells(4, 3)
c = Cells(6, 1): d = Cells(6, 2): l = Cells(6, 3)
Cells(7, 1) = " X/Y "
j = 2
For y = c To d + 0.01 * l Step l
Cells(7, j) = y: j = j + 1
Next y
i = 0
For x = a To b + 0.01 * h Step h
Cells(8 + i, 1) = x
j = 2
For y = c To d + 0.01 * l Step l
Z = (x ^ 2 - y ^ 2 + m) / (x ^ 2 + y ^ 2) / n
Cells(8 + i, j) = Z: j = j + 1
Next y: i = i + 1
Next x
End Sub
Пример 6. Вычислить где ,
Программа для примера 6 (см. рис. 2.5.):
Sub Pr6()
m = Cells(1, 2): n = Cells(2, 2)
Rem "Вычисление произведения"
P = 1
For k = 1 To 15
P = P * n ^ 2 / Sqr(m * k ^ 2 + 1)
Next k
Rem "Вычисление суммы"
S = 0
For k = 2 To 20
S = S + n ^ 2 / Sqr(m * k ^ 2 + 1)
Next k
T = P - S
Cells(3, 1) = "P=": Cells(3, 2) = P
Cells(4, 1) = "S=": Cells(4, 2) = S
Cells(5, 1) = "T=": Cells(5, 2) = T
End Sub
Рис. 2.5. Блок - схема циклического вычислительного процесса