На языке 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. Блок - схема циклического вычислительного процесса