Роздрукувати сторінку
Главная \ Методичні вказівки \ Методичні вказівки \ 1527 Лабораторна робота 11 на тему Visual Basic та Розробка додатків, що реалізують циклічний обчислювальний процес

Лабораторна робота 11 на тему Visual Basic та Розробка додатків, що реалізують циклічний обчислювальний процес

« Назад

Лабораторна робота №11

Тема: Visual Basic. Розробка додатків, що реалізують циклічний обчислювальний процес.

Мета: навчитись використовувати засоби Visual Basic для розробки додатків з циклічним обчислювальним процесом.

Завдання №1:

1. Активізуйте Visual Basic: Пуск−> Программы−> Visual Basic−> Visual Basic 6.0.

2. Розробимо форму з назвою Сума, в якій будуть такі об’єкти:

- 5 написів Label1 – Label5

- 3 текстових поля Text1 – Text3 для введення даних (два поля для введення значення початку і кінця відрізка a і b, одне для введення  кроку h зміни аргумента

- одна командна кнопка Command1. З командною кнопкою Command1 пов’язана подія – клік на цій кнопці, який запускає на виконання процедуру обчислення суми виплат.

- Результат обчислення суми значень функції виводиться у напис з ім’ям Label5.

3. У вікні властивостей форми задайте для властивості Caption значення Сума, для властивості ForeColor виберіть зі списку вказаний на малюнку колір.

4. Для всіх написів задайте відповідне значення (властивість Caption), колір фону і вирівнювання по центру у відповідності з наведеним нижче малюнком.

5. Для текстових полів також задайте зачення „пусто” (властивість Text), вирівнювання по центру у відповідності з наведеним нижче рисунком.

6. Дотримайтесь вказаного розташування об’єктів і усвідомте логічний зв’язок між об’єктами:

Label1 −> Text1

Label2 −> Text2

Label3 −> Text3 

7. Для командної кнопки Command1 встановіть значення Обчислити (властивість Caption), вирівнювання по центру у відповідності з рисунком.

8. Двічі клацніть на командній кнопці і у вікні редактору коду введіть код процедури як у наведеному нижче вікні, після чого закрийте вікно коду.

Private Sub Command1_Click()

Dim a, b, Arg, Y, Krok, Sum As Double

a = Val(Text1.Text)

b = Val(Text2.Text)

Krok = Val(Text3.Text)

Arg = a     ‘ початкове значення змінної циклу

Sum = 0  ‘очищення змінної

Do While Arg <= b

Y = 7 * Arg + Abs(5 * Arg ^ 3 - 7 * Arg + 4) + _

(2 * Arg ^ 2 + 1) / (3 * Abs(Arg) + 5)

Sum = Sum + Y

Arg = Arg + Krok

Loop

Label5.Caption = Sum

End Sub

Тут використано оператор циклу Do While ... Loop.

!!!!Зверніть увагу на перенесення продовження вираз  у наступний рядок (пропуск і символ підкреслення).

9. Збережіть форму і проект на своєму системному диску у папці ПР_Програмування_Прізвище з назвою Практична_робота_№10_Прізвище:

10. Запустіть розроблений проект на виконання, скориставшись відповідним меню або кнопкою старт панелі інструментів. При цьому на екрані з’явиться вікно  форми Сума, в якому в текстових полях потрібно задати значення відповідних величин і натиснути кнопку Обчислити. Після виконання обчислень у формі  у написі Label5 буде виведено результат обчислення суми значень функції. Перевірте відповідність отриманого результату наведеному нижче. 

11. Виконайте модифікацію коду процедури обробки події для командної кнопки у відповідності  з наведеним нижче текстом:

Private Sub Command1_Click()

Dim a, b, Arg, Y, Krok, Sum As Double

a = Val(Text1.Text)

b = Val(Text2.Text)

Krok = Val(Text3.Text)

Arg = a     ‘ початкове значення змінної циклу

Sum = 0  ‘очищення змінної

Do While Arg <= b

Y = 7 * Arg + Abs(5 * Arg ^ 3 - 7 * Arg + 4) + _

(2 * Arg ^ 2 + 1) / (3 * Abs(Arg) + 5)

Print Y

Sum = Sum + Y

Arg = Arg + Krok

Loop

Label5.Caption = Sum

End Sub

Команда Print Y буде друкувати на формі значення Y. Запустіть проект на виконання і переконайтесь у цьому.

12. Виконайте модифікацію коду процедури обробки події для командної кнопки у відповідності  з наведеним нижче текстом:

Private Sub Command1_Click()

Dim a, b, Arg, Y, Krok, Sum As Double

a = Val(Text1.Text)

b = Val(Text2.Text)

Krok = Val(Text3.Text)

Arg = a     ‘ початкове значення змінної циклу

Sum = 0  ‘очищення змінної

Do While Arg <= b

Y = 7 * Arg + Abs(5 * Arg ^ 3 - 7 * Arg + 4) + _

(2 * Arg ^ 2 + 1) / (3 * Abs(Arg) + 5)

Form1.ForeColor = vbRed

Form1.Font.Italic = True

Print Y

Sum = Sum + Y

Arg = Arg + Krok

Loop

Label5.Caption = Sum

End Sub

Команди  Form1.ForeColor = vbRed  і Form1.Font.Italic = True змінюють властивості форми (кольору шрифту і шрифт, яким будуть надруковані дані). Запустіть проект на виконання і переконайтесь у цьому.

13. Виконайте наступну модифікацію коду процедури обробки події для командної кнопки у відповідності  з наведеним нижче текстом, в якому застосований оператор циклу

Do ... Loop While:

Private Sub Command1_Click()

Dim a, b, Arg, Y, Krok, Sum As Double

a = Val(Text1.Text)

b = Val(Text2.Text)

Krok = Val(Text3.Text)

Arg = a     ‘ початкове значення змінної циклу

Sum = 0  ‘очищення змінної

Do

Y = 7 * Arg + Abs(5 * Arg ^ 3 - 7 * Arg + 4) + _

(2 * Arg ^ 2 + 1) / (3 * Abs(Arg) + 5)

Form1.ForeColor = vbRed

Form1.Font.Italic = True

Print Y

Sum = Sum + Y

Arg = Arg + Krok

Loop While Arg <= b

Label5.Caption = Sum

End Sub

Запустіть проект на виконання і порівняйте отриманий результат з попереднім.

14. Виконайте наступну модифікацію коду процедури обробки події для командної кнопки у відповідності  з наведеним нижче текстом, в якому застосований оператор циклу

Do Until... Loop:

Private Sub Command1_Click()

Dim a, b, Arg, Y, Krok, Sum As Double

a = Val(Text1.Text)

b = Val(Text2.Text)

Krok = Val(Text3.Text)

Arg = a     ‘ початкове значення змінної циклу

Sum = 0  ‘очищення змінної

Do Until Arg > b

Y = 7 * Arg + Abs(5 * Arg ^ 3 - 7 * Arg + 4) + _

(2 * Arg ^ 2 + 1) / (3 * Abs(Arg) + 5)

Form1.ForeColor = vbRed

Form1.Font.Italic = True

Print Y

Sum = Sum + Y

Arg = Arg + Krok

Loop

Label5.Caption = Sum

End Sub

Запустіть проект на виконання і переконайтесь у його успішній роботі.

15. Виконайте наступну модифікацію коду процедури обробки події для командної кнопки у відповідності  з наведеним нижче текстом, в якому застосований оператор циклу

Do... Loop Until:

Private Sub Command1_Click()

Dim a, b, Arg, Y, Krok, Sum As Double

a = Val(Text1.Text)

b = Val(Text2.Text)

Krok = Val(Text3.Text)

Arg = a     ‘ початкове значення змінної циклу

Sum = 0  ‘очищення змінної

Do

Y = 7 * Arg + Abs(5 * Arg ^ 3 - 7 * Arg + 4) + _

(2 * Arg ^ 2 + 1) / (3 * Abs(Arg) + 5)

Form1.ForeColor = vbRed

Form1.Font.Italic = True

Print Y

Sum = Sum + Y

Arg = Arg + Krok

Loop Until Arg > b

Label5.Caption = Sum

End Sub

Запустіть проект на виконання і переконайтесь у його успішній роботі. Чим відрізняється остання процедура від попередньої?

16.  Виконайте останню  модифікацію коду процедури обробки події для командної кнопки у відповідності  з наведеним нижче текстом, в якому у формі друкуються ще й значення аргумента і функції з їх заголовками:

Private Sub Command1_Click()

Dim a, b, Arg, Y, Krok, Sum As Double

a = Val(Text1.Text)

b = Val(Text2.Text)

Krok = Val(Text3.Text)

Arg = a     ‘ початкове значення змінної циклу

Sum = 0  ‘очищення змінної

Print "x", "Y"

Do

Y = 7 * Arg + Abs(5 * Arg ^ 3 - 7 * Arg + 4) + _

(2 * Arg ^ 2 + 1) / (3 * Abs(Arg) + 5)

Form1.ForeColor = vbRed

Form1.Font.Italic = True

Print Arg, Y

Sum = Sum + Y

Arg = Arg + Krok

Loop Until Arg > b

Label5.Caption = Sum

End Sub

Запустіть проект на виконання і переконайтесь у його успішній роботі. Чим відрізняється остання процедура від попередньої?

Завдання №2: Розробіть додаток для обчислення добутку усіх непарних чисел з відрізка [1;20].

Математична модель додатку.

Перше непарне число на цьому відрізку – 1, наступне утворюється додаванням до попереднього числа 2. Щоб отримати добуток, потрібно виконати множення всіх непарних чисел з заданого відрізка. Обчислювальний процес можна розглядати як циклічний.

1. Активізуйте новий проект. Розробіть  форму з 3 написами і однією командною кнопкою у відповідності з наведеним нижче малюнком.

2. Введіть код процедури обробки події – клацання на командній кнопці Обчислити. Для реалізації циклічного обчислювального процессу можна застосувати оператори  Do... Loop.  Змінна Arg зберігає поточне значення непарного числа, вона є змінною циклу. Змінна Dob зберігає поточне і кінцеве значення добутку непарних чисел. Використаємо явне оголошення змінних з застосуванням суфіксів. У вікні редактора коду введіть програмний код:

Private Sub Command1_Click()

Dim Arg!, Dob#

Arg! = 1

Dob# = 1  ’присвоєння значення 1 змінній Dob, в якій буде накоплюватись ’добуток, перед початком циклу є обов’язковим!

Do Until Arg! > 20

Dob# = Dob# * Arg!

Arg! = Arg! + 2

Loop

Label3.Caption = Dob#

End Sub

3. Збережіть форму і проект на своєму системному диску у папці ПР_Програмування_Прізвище з назвою Практична_робота_№10_2_Прізвище:

4. Запустіть проект на виконання. Порівняйте отриманий результат з наведеним нижче.

 

Контрольні питання

  1. Яку мовні конструкції для реалізації циклічних обчислювальних процесів має Visual Basic?

  2. Що таке „змінна циклу”, „тіло циклу”, „крок циклу”?

  3. Який синтаксис має оператор циклу For... Next  і як він працює у Visual Basic?

  4. Який синтаксис має оператор циклу Do While ... Loop  і як він працює у Visual Basic?

  5. Який синтаксис має оператор циклу Do... Loop  While і як він працює у Visual Basic?

  6. Який синтаксис має оператор циклу Do Until ... Loop  і як він працює у Visual Basic?

  7. Який синтаксис має оператор циклу Do While ... Loop  і як він працює у Visual Basic?

  8. Яке призначення має команда Exit?

  9. Які різновиди процедур користувача існують?

  10. Чи відрізняються процедури типу Function від процедур типу Sub?

З повагою ІЦ "KURSOVIKS"!