Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КОНСПЕКТ ЛЕКЦИЙ(рус).doc
Скачиваний:
80
Добавлен:
09.02.2016
Размер:
2.29 Mб
Скачать

15.2. Оператор цикла For ... Next

П

Рис. 15.1. Полная блок - схема

редназначен для организации циклов.

Синтаксис оператора:

For х = xn to xk [step x ]

Операторы тела цикла

Next [x]

где: x – параметр цикла (переменная);

xn, xk - начальное и конечное значение (арифметические выражения);

step x – шаг изменения х (по умолчанию шаг =1);

Next - конец области действия оператора цикла.

Функционирование оператора определяется из его блок – схемного представления. Полная блок – схема For ... Next (рис. 15.1). Блок — схема с блоком модификации (рис. 15.2). Выход из цикла при x>xk.

Т

Рис. 15.2. Блок – схема с блоком модификации

аким образом, алгоритм и программа будет выглядеть следующим образом (рис. 15.3):

Private Sub CommanButton1_Click

Dim x, y, xn, xk, dx As Single

xn=-1: xk=1: dx=0.2

For x=xn to xk step dx

y=x^2

Debug.Print “ x= “; x ; “ y=”; y

Next x

End Sub

Рис. 15.3. Блок – схема с защитой входа

15.3. Операторы циклов типа Do (выполнить)

Существуют два оператора Do While (пока) и Do Until (до).

С помощью этих операторов могут быть организованы два типа циклов:

  1. С защитой входа в цикл (с предусловием).

  2. С свободным входом в цикл (с послеусловием)

Использование операторов Do While и Do Until для организация цикла с защитой входа

Синтаксис операторов:

Do While <ЛВ > (ложь) Do Until < ЛВ> (истина)

(истина) ( ложь)

Операторы тела цикла Операторы тела цикла

Loop Loop

Выход из цикла Выход из цикла

где: ЛВ - логическое выражение;

Loop (цикл) - конец области действия Do

Использование операторов Do While и Do Until для организация цикла с свободным входом в цикл (с послеусловием) Организация цикла с проверкой условия в конце цикла

Синтаксис операторов:

Do Do

операторы тела цикла операторы тела цикла

Loop While < ЛВ > (ложь) Loop Until <ЛВ> (истина)

(истина) (ложь)

Выход из цикла Выход из цикла

Пример 15.2. Составить программу вычисления суммы членов ряда с заданной точностью Е= 0.001 и число его членов, если задан общий член ряда an=1/n2. Алгоритм является итерационным, так как неизвестно заранее количество выполняемых циклов (глава 1, рис. 1.6). Процедура отклика командной кнопки с использованием Do While:

Private Sub CommanButton1_Click

Dim e, an, s As Single, n As Integer

e=0.001: n=1: s=0: an=1/n^2

Do While an=>e

s=s+an : n=n+1: an=1/n^2

Loop

MsgBox “ s= “ & s & “n=” & n

End Sub

Пример 15.3. Составить программу вычисления по следующей итерационной формуле yi+1=0,5(yi + x/yi) с заданной точностью Е=0.001, начальным приближением y0=1 и х=25 . В циклическом алгоритме (глава 10, рис. 10.7) выполним замену переменных : Уi обозначим переменной а

Уi+1 обозначим переменной b

Тогда запишем а=уо ; b=0.5(a+x/a); ; a=b; Выводb

Процедура отклика командной кнопки с использованием оператора If:

Private Sub CommandButton1_Click()

Dim e, x, yo, a, b As Single

e = 0.001: yo = 1: x = 25

a = yo

2: b = 0.5 * (a + x / a)

If Abs(b - a) < e Then GoTo 1

a = b

GoTo 2

1: MsgBox " b= " & b

End Sub