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

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

« Назад

ПРАКТИЧНА РОБОТА

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

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

Хід роботи

Запишіть у зошит тему і мету роботи. Складіть звіт виконання практичної роботи.  Програмний код процедур охайно запишіть у звіті.

Завдання 1. Уважно вивчіть теоретичні відомості. Найнеобхідніше занотуйте у звіті.

Теоретичні відомості

Часто доводиться обробляти великі групи однотипних даних. У програмах дані зберігаються у змінних.

Масив — це впорядкована група змінних одного типу, об'єднаних одним  ім’ям.

Змінні масиву називають елементами масиву. Кількість елементів у масиві називають розмірністю масиву.

У масиві за замовчуванням всі елементи пронумеровані, починаючи з нуля.

У програмі перед створенням масив оголошують, при цьому за­лежно від місця оголошення масив може бути як локальним, так і глобальним.

Якщо розмірність  масиву фіксована, то це масив із фіксованими межами. У випадку коли розмірність масиву змінюється (чи визначається) у програмі створюють динамічний масив.

Для оголошення масиву із фіксованими межами використовують таку конструкцію:

Dim <ім'я масиву> (<число1>[, <число2>,...,<числоN>)] [As <тип даних>],

де ім'я масиву — ім'я змінної типу «масив»; число1 — розмір масиву (число рядків); число2 — розмір масиву (число стовпців), і т.д.; тип даних — тип даних масиву, за замочуванням — тип Variant.

Кожен елемент масиву має свій набір індексів (що визначає його місцерозташування в масиві). У одновимірному масиві кожний елемент має один індекс (i)ціле число, яке є порядковим номером цього елемента у масиві.У двохвимірному масиві, який можна уявити як двохвимірну таблицю, набір індексів складається з номера рядка та номера стовпця  (i,j), причому нумерація починається з 0, що не дуже логічно. Як бачимо, набір індексів складається з індексу по кожному виміру масива.

Наприклад, елементи одновимірного масиву А із п'я­ти елементів мають такі індекси:

 А(0)

А(1)

А(2)

  А(3)

 А(4)  

Оголошення такого масиву у процедурі обробки події має вигляд:

Dim A(4) As Integer ‘тип змінної може бути іншим

Елементи двовимірного масиву, що складається із трьох рядків і чотирьох стовпців, характеризуються та­кими індексами:

А(0,0)

А(0,1)

А(0,2)

А(0,3)

А(1,0)

А(1,1)

А(1,2)

А(1,3)

А(2,0)

А(2,1)

А(2,2)

А(2,3)

Оголошення такого масиву у процедурі обробки події має вигляд:

Dim A(2,3) As Integer ‘тип змінної може бути іншим .

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

Змінювати нижню межу масиву при його оголошенні можна також,  задаючи межі зміни індекса за допомогою ключового слова To. Наприклад, для наведених вище прикладів це буде так:

Dim A(1To 5) As Integer   та          Dim A(1To 3,1 To 4) As Integer

Оголошення динамічного масиву даних у Visual Basic здійснюється за такими правилами:

  1. При оголошенні масиву його розмірність не вказується у дужках після імені масиву, наприклад:  Dim A() As Integer.

  2. Перед використанням масиву перепризначається його розмірність за допомогою оператора ReDim, наприклад:  ReDim A(1To 5).   При черговому перепризначенні розмірності масиву вміст елементів масиву може втрачатись. Щоб цього не сталось, використовують ключове слово Preserve. Наприклад: ReDim  Preserve A(1To 5).

  3. Після завершення роботи з динамічним масивом потрібно звільнити пам’ять, виділена для масиву. Для цього використовують команду Erase. Наприклад: Erase A.

Як собі уявити багатовимірний масив даних? Уявіть собі двовимірний масив оцінок студентів 1 курсу з усіх предметів за 1-й семестр. Третім виміром може бути номер семестру, четвертим - номер курсу, п’ятим  – назва факультету і т.д. Це буде багатовимірна таблиця даних. У сучасних сховищах даних дані якраз і зберігаються у багатовимірних таблицях. Звичайно, дані у пам’яті комп’ютера зберігаються не в якихось там спеціальних таблицях, а у послідовних комірках, але програма при їх опрацюванні розуміє де, наприклад, завершується перший рядок двовимірного масиву завдяки зробленому опису масива.

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

Типовими діями з масивами є такі:

  • заповнення масиву даними;

  • знаходження найбільшого (найменшого значення);

  • знаходження середнього  значення;

  • впорядкування елементів масиву за зростанням (за спаданням) тощо.

