Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка БПО часть 2.doc
Скачиваний:
2
Добавлен:
08.05.2019
Размер:
398.85 Кб
Скачать

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

(з індивідуальним завданням)

Тема: Цикли і масиви, заповнення та обробка масивів даних (одновимірні масиви).

Мета: Закріпити знання про опис масивів, введення - виведення масивів, поелементне опрацювання масивів. Навчитися складати і реалізовувати на комп’ютері програми для роботи з одновимірними масивами.

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

Розв’язання задач засобами візуального програмування мовою VBA, як правило, має такі етапи:

1. постановка задачі;

2. побудова математичної моделі та розробка контрольного прикладу;

3. побудова алгоритму;

4. розробка структури даних;

5. розробка інтерфейсу роботи програми з користувачем;

6. складання коду програми;

7. реалізація проекту на комп’ютері;

8. тестування та аналіз отриманих результатів

Масив – це упорядкований набір однотипних елементів із одним ім’ям.

Кожен елемент масиву має свій порядковий номер – індекс. Таких номерів може бути декілька. Кількість індексів визначає вимірність масиву. Бувають масиви одновимірні (вектори), наприклад: А(1), А(2), А(3), … А(N), двовимірні (матриці), наприклад, А2(1,1); А2(1,2); А2(1,3); … , А2(4,5), тривимірні та багатовимірні. Кожен індекс може набувати різних значень з визначеного діапазону.

Мінімальне і Максимальне значення діапазону індексу називаються граничною парою. Кількість різних значень індексу визначає кількість елементів N в масиві. Так, для одновимірного масиву

N = Максимальне – Мінімальне +1

Оголошення одновимірного масиву здійснюється оператором Dim двома способами:

Dim ім’я_масиву ([Вимірність]) [As імя_типу] [, … ]

Dim <Ім’я_змінної(Nmax)> As <Тип_елементів>

Dim <Ім’я_змінної(Nmin To Nmax )> As <Тип_елементів>

Ця інструкція використовується для оголошення масивів на рівні процедури або функції. Оголошення масиву відрізняється від оголошення звичайної змінної тим, що при оголошенні масиву після імені змінної вказується вимірність.

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

Dim <Ім’я_змінної()> As <Тип_елементів>

В подальшому перед першим використанням масиву необхідно перевизначити його розмір і вимірність за допомогою оператора ReDim.

ReDim <Ім’я_змінної(N)> [As <Тип_елементів>]

Після того, як роботу з динамічним масивом закінчено, бажано звільнити пам’ять, яку він займав. Це виконують за допомогою оператора очищення пам’яті:

Erase <Ім’я_змінної>

Іноді при виконанні програми буває необхідним визначити розмір масиву. Для цього в VBA існує дві функції, а саме:

LBound (ім’я_масиву[, Номер_виміру])

UBound (ім’я_масиву[, Номер_виміру])


Функція LBound дозволяє одержати нижню межу масиву, а UBound – верхню.

За замовчуванням нижня межа дорівнює нулю, але її можна змінити за допомогою директиви Option Base 1 – в такому випадку нижня межа дорівнює 1.

Завдання: Написати текст (код) програми обробки одновимірного масиву та спроектувати форму до задачі за індивідуальним варіантом. Виконати розрахунки по розробленому проекту та зробити висновки.

Варіант № ____

Умова_задачі__________________________________________________ _____________________________________________________________ _____________________________________________________________ _____________________________________________________________ _____________________________________________________________

Підготовча робота: Ознайомитися з умовою задачі. Вибрати спосіб обробки елементів масиву згідно вашого варіанту.

Розробити алгоритм (блок-схему) задачі. Перевірити виконання алгоритму на контрольному прикладі. Підготовити робочий лист для відображення умови задачі і введення інформації - елементів масиву та їх кількість. Передбачити виведення на екран монітора результатів обробки масиву за допомогою вікна повідомлень – MsgBox та на робочий лист Excel. Написати код проекту відповідно до умови задачі.

Хід виконання роботи

Метод 1. Обчислення масиву за допомогою створених кнопок на листі Excel.

1. Завантажити програму MS Excel;

2. Вибрати робочий Лист1. Змінити назву на ярлику на „Одновимірний_масив”;

