Работа выполнена на украинском языке.
Мета: Формування навичок складання програм алгоритмів по обробці одномірних масивів на VBA в середовищі табличного процесора MS Excel .
Теоретичні відомості:
При використанні в програмі масивів їх треба описати в розділі описання змінних. Оператор, що описує одномірний масив А розміром 10 з елементами дійсного типу:
Dim a(10) As Single
При обробці одномірних масивів до 1-го елементу можна звернутися - a(1), до 2-го - a(2) і т.д. Однак більш доцільно обробляти елементи масиву в циклі, де до всіх елементів по-черзі звертаються - a(і), змінюючи в циклі значення змінної і від 1 до кількості елементів масиву.
Якщо треба, наприклад, підрахувати суму елементів масиву, то змінної що буде лічити суму до початку циклу дають значення 0 (s=0), а потім можна записати такий цикл:
For i = 1 To n
s = s + a(i)
Next i
Для підрахунку добутку початкове значення беруть 1 (р=1), а цикл виглядатиме так:
For i = 1 To n
р = р * a(i)
Next i
Для підрахунку кількості елементів, що задовольняють певної умові слід початкове значення кількості k взяти нульове (таких елементів немає), а потім в циклі перевіряти кожен елемент масиву і збільшувати k при виконанні встановленої умови. Наприклад, розглянемо задачу підрахунку кількості елементів, значення яких не більше 5:
For i = 1 To n
If a(i)<=5 Then k=k+1
Next i
Після виконання роботи студент повинен знати:
Визначення алгоритму по обробці одномірних масивів та його запис у вигляді блок-схеми. Правила створення програми та запис на мові програмування VBA.
Після виконання роботи студент повинен вміти:
Записувати алгоритми по обробці одномірних масивів у вигляді блок-схеми. Створювати, зберігати, редагувати та запускати на виконання програми алгоритмів на мові програмування VBA.
Література:
- Глинський Я.М., Анохін В.Є., Ряжська В.А, Бейсик. QBasic i VBA. 4-те доп.вид. – Львів:Деол, СПД Глинський, 2004. – 160с.
- Хорев В.Д. Самоучитель программирования на VBA в Microsoft Office. Юниор, К., 2001
Приклад виконання роботи № 1:
Знайти максимальний елемент масиву А(10) та вказати його порядковий номер.
Пояснення до прикладу № 1 :
В програмі використані слідуючи змінні цілого типу:
- n – кількість елементів масиву. Хоча в завданні 10 елементів масиву А(10) зручніше кожен раз задавати їх кількість, щоб при перевірці програми не задавати велику кількість елементів масиву, а обмежитися 2-3 елементами. Якщо треба більше елементів ніж 10 змінити їх кількість можна в операторі опису змінних - Dim a(10) As Single;
- і - лічильник циклу, змінна буде брати значення від 1 до n з кроком 1 (тобто перебирати підряд всі елементи масиву);
- nmax – порядковий номер максимального елементу.
Також в програмі задається одномірний масив А розміром n (n<10), причому елементи масиву є змінні дійсного типу - Dim a(10) As Single. Дійсного типу задається змінна max, яка буде зберігати значення максимального елементу масиву.
При вводі елементів масиву в пам'ять ПК використаний цикл:
For i = 1 To n
a(i) = InputBox(i & " елемент ", "Ввод елементів масиву")
Next i
Цикл дозволяє вводити елементи по порядку з 1-го до n-го. В операторі вводу використаний пояснюючий текст: "Ввод елементів масиву" – виводиться в рядку заголовка та " елемент " – виводиться у вікні вводу для нагадування номера елемента масиву.
В задачах наведеного типу приймаємо, що шуканий (максимальний елемент є першим: max = a(1) та nmax = 1.
Далі відкриваємо ще один цикл, в якому будемо зрівнювати всі елементи масиву з вже прийнятим max і якщо знайдеться більший за max елемент масиву ми змінюємо значення max та nmax:
If a(i) > max Then max = a(i): nmax = i
Порядок набору, збереження та запуску програми:
- Створити файл MS Excel з ім’ям свого прізвища.
- Відкрити створений файл.
- Відкрити пункт меню Сервис – Макрос – Макросы…
- Записати імя макросу «Одномір_масив_номер варіанту» (пробіли в імені не допускаються). Клацнути кнопку Создать.
- З’явиться вікно редактора VBA, в якому слід набрати текст програми, наприклад:
- Запустити програму на виконання за допомогою пункту меню Run – Run Sub/UserForm або клавіші F5, або інструменту з зеленим трикутником.
- Після запуску програми зявляться вікна для вводу даних, треба записати значення вхідних даних (увага! Ставити десяткову кому, а не крапку!). Після набору числа натискати кнопку Ок.
Після завдання всіх вхідних даних має з’явитися вікно з результатом:
Після закриття вікна редактора VBA запустити програму на виконання можна через меню Сервис-Макрос-Макросы… Клацнути кнопку Выполнить.