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

2.2 Організація циклічних обчислювальних процесів

Циклічними є алгоритмічні процеси, які дозволяють повторювати частину програми декілька разів. Кожне повторювання операторів всередині циклу називають ітерацією. Кількість повторювань (ітерацій) може бути відомою заздалегідь або залежати від істинності деякої логічної умови.

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

Оператор циклу For . . . Next використовується тоді, коли потрібно виконати групу операторів заздалегідь відоме число раз.

Загальна форма оператора:

For I = Start to Finish Step N

Блок_операторів

Next

Процес виконання оператора For . . . Next такий:

  1. Змінній I присвоюється значення змінної або виразу Start.

  2. Значення I порівнюється зі значенням змінної або виразом Finish.

  3. Якщо I <= Finish, виконується блок операторів у тілі циклу - чергова ітерація (повторення). Потім змінна I (лічильник циклу) збільшується на N, виконується перехід до п. b. Якщо I > Finish, цикл завершує свою роботу.

Частина початкового рядка циклу Step n може бути пропущена, коли крок зміни перемінної циклу дорівнює одиниці. Приклад використання циклу For … Next

Як приклад розглядається створення програми обчислення суми на рахунку в банку. Користувач повинен ввести такі дані: суму попереднього внеску на рахунок - SPV, банківський відсоток - V, період часу - P. Після натиснення кнопки Розрахунок, програма повинна вивести суму SR, яка буде на рахунку після P років при визначеному банківському відсотку, якщо відома сума первинного внеску. Формула розрахунку суми така:

  1. На початок роботи програми SR = SPV.

  2. Кожного року сума на рахунку змінюється таким чином .

Блок-схем розв’язання задачі подана на рис. 2.4.

На етапі візуального програмування потрібно створити форму, подану на рис. 2.5.

Рисунок 2.4 - Блок-схема розв’язання задачі «Обчислення суми на рахунку»

Рисунок 2.5 - Вікно програми – прикладу використання оператору For...Next

Характеристика форми, елементів управління форми подана в таблиці.

Об'єкт

Властивість

Значення

1

2

3

Форма (Form)

Name

frmExampleFor

Caption

Програма - приклад циклу For

BackColor

білий

Командна кнопка (Command Button)

Name

cmdSolve

Caption

&Розрахунок

Командна кнопка (Command Button)

Name

cmdClear

Caption

&Очистка

Командна кнопка (Command Button)

Name

cmdExit

Caption

&Вихід

Етикетка (Label)

Name

lblSPV

Caption

Сума первинного внеску:

BackColor

білий

Font

12 пунктів, напівжирний

Етикетка (Label)

Name

lblV

Caption

Банківський відсоток:

BackColor

білий

Font

12 пунктів, напівжирний

Етикетка (Label)

Name

lblP

Caption

Період:

BackColor

білий

Font

12 пунктів, напівжирний

Етикетка (Label)

Name

lblS

Caption

Сума на рахунку:

BackColor

білий

Font

12 пунктів, напівжирний

Етикетка (Label)

Name

lblSR

Caption

0

BackColor

білий

Font

12 пунктів, напівжирний

Alignment

1 – Right Justify (вирівнювання праворуч)

Текстове поле

(TextBox)

Name

TxtSPV

Text

”(порожній рядок)

Текстове поле

(TextBox)

Name

TxtV

Text

”(порожній рядок)

Текстове поле

(TextBox)

Name

TxtP

Text

”(порожній рядок)

Характеристика коду програми подана в таблиці.

Дані в рядку коду

Коментар

1

2

Option Explicit

Оголошення змінних:

Dim SPV, V, P, SR

SPV – сума первинного внеску; V – банківський відсоток; P – період; SR – сума на рахунку після P років.

1

2

Private Sub cmdClear_Click()

Заголовок процедури, яка пов’язана з подією Click на кнопці cmdClear (Очистка).

TxtSPV.Text = " "

Властивості Text текстового поля txtSPV (для введення суми первинного внеску) привласнюється значення “” (порожній рядок).

TxtV.Text = " "

Властивості Text текстового поля txtV (для введення банківського відсотку) привласнюється значення “” (порожній рядок).

TxtP.Text = " "

Властивості Text текстового поля txtP (для введення періоду) привласнюється значення “” (порожній рядок).

lblSR.Caption = 0

Властивості Caption етикетки lblSR (для виведення результату) привласнюється значення 0.

End Sub

Кінець процедури cmdClear_Click.

Private Sub cmdExit_Click()

Заголовок процедури, яка виконується у випадку події Click – клацання лівою кнопкою миші на кнопці cmdExit (Вихід).

End

Кінець роботи програми

End Sub

Кінець процедури cmdExit_Click.

Private Sub cmdSolve _Click()

Заголовок процедури, яка пов’язана з подією Click на кнопці cmdSolve (Розрахунок).

SPV = Val(txtSPV.Text)

Змінній SPV привласнюється значення властивості Text поля txtSPV – значення суми первинного внеску, яка введена в поле txtSPV. При цьому виконується перетворення текстового значення на числове за допомогою функції Val.

V = Val(txtV.Text)

Змінній V привласнюється значення властивості Text поля txtV – значення банківського відсотка.

P = Val(txtP.Text)

Змінній P привласнюється значення властивості Text поля txtP – значення періоду.

SR=SPV

Змінній SR перед початком циклу привласнюється значення змінної SPV.

For i=1 To P

Для і, що змінюється від 1 до Р (оскільки Step N не визначено, крок зміни дорівнює 1), доки і<=P виконується дія

SR=SR*(100+V)/100

змінній SR привласнюється значення – попереднє значення SR помножене на (100+V)/100

Next

Значенню і привласнюється і+1, виконується перехід до рядку For.

lblSR.Caption = str(SR)

Властивості Caption етикетки lblSR привласнюється значення SR, яке функцією str перетворюється з числового типу текстовий.

End Sub

Кінець процедури cmdSolve _Click.