Практична робота на тему Visual Basic, Розробка додатків з використанням у обчислювальному процесі масивів
« Назад ПРАКТИЧНА РОБОТА Тема: ”VisualBasic. Розробка додатків, що реалізують обчислювальний процес з масивами.” Мета: навчитись використовувати засоби Visual Basic для розробки додатків з використанням у обчислювальному процесі масивів. Хід роботиЗапишіть у зошит тему і мету роботи. Складіть звіт виконання практичної роботи. Програмний код процедур охайно запишіть у звіті. Завдання 1. Уважно вивчіть теоретичні відомості. Найнеобхідніше занотуйте у звіті. Теоретичні відомості Часто доводиться обробляти великі групи однотипних даних. У програмах дані зберігаються у змінних. Масив — це впорядкована група змінних одного типу, об'єднаних одним ім’ям. Змінні масиву називають елементами масиву. Кількість елементів у масиві називають розмірністю масиву. У масиві за замовчуванням всі елементи пронумеровані, починаючи з нуля. У програмі перед створенням масив оголошують, при цьому залежно від місця оголошення масив може бути як локальним, так і глобальним. Якщо розмірність масиву фіксована, то це масив із фіксованими межами. У випадку коли розмірність масиву змінюється (чи визначається) у програмі створюють динамічний масив. Для оголошення масиву із фіксованими межами використовують таку конструкцію: Dim <ім'я масиву> (<число1>[, <число2>,...,<числоN>)] [As <тип даних>], де ім'я масиву — ім'я змінної типу «масив»; число1 — розмір масиву (число рядків); число2 — розмір масиву (число стовпців), і т.д.; тип даних — тип даних масиву, за замочуванням — тип Variant. Кожен елемент масиву має свій набір індексів (що визначає його місцерозташування в масиві). У одновимірному масиві кожний елемент має один індекс (i) – ціле число, яке є порядковим номером цього елемента у масиві.У двохвимірному масиві, який можна уявити як двохвимірну таблицю, набір індексів складається з номера рядка та номера стовпця (i,j), причому нумерація починається з 0, що не дуже логічно. Як бачимо, набір індексів складається з індексу по кожному виміру масива. Наприклад, елементи одновимірного масиву А із п'яти елементів мають такі індекси:
Оголошення такого масиву у процедурі обробки події має вигляд: Dim A(4) As Integer ‘тип змінної може бути іншим Елементи двовимірного масиву, що складається із трьох рядків і чотирьох стовпців, характеризуються такими індексами:
Оголошення такого масиву у процедурі обробки події має вигляд: 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 курсу з усіх предметів за 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. Запустіть проект на виконання.
Завдання 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. Запустіть проект на виконання.
10. Щоб надати розробленому проекту статусу незалежного додатку, потрібно зберегти цей проект як виконуваний (скомпільований файл) з розширенням ЕХЕ. Для цього потрібно у меню File вікна редактора Visual Basic клацнути на команді Make Proj_ Масив_D.exe і вказати місце збереження та ім’я файлу. Збережіть додаток у вашій власній папці на сервері. Виконайте тестування розробленого додатку.
Завдання 4. Зробіть висновки. Запропонуйте свої варіанти розробки додатків. Захистіть виконану роботу.
Перелік питань до захисту практичної роботи
З повагою ІЦ "KURSOVIKS"! |