Завдання 2. Розробити додаток, в якому у двовимірний масив вводяться дані і обчислюється максимальне, середнє  значення та сума елементів масиву з застосуванням масиву із фіксованими межами.

1. Для розробки такого додатку активізуйте новий проект  Visual Basic,   створіть  форму з 3 команд­ними  кнопками (Рис.26.1)  з відповідними їх властивостями:

Cominandl  — Заповнення елементів масиву (Caption), cmdMas (Name);

Command2  — Розрахувати (Caption), cmdRezult (Name);

Command3  — Вихід (Caption), cmdExit (Name).

2. Збережіть форму з ім’ям F_Масив у власній папці на сервері.

3. Далі створіть стандартний модуль (команди Project, Add Module, New, Открыть) і введіть такий код (Рис.26.2):

Option Base 1 'зміна нумерації індексів масиву

Public A(5,2) As Double  'масив доступний у всіх процедурах проекту

4. Збережіть модуль з ім’ям Mod_Масив у своїй  папці на сервері.

5. Після цього закрийте вікно Codeі у формі двічі клацніть  на кнопці Заповнення елементів масиву, завдяки чому відкривається вікно коду процедури обробки події (клацання на командній кнопці) СmdMas_Click(), в якій створіть такий код (Рис.26.3):

Сls   ‘Очищення форми

Dim i,j As Integer

Povid$= "Bведіть значення елементів масиву"

For  і = 1 То 5

For j=1То2

A(i,j) = Val(InputBox(Povid$))

Print A(i,j)

Next j

Next і 

6. Для створення наступної процедури обробки  події клацання  на кнопці Розрахунок активізуйте об’єкт cmdRezuItіз переліку об’єктів у вікні Code. Завдяки цьому відкривається процедура cmdRezult_CIick(), в якій створіть такий код (Рис.26.4):

Private Sub cmdRezult_CIick()

Dim S, SZ, Max As Double   ‘оголошення змінних

Dim i, j As Integer

Cls

Print "Масив А:"

Мах = А(1,1)    ‘присвоєння значення першого елемента змінній Мах

S=0

For і = 1 To 5

For j  = 1 To 2

S = S + A(i,j)      обчислення  суми

If A(i, j) > Max Then Max = A(i, j)

Print А(i, j)

Next j

Next і

Print “Максимальне значення =”; Max

SZ=S/10

SZ=Round(SZ,2) ‘середнє значення, заокр. До двох знаків післі коми

Print “Середнє значення =”; SZ

Print Сума всіх елементів =; S

End Sub

Зверніть увагу на той факт, що опис масиву у цій процедурі не робиться, тому що цей масив має відповідний опис у стандартному модулі цього проекту, а тому може використовуватись без опису у всіх процедурах цього проекту.

7. Для створення наступної процедури обробки  події клацання  на кнопці Вихідактивізуйте об’єкт cmdExit із переліку об’єктів у вікні Code. Завдяки цьому відкривається процедура cmdExit_CIick(), в якій створіть такий код (Рис.26.5): End.

8. Збережіть цей проект у своїй папці на сервері з ім’ям Proj_Масив.

9. Запустіть проект на виконання.

  • У вікні форми натисніть кнопку Заповнення елементів масиву і у вікні введення даних надрукуйте за допомогою клавіатури довільні числа  (у даному випадку їх 10). Натискайте  клавішу Enter після введення у текстове поле кожного числа. Спостерігайте за виведенням чисел у форму.

  • Далі у вікні форми натисніть кнопку Розрахувати. Спостерігайте за виведенням обчислених значень  у форму. Форма матиме вигляд, подібний до зображеного на рис. 23.6.

  • Далі у вікні форми натисніть кнопку Вихід. Додаток буде закрито.

Завдання 3. Розробити додаток, в якому у двовимірний масив вводяться дані і обчислюється максимальне, середнє  значення та сума елементів масиву із застосуванням динамічного масиву.

Можна відредагувати стандартний модуль і процедури подій у попередньому проекті Proj_Масив.vbp, попередньо зберігши проект під новим ім’ям, або ж розробити новий проект як зазначено далі.

1. Для розробки такого додатку активізуйте новий проект  Visual Basic,   створіть  форму з 3 команд­ними  кнопками  (аналогічно до зображених на Рис.26.1 і так само розміщених) з відповідними їх властивостями:

Cominandl  — Заповнення елементів масиву (Caption), cmdMas (Name);

Command2  — Розрахувати (Caption), cmdRezult (Name);

Command3  — Вихід (Caption), cmdExit (Name).

2. Збережіть форму з ім’ям F_Масив_D у своїй папці на сервері.

3. Далі створіть стандартний модуль (команди Project, Add Module, New, Открыть) і введіть такий код (Рис.26.7):

Option Base 1 ‘зміна нумерації індексів масиву

Option Explicit ‘nіkmrb zdybq jgbc pvіyyb[

Public A() As Double  ‘масив доступний у всіх процедурах

Public m, n As Integer

4. Збережіть модуль з ім’ям Mod_Масив_D у папці Мои документы локального комп’ютера.

5. Після цього закрийте вікно Code і у формі двічі клацніть  на кнопці Заповнення елементів масиву, завдяки чому відкривається вікно коду процедури обробки події (клацання на командній кнопці) СmdMas_Click(), в якій створіть такий код (Рис.26.8):

Private Sub СmdMas_Click()

Dim i,j As Integer

Cls  ‘Очищення форми

n = Val(InputBox("Задайте кількість рядків"))

m = Val(InputBox("Задайте кількість cтовпців"))

ReDim A(m, n)

Povid$ = "Bведіть значення елементів масиву"

For і = 1 To m

For j = 1 To n

A(і, j) = Val(InputBox(Povid$))

Print A(і, j)

Next j

Next і

End Sub  

6. Для створення наступної процедури обробки  події клацання  на кнопці Розрахунок активізуйте об’єкт cmdRezuItіз переліку об’єктів у вікні Code. Завдяки цьому відкривається процедура cmdRezult_CIick(), в якій створіть такий код (Рис.26.9):

Dim S, SZ, Max As Double   ‘оголошення змінних

Dim i,j As Integer

Cls

Print "Масив А:"

Мах = А(1,1)   ‘присвоєння значення першого елемента змінній Мах

S=0

For і = 1 To m

For j  = 1 To n

S = S + A(i,j)  ‘обчислення  суми

If A(i, j) > Max Then

Max = A(i, j)  ‘порівняння значень змінної Max

‘і значення поточного елемента

End If

Print А(i, j)

Next j

Next і

Print "Максимальне значення ="; Max

SZ=S/(m*n)

SZ=Round(SZ,2) ‘середнє значення заокр. до двох знаків після коми

Print "Середнє значення ="; SZ

Print "Сума всіх елементів ="; S

End Sub

7. Для створення наступної процедури обробки  події клацання  на кнопці Вихідактивізуйте об'єкт cmdExit із переліку об’єктів у вікні Code. Завдяки цьому відкривається процедура cmdExit_CIick(), в якій створіть такий код (Рис.26.4): End.

8. Збережіть цей проект у папці Мои документы локального комп’ютера з ім’ям Proj_Масив_D.

9. Запустіть проект на виконання.

  • У вікні форми натисніть кнопку Заповнення елементів масиву і у вікні введення даних надрукуйте за допомогою клавіатури  кількість рядків 2 і кількість стовпців 2, а далі введіть довільні числа  (у даному випадку їх 4). Натискайте  клавішу Enter після введення у текстове поле кожного числа. Спостерігайте за виведенням чисел у форму.

  • Далі у вікні форми натисніть кнопку Розрахувати. Спостерігайте за виведенням обчислених величин  у форму.

  • У вікні форми натисніть кнопку Вихід. Додаток буде закрито.

10. Щоб надати розробленому проекту статусу незалежного додатку, потрібно зберегти цей проект як виконуваний (скомпільований файл) з розширенням ЕХЕ. Для цього потрібно у меню File вікна редактора Visual Basic  клацнути на команді Make Proj_ Масив_D.exe і вказати місце збереження та ім’я файлу. Збережіть додаток у вашій власній папці на сервері. Виконайте тестування розробленого додатку.

Завдання 4. Зробіть висновки. Запропонуйте свої варіанти розробки додатків. Захистіть виконану роботу.

Перелік питань  до захисту практичної роботи

  1. Що таке масив у Visual Basic?

  2. Що таке „елемент масиву”, „індекси елементу масиву”?

  3. Які різновиди масивів існують і чим вони відрізняються?

  4. Який синтаксис має опис масиву з фіксованими межами у Visual Basic?

  5. Який синтаксис має опис динамічного масиву  у Visual Basic?

  6. Як зробити масив доступним для всх процедур проекту у Visual Basic?

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

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

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

  10. Який засіб використовувався для введення даних у проектах цієї практичної роботи?

  11. Яку структуру має оператор циклу, що застосовувався при роботі з масивами?

  12. Яке призначення має команда Еrase прироботі з динамічними масивами?

  13. Яка команда використовується для призначення розмірності динамічного массиву?

  14. Як задаються межі змінної –лічильника циклу при роботі з динамічними масивами?

  15. Чи можуть  індекси елементів масиву бути дійсними числами?

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