3. На робочому листі встановити дві командні кнопки „Виконати” та „Стерти”;

4. Ввести розроблений, в розділі Підготовча робота код програми. Для введення коду програми двічі клацніть кнопку „Виконати”, відкриється редактор коду для цієї кнопки;

5. Перейдіть знову на лист1 робочої книги та двічі клацніть командну кнопку „Стерти” і введіть код процедури для очищення усього робочого листа;

6. Перевірте роботу програми для розробленого тесту;

7. Зробіть висновки.

Зміст протоколу

        1. Постановка задачі.

        2. Контрольний приклад (тест).

        3. Схема алгоритму (блок – схема).

        4. Код програми.

        5. Результати обробки масиву.

Метод 2. Обчислення масиву за допомогою форми.

Зразок форми UserForm1

Одновимірний масив

Таблиця властивостей форми (зразок)

Номер об’єкта на формі та його назва

Властивість

Значення

Примітки

  1. Заголовок форми

Caption

Одновимірний масив

Режим конструктора

  1. Label1 (надпись)

Caption

Повний зміст задачі

Програмний режим

  1. Label2 (надпись)

Caption

Розмір масиву

Режим конструктора

  1. Label3 (надпись)

Caption

Введення 1-го елемента

Режим конструктора

  1. TextBox1 (Поле)

Text

  1. TextBox2 (Поле)

Text

  1. CommandButton1 (Кнопка)

Caption

OK

Режим конструктора

  1. Frame1 (Рамка)

Caption

Введення масиву

Режим конструктора

  1. CommandButton3 (Кнопка)

Caption

ВИХІД

Режим конструктора

  1. TextBox3 (Поле)

Text

MultiLine

Enabled

True

False

Режим конструктора

  1. Frame2 (Рамка)

Caption

Результат обробки масиву

Режим конструктора

  1. CommandButton2 (Кнопка)

Caption

ВИКОНАТИ

Режим конструктора

  1. Label4 (Надпись)

Caption

Програма створена с-т Гр __ <ПІБ>

Програмний режим

Приклад фрагмента кода програми для введення елементів А(і) одновимірного масиву даних в пам'ять комп’ютера, користуючись формою:

Option Explicit

Dim I As Integer, N As Integer

Dim A() As Single

Private Sub CommandButton1_Click()

N = TextBox1.Text

Range("C3").Font.Size = 14

Range("C3") = N

TextBox1.Visible = False

ReDim Preserve A(N)

A(I) = TextBox2.Text

Cells(5, I) = A(I)

Cells(5, I).BorderAround, LineStyle:=xlDouble

Cells(5, I).Font.Size = 14

Cells(5, I).Font.Color = RGB(0, 0, 220)

If I < N Then

I = I + 1

TextBox2.Text = ""

TextBox2.SetFocus

Label3.Caption = "Від " & I & "-го елемента"

Else

TextBox2.Text = "Кінець вводу"

CommandButton2.Visible = True

CommandButton3.Visible = True

End If

End Sub

Private Sub UserForm_Initialize()

Sheets("Лист1").Select

Cells.Delete

Range("A1") = "Лабораторна робота № 19 Гр. (шифр) ПІБ (студента)"

Range("A2").Font.Size = 14

Range("A2").Font.Color = RGB(200, 0, 0)

Range("A2") = "Вхідний одновимірний масив"

Range("A3") = "Ромір масиву"

Range("C3").BorderAround , LineStyle:=xlDouble

Label4.Caption = "Умова задачі:…………………………… "

I = 1

CommandButton2.Visible = False

CommandButton3.Visible = False

Frame2.Visible = False

Label4.Caption = "Програма створена студентом(кою) Гр. (шифр) ПІБ (студента)"

End Sub

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

          1. Що таке одновимірний масив?

          2. Перелічіть методи оголошення масиву.

          3. Як задати верхню межу масиву?

          4. Як задати нижню межу масиву?

          5. Що таке вимірність масиву?

          6. За допомогою якого оператора можна змінити нижню межу масиву?

          7. Які методи можна застосовувати для обчислення масивів?

          8. Опишіть як використовуючи оператор циклу For … Next організувати введення елементів масиву?

          9. Як задати верхню межу масиву?

24