Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по Visual Basic.doc
Скачиваний:
8
Добавлен:
18.09.2019
Размер:
2.3 Mб
Скачать

4.4. Оператор циклу for...Next

Синтаксис:

For х=х0 То xn [ Step h ]

<Група операторів>

[Exit For]

Next x,

де х – параметр циклу;

xo, xn, h – арифметичні вирази, значення яких визначають:

x0 – початкове значення параметра циклу;

xn – кінцеве значення параметра циклу;

h – крок, з яким змінюється параметр циклу. Якщо h=1,то Step h не пишеться. Exit For використовується в разіі необхідності дострокового виходу з циклу.

Дія оператора. При виконанні оператора циклу For...Next в першу чергу обчислюється (якщо це необхідно) і запам'ятовується початкове значення (x0), кінцеве значення (хn) та крок зміни (h) параметра циклу. Параметру циклу присвоюється початкове значення (х=х0) і перевіряється умова, чи перевищує значення параметра циклу х значення xn. Якщо значення параметру циклу знаходиться в інтервалі між початковим та кінцевим значенням, виконуються оператори, що знаходяться між операторами For та Next (тіло циклу). Далі оператор циклу збільшується на величину h. Дії повторюються до того часу, поки параметр циклу х не стане більшим за xn. В такому випадку управління передається на виконання оператора, що стоїть в програмі після оператора Next x.

При виході з циклу достроково (наявність оператора Exit For) значення параметра циклу дорівнює останньому значенню в середині циклу.

При виході з циклу через оператор Next значення параметру дорівнює останньому його значенню плюс величина кроку зміни параметру.

Дозволяється використання циклу в циклі ( вкладених циклів ). В цьому випадку внутрішній цикл повинен повністю знаходитися в тілі зовнішнього циклу.

Приклад. Скласти схеми та програми для варіантів (а) та (б) обчислення значень а, р та у. Результати отримати у вигляді таблиці значень.

a) х={1; 1,5; 2, ... 5}, b) x={1,5; 4,9; 8,36; -0,87 }

Параметри початкового (х0=1.5), кінцевого (хn=5) значень та кроку (h==0.5) визначаються із вказанної послідовності значень змінної х (варіант (а)).

Для введення змінних d, с, х0, хn, h створюємо масив z (використовуємо функцію Array)

Програма до варианту а).

Private Sub Комманда1_Click()

Rem Програма до варіанту а)

Dim a!,y!,p!

Z=Array(4.7,1.854,1,5,5,0.5)

D=z(0):c=z(1): x0=z(2): xn=z(3); h=z(4)

Print Tab (10);”Таблица”

Print Tab(10); String$(14,”*”)

Print Tab(3);”x”;Tab (12);”a”;_

Tab(24);”y”;Tab (48);”p”

Print String$(52,”*”)

For x=x0 To xn Step 0.5

A=sqr(17.89)*x+(c+sin(d))/(c-cos(d))

If a>x then

Y=Atn(a+x)

Else

Y=log(ABS(cjs(y)))+exp(x)

Print x;Tab(8);a; Tab(19);y; Tab(33); p

Next x

Print string$(52,”*”)

End sub

Програма до варианту b)

Розглядаємо х як масив чисел, тобто x={Xi}, і=1…n (n=4)

Option Base 1

Private Sub Комманда1_Click()

Rem програма по варіанту b)

Dim a!, y!, p!

Z=Array(4.7,1.854)

D=z(1):c=z(2)

X=Array(1.5,4.9,8.36, -0.87)

n=InputBox(“n=”)

Print Tab(10);”Таблиця”

Print Tab(10);String$(14,”*”)

Print Tab(3); “x”; Tab(12); “a”;_

Tab(24); “y”; Tab(40); “p”

Print String$(53,”*”)

For I=1 To n

A=Sqr(17.89)*x(i)+(c+sin(d))/(c-cos(d))

If a>x(i) then

Y=Atn(a+x(i))

Else

Y=log(abs(a+x(i)))

End If

P=Sqr(abs(cos(y)))+exp(x(i))

Print x(i); Tab(19);y; Tab (33);p

Next I

Print String$(53,”*”)

End Sub

Приклад. Cкласти програму для обчислення Z!

Реалізуємо алгоритм блок-схема якого відображена на рис.1.7.

Розмістимо на формі лише один елемент управління – командну кнопку, ім’я якої і напис на якій змінимо з CommandButton1 на Пуск.

Запрограмуємо подію – щиглик (Click) на кнопці Пуск. Для введення Z використаємо оператор InputBox(), для виведення результату – оператор MsgBox().

Private Sub Пуск_Click()

Dim Z %, P%, i%

Z=Val(Input(“Z=?”,”Задайте Z”)

P=1

For i=1 to Z

P=P*i

Next i

MsgBox=”Z!=” & P

End Sub

Рисунок 3.9. Результат обчислення Z! для Z=7.