Мова програмування Visual Basic
Visual Basic for Applications. Еволюція Visual Basic, основні різновиди, переваги, недоліки. Розробка користувальницького інтерфейсу Excel, опис. Проектування програмного модуля. Опис використаних операторів. Створення макросів в редакторі Visual Basic.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | украинский |
Дата добавления | 19.06.2021 |
Размер файла | 3,0 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
ЗМІСТ
ВСТУП
ГЛАВА 1. МОВА ПРОГРАМУВАННЯ VISUAL BASIC
1.1 Visual Basic for Applications
1.2 Еволюція Visual Basic
1.3 Основні різновиди Visual Basic
1.4 Переваги і недоліки
1.5 Мова програмування VISUAL BASIC в пакеті MC Excel
ГЛАВА 2. ПРОГРАМУВАННЯ НА VISUAL BASIC У ПАКЕТІ MC EXCEL
2.1 Математична модель задачі
2.2 Вхідні та вихідні дані
2.3. Розробка користувальницького інтерфейсу, її опис
2.4 Проектування програмного модуля
2.5 Робота програмного модуля
2.6 Опис використаних операторів
ГЛАВА 3. СТВОРЕННЯ МАКРОСІВ НА VBA
3.1 Створення макросів в редакторі Visual Basic
ГЛАВА 4. ВИРІШЕННЯКУБІЧНОГО РІВНЯННЯ НА VISUAL BASIC У ПАКЕТІ MC EXCEL
4.1 Завдання
4.2 Вхідні та вихідні дані
4.3 Проектування програмного модуля
4.4 Лістинг програми
4.5 Результи роботи програми
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ
ВСТУП
Microsoft Excel є потужною програмою електронних таблиць; більш того, це найбільш популярна на сьогоднішній день програма електронних таблиць. Однак можливості Excel не обмежуються лише роботою з таблицями даних. Багато користувачів, наприклад, не знають про те, що Excel є також повноцінної платформою для розробки призначених для користувача додатків. За знайомими засобами обробки електронних таблиць ховається потужна мова програмування - VBA (Visual Basic for Applications). [6, c.17]
Актуальність
Програмування на мові VBA не обмежується записом макросів. Практично будь-який користувач може навчитися писати програми на мові VBA, які вирішують найрізноманітніші завдання в Excel - від автоматичного виконання обчислень до створення системи для введення даних зі своїми екранними формами і з можливістю перевірки коректності набираються. [6, c.17]
Мета: дізнатися можливості програмування на Visual Basic for Applications в пакеті Mc Excel.
Завдання: На мові програмування VBA створити програму, за допомогою якої можна перетворити, підсумовувати і множити матриці.
Об'єктом вивчення є мова програмування Visual Basic.
Предметом вивчення є програма створена на VBA, яка вирішує кубічне рівняння.
Методи дослідження, Застосовані в даній роботі, полягають в основному не в вивченні способах рішень, а в самій роботі з даними мовою програмування.
Структура роботи: складається з двох основних частин. Це теоретична частина і практична частина. Теоретична частина містить теоретичні аспекти теми, і в практичній частині розглядається математична модель задачі, описуються вхідні і вихідні дані, а також можливі помилки і методи їх обробки. Наводиться структурна діаграма, яка відображає взаємозв'язок модулів програмного комплексу, зображується схема алгоритму, а також представлена для користувача форма.
ГЛАВА 1. МОВА ПРОГРАМУВАННЯ VISUAL BASIC
1.1 Visual Basic for Applications
Visual Basic for Applications (VBA, Visual Basic для додатків) - трохи спрощена реалізація мови програмуванняVisual Basic, вбудована в лінійку продуктів Microsoft Office (включаючи версії для Mac OS), а також в багато інших програмних пакети, такі як AutoCAD, SolidWorks, CorelDRAW, WordPerfect і ESRI ArcGIS. VBA покриває і розширює функціональність раніше використовувалися спеціалізованих макро-мов, таких як WordBasic. [15]
Visual Basic вважається хорошим засобом швидкої розробки прототипів програми, для розробки додатків баз даних і взагалі для компонентного способу створення програм, що працюють під управлінням операційних систем сімейства Microsoft Windows.
Можна стверджувати, що додаток, яке легко модифікувати, щоб воно відповідало необхідним вимогам, володіє більшою привабливістю. З цієї причини VBA зустрічається в додатках майже будь-якого виду - найпопулярніших до вузькоспеціалізованих. [8, c.27]
VBA має дуже багато спільного з VisualBasic, своїм старшим братом, призначеним для створення незалежних додатків. А раз мови схожі, ми можемо перенести більшу частину своїх навичок в програмуванні на VBA в VisualBasic. Однак слід пам'ятати про деякі дуже важливі відмінності.
В кінці 2001 року Visual Basic перетворили в абсолютно нову мову Visual Basic.NET. Зміни в основному були спрямовані на розширення можливостей і спрощення використання, сама мова відрізняється від VBА. Звичайно ж, можна обмежитися Visual Basic версій 5 і 6 - інструментами, які будуть працювати ще не один рік і які використовують один базовий мову програмування з VBА. Однак потрібно пам'ятати, що VBА і Visual Basic використовують різну систему створення і відображення форм.. Тому сьогодні потрібно говорити про класичний Visual Basic, його діалектах Visual Basic for Applications (VBA) і Visual Basic Scripting Edition (VBScript) і про мову для платформи.NET - Visual Basic.NET. [8, c.40]
1.2 Еволюція Visual Basic
На початку 90-х років Microsoft почала активну боротьбу за просування в маси своєї нової операційної системи Windows. Але, як відомо, користувачів працюють не з операційною системою, а з програмами, які працюють в її середовищі. Тому швидкість зміни платформи в основному визначається темпами появи відповідних прикладних програм.
Однак зміна ОС представляє серйозну проблему і для програмістів, так як їм потрібно було освоювати нову технологію розробки програм. В той момент існуючою думкою було те, що Windows пред'являє більш високі вимоги до кваліфікації програміста.
У 1991 році під гаслом «тепер і починаючі програмісти можуть легко створювати додатки для Microsoft» з'явилася перша версія нового інструментального кошти Microsoft Visual Basic. В той момент Microsoft досить скромно оцінювала можливості цієї системи, орієнтуючи її, перш за все, на категорію початківців і непрофесійних програмістів. Visual Basic 1.0 в той момент був схожий не на робочий інструмент, а на діючий макет майбутньої середовища розробки. Його принципове нововведення полягало в реалізації ідей подієво-керованого і візуального програмування в середовищі Windows, які досить радикально відрізнялися від класичних схем розробки програм. [7, c.6]
У 1992 - 1993 роках були випущені Visual Basic 2.0, середовище розробки якої стала простіше у використанні і працювала швидше, і Visual Basic 3.0 в версіях Standard і Professional. До всього іншого, до складу поставки додався движок для роботи з базами даних Access.
За загальним визнанням Visual Basic став родоначальником нового покоління інструментів, званих сьогодні засобами швидкої розробки програм.
Число Visual Basic- користувачів росло, причому багато в чому за рахунок величезної популярності її попередника - QuickBasic. При цьому Visual Basic швидко «мужнів», посилюючись за рахунок як розвитку середовища програмування, так і включення професійних елементів мови і проблемно-орієнтованих засобів. І до моменту випуску в 1995 році Visual Basic 4.0 ця система була вже визнаним і одним з найпоширеніших інструментів створення широкого класу додатків. [7, c.7]
У середині 1998 р вийшла Visual Basic 6.0. Після цього Microsoft різко змінила політику щодо мов сімейства Basic. Замість розвитку Visual Basic, був створений абсолютно нову мову Visual Basic.NET, перша версія якого з'явилася в 2001. Це принципово нову мову, що має, крім синтаксису, дуже мало схожого з VB 6.0; і відрізняючись від нього так само сильно, як свого часу VB відрізнявся від QBASIC. VB.NET відразу ж зайняв місце VB в Visual Studio, і на цьому розвиток класичного Visual Basic зупинилося.
У 2005 році вийшла нова версія Visual Basic, в комплекті Visual Studio. Порадувала вона новим інтерфейсом і можливостями. Мова заснований на Visual Basic.NET. Вона не була класичною версією VB.
В кінці 2007 Microsoft випустила нову версію Visual Basic - Visual Basic 2008, яка також була заснована на Visual Basic.NET. [15]
1.3 Основні різновиди Visual Basic
Класичний Visual Basic (версії 5-6). Ця мова дуже сильно прив'язаний до свого середовища розробки і до операційної системи Windows, будучи виключно інструментом написання Windows-додатків. Прив'язка до середовища полягає в тому, що існує велика кількість засобів, призначених для допомоги і зручності програмування: вбудований відладчик, перегляд змінних і структур даних на льоту, вікно налагодження, підказка при наборі тексту програми (IntelliSense). Всі ці переваги роблять марним і навіть неможливим використання Visual Basic поза середовищем розробки, наприклад в звичайному текстовому редакторі.
Visual Basic for Applications(VBA). Це засіб програмування, практично нічим не відрізняється від класичного VisualBasic, яке призначене для написання макросів та інших прикладних програм для конкретних додатків. Найбільшу популярність здобув завдяки своєму використання в пакеті MicrosoftOffice. Широке поширення VisualBasicforApplications в поєднанні з самого початку недостатньою увагою до питань безпеки призвело до широкого поширення макровірусів.
Visual Basic Scripting Edition(VBScript). Скриптова мова, що є кілька усіченої версією звичайного Visual Basic. Використовується в основному для автоматизації адміністрування систем Windows, а також для створення сторінок ASP і сценаріїв для Internet Explorer. [14]
1.4 Переваги і недоліки
Переваги:
Висока швидкість створення додатків з графічним інтерфейсом для MS Windows.
Простий синтаксис, що дозволяє дуже швидко освоїти мову.
Можливість компіляції, як в машинний код, так і в P-код (за вибором програміста). У режимі налагодження програма завжди (незалежно від вибору) компілюється в P-код, що дозволяє припиняти виконання програми, вносити значні зміни в вихідний код, а потім продовжувати виконання: повна перекомпіляція і перезапуск програми при цьому не потрібно.
Захист від помилок, пов'язаних із застосуванням покажчиків і доступом до пам'яті. Цей аспект робить Visual Basic додатки більш стабільними, але також є об'єктом критики.
Можливість використання більшості WinAPI функцій для розширення функціональних можливостей програми. Дане питання найбільш повно досліджений Деном Епплманом, який написав книгу «Visual Basic Programmer's Guide to the Win32 API».
Недоліки:
Підтримка операційних систем тільки сімейства Windows і Mac OS X (Виняток - VB1 for DOS).
Відсутність механізму успадкування реалізації об'єктів. Існуюче в мові успадкування дозволяє успадковувати тільки інтерфейси, але не їх реалізацію.
Вимагає встановлену msvbvmXX.dll для роботи програми.
Низька швидкість роботи, обумовлена тим, що практично всі вбудовані функції мови реалізовані через бібліотеку часу виконання (runtime library), яка, в свою чергу, виробляє багато «зайвої» роботи з перевірки або перетворення типів. [15]
1.5 Мова програмування VISUAL BASIC в пакеті MC Excel
Програма MS Excel, будучи лідером на ринку програм обробки електронних таблиць, визначає тенденції розвитку в цій галузі. MS Excel можна використовувати для спрощення різних математичних операцій, складних розрахунків. Вона дає можливість будувати, діаграми різного типу на основі даних таблиць, створювати бази даних і працювати з ними, ставити чисельний експеримент і ін. Одним з найважливіших функціональних розширень програми, призначених для професіоналів, є вбудована в Excel середовище програмування Visual Basic (VBA) для вирішення прикладних завдань. [4, c.46]
Починаючи з версії 5.0 в програму Excel включений спеціальну мову програмування, який отримав назву Visual Basic for Applications (VBA). [10, c.40]
Введення досить потужного мови програмування в Excel робить цю програмну платформу вельми привабливою для професіоналів, які займаються розробкою спеціалізованих прикладних систем. [1, c.6]
Макросом (або командою) Excel називається послідовність операції, забезпечена ім'ям, яка може бути виконана автоматичний. Програма, написана на VB в Excel, задовольняє цим визначенням, тому її можна називати макросом.
Visual Basic вже давно став одним з найбільш популярних інструментів для розробників програмного забезпечення. І зараз вже призабули колишні палкі дискусії про його достоїнства і недоліки, коли професіонали вирішували - приймати на озброєння цей інструмент чи ні. Відзначимо лише, що критика VB лунала (і продовжує лунати) з декількох напрямків: з позицій користувачів інших засобів Microsoft, інших мовних систем і, нарешті, конкуруючих систем класу RAD, в першу чергу Delphi. [12]
ГЛАВА 2. ПРОГРАМУВАННЯ НА VISUAL BASIC У ПАКЕТІ MC EXCEL
2.1 Математична модель задачі
В роботі розроблена програма на мові програмування VBA в пакеті Microsoft Excel, що дозволяє користувачеві виконувати деякі операції над матрицями. Введення вихідних даних повинен здійснюватися з використанням користувальницької форми.
Матриця являє собою прямокутну таблицю чисел, що містить m рядків однакової довжини (або n стовпців однакової довжини). Матриця записується у вигляді
або, скорочено А =, Де i = 1, m (тобто i = 1,2,3,..., m) - номер рядка, j = 1, n (тобто j = 1,2,3,..., n) - номер стовпчика. Матрицю А називають матрицею розміру m х nb і пишуть. числа, Складові матрицю, називають її елементами.
Матриці широко застосовуються в математиці для компактного запису систем лінійних алгебраїчних або диференціальних рівнянь. В цьому випадку, кількість рядків матриці відповідає числу рівнянь, а кількість стовпців - кількості невідомих. В результаті рішення систем лінійних рівнянь зводиться до операцій над матрицями. [12]
Матриці допускають такі операції алгебри:
Транспонування матриць;
Знаходження оберненої матриці;
твір матриць;
множення матриць на скаляр;
сума матриць і багато іншого. Але за основу ми взяли саме ці операції.
Транспонована матриця - матриця, Отримана з вихідної матриці A заміною рядків на стовпці.
Формально, транспонована матриця для матриці A розмірів - матриця розмірів, певна як AT [i, j] = A [j, i].
Для деяких квадратних матриць можна знайти так звану зворотну матрицю. Зворотній матриця A - 1 така, що якщо помножити матрицю на неї, то вийде одинична матриця: AA - 1 = E.
твором матриці на число називається матриця , Що виходить з множенням всіх її елементів на : .
Сумою двох матриць і однакового розміру називається матриця того ж розміру, елементи якої знаходяться за формулою . позначається.
твором матриці на матрицю називається матриця , Елементи якої знаходяться за формулою . позначається.
2.2 Вхідні та вихідні дані
Вхідні дані: розмірність матриці.
Вимоги до вхідних даних:
Введення вихідних даних здійснюється у відповідні комірки поля користувальницької форми.
Передбачається перевірка на допустимість вихідних даних і повторення введення при помилкових даних.
Виводяться перетворені матриці.
Вимоги до вихідних даних:
Всі вихідні дані виводяться на лист Excel в будь-яку область.
2.3 Розробка користувальницького інтерфейсу, її опис
На рісунках1, 2 показані інтерфейси процедури «Створення матриці». Для кожної конкретної операції виходить своєрідний інтерфейс, в залежності від вхідних даних.
Наприклад, для транспонування матриці виводиться наступне вікно:
Мал. 1 - Інтерфейс модуля «Створення матриці» для транспонування матриці
- Поле для введення розмірності матриці.
- Поле для зазначення необхідності автоматичного заповнення матриці випадковими числами.
- Кнопка для створення матриць.
- Кнопки «дії» для виконання даної операції або скасування його.
Для операцій знаходження зворотної матриці, суми і твори матриць вікно «створення матриць» виглядає аналогічно. Відрізняються лише сума і твір матриць тим, що в поле для введення розмірності виходять осередки для заповнення двох матриць.
На малюнку 2 показаний призначений для користувача інтерфейс для операції множення на скаляр
Мал. 2 - Інтерфейс модуля «Створення матриці» для множення матриці на скаляр
- Поле для введення розмірності матриці.
- Поле для зазначення необхідності автоматичного заповнення матриці випадковими числами.
- Поле для введення числа, на яке буде множитися дана матриця.
- Кнопка для створення матриць.
- Кнопки «дії» для виконання даної операції або скасування його.
2.4 Проектування програмного модуля
Тут cb_CreateMatrix_Click () - процедура, що спрацьовує при натисканні кнопки «Створення матриці», яка приймає вихідні дані для створення матриці (розмірність матриці, кількість матриць, автоматичне заповнення випадковими числами) і виводить результат роботи на лист Excel.
cb_Transposing_Click () - процедура, що спрацьовує при натисканні кнопки «Транспонування», використовується для обчислення транспонованою матриці і виведення результату на лист Excel.
cb_Inverse_Click () - процедура, що спрацьовує при натисканні кнопки «Зворотній матриця», використовується для обчислення зворотної матриці і виведення результату на лист Excel.
cb_Scalar_Click () - процедура, що спрацьовує при натисканні кнопки «Множення на скаляр», використовується для множення матриці на скаляр і виведення результату на лист Excel
cb_Summa_Click () - процедура, що спрацьовує при натисканні кнопки «Сума матриць», використовується для підсумовування двох матриць і виведення результату на лист Excel.
cb_Multiplication_Click () - процедура, що спрацьовує при натисканні кнопки «Твір матриць», використовується для множення двох матриць і виведення результату на лист Excel.
2.5 Робота програмного модуля
У курсовому проекті розроблена програма, що дозволяє користувачеві створювати матриці довільної розмірності, і виконувати операції над ними, такі як транспонування матриці, обчислення оберненої матриці, множення матриці на скаляр, додавання і множення матриць. Введення вихідних даних здійснюється з використанням користувальницької форми.
При розробці даного програмного модуля використовуються програмні модулі, з використанням мови проектування програм Visual Basic for Application.
Транспонована матриця:
Мал. 3
Зворотна матриця:
при виконанні наступних операції, програма виводить запит на очистку листа від попередніх результатів.
Мал. 4
Мал. 5
При введенні числа рядків, число стовпців виводиться автоматичний (те ж саме число), так як при цій операції матриця повинна бути квадратної.
Множення на скаляр:
Мал. 6
Сума матриць:
Мал. 7
При виконанні операції підсумовування, матриці повинні бути однакової розмірності. Тому при введенні параметрів першої матриці, друга заповнюється автоматичний.
Твір матриць:
Мал. 8
visual basic excel макрос
У функції твори, при введенні числа рядків першої матриці, автоматичний заповнюється число стовпців інший.
При роботі з програмою ніяких відхилень не виявлено, кожна функція правильно виконує всі операції, передбачена обробка помилок, що дозволяє запобігати аварійну зупинку програми.
Таким чином, можна зробити висновок про те, що поставлене завдання виконано:
- на мові програмування VBA створена програма, за допомогою якої можна перетворити, підсумовувати і множити матриці.
- введення вихідних даних здійснюється з використанням вікна діалогу користувальницької форми.
Програмний модуль дозволяє:
- вводити значення в призначену для користувача форму в ручному режимі;
- заповнювати значення матриці автоматичний;
- створювати відразу дві матриці для випадків підсумовування, множення матриць і дозволяє автоматичний заповнювати їх параметри.
2.6 Опис використаних операторів
При розробці програми використовувалися різні стандартні оператори та функції мови програмування VBA.
Оператор умовного переходу If Then Else. синтаксис:
If Умова Then [Інструкції] [Else Інструкції else]
Якщо умова приймає значення True, то виконується інструкція (або інструкції) після Then, якщо False, то виконується інструкція (або інструкції) після Else. Гілка Else є необов'язковою.
Допускається також використання форми синтаксису у вигляді блоку:
If Умова Then
[Інструкції]
[ElseIf Умова-n Then
[Інструкції elseif]...
[Else
[Інструкції else]]
EndIf
Інструкція Dim призначена для опису типу даних змінної на рівні модуля або процедури, а також для опису об'єктного типу змінних, синтаксис:
Dim Ім'я змінної Аs Тип змінної [Ім'я змінної Аs Тип змінної]
Dim - це область видимості змінної. У VBA передбачено 4 ключових слова для визначення області видимості змінних:
Dim - використовується в більшості випадків. Якщо змінна оголошена як Dim в області оголошень модуля, вона буде доступна в усьому модулі, якщо в процедурі - тільки на час роботи цієї процедури;
У нашій роботі ми використовували даний оператор найчастіше для зберігання об'єктних змінних (зокрема об'єкта Range, в якому зберігалися діапазони осередків).
В основному, робота, яка виконується в VBA, пов'язана з управлінням осередками і діапазонами на робочих аркушах, що і є основним призначенням електронних таблиць.
Об'єкт Range міститься в об'єкті Worksheet і складається з одного осередку або діапазону осередків на окремому робочому аркуші. Мабуть, найбільш часто використовуваний тут - це об'єкт Range. Цей об'єкт може представляти одну клітинку, кілька осередків (в тому числі несуміжні клітинки або набори несуміжних осередків) або цілий лист. Властивість Offset цього об'єкта використовується для звертання до комірок щодо початкової позиції.
Для обробки помилок в VBA і VB є спеціальний оператор On Error. Його завдання при виникненні помилки передати управління в те місце (процедура або шматок коду), в якому це чекають. У нашому випадку оператор використовувався для виведення повідомлення про помилку на введенні даних при створенні матриць, і при операціях з ними.
Для заповнення матриць випадковими числами використовувалася функція Rnd (Random) служить для генерації випадкових чисел. Функція Rnd повертає значення в діапазоні від 0 до 1 типу Single, що містить випадкове число. Для округлення і приведення в цілочисельний варіант використовувалася функція CInt.
ГЛАВА 3. СТВОРЕННЯ МАКРОСІВ НА VBA
Всім нам доводиться - кому рідше, кому частіше - повторювати одні й ті ж дії і операції в Excel. Будь-яка офісна робота передбачає якусь "рутинну складову" - одні й ті ж щотижневі звіти, одні і ті ж дії по обробці даних, що надійшли, заповнення одноманітних таблиць або бланків і т.д. Використання макросів і призначених для користувача функцій дозволяє автоматизувати ці операції, перекладаючи монотонну одноманітну роботу на плечі Excel. Іншим приводом для використання макросів у вашій роботі може стати необхідність додати в Microsoft Excel відсутні, але потрібні вам функції. Наприклад функцію збірки даних з різних листів на один підсумковий лист, рознесення даних назад, висновок суми прописом і т.д.
Макрос - це запрограмована послідовність дій (програма, процедура), записана на мові програмування Visual Basic for Applications (VBA). Ми можемо запускати макрос скільки завгодно раз, змушуючи Excel виконувати послідовність будь-яких потрібних нам дій, які нам не хочеться виконувати вручну.
В принципі, існує безліч мов програмування (Pascal, Fortran, C ++, C #, Java, ASP, PHP...), але для всіх програм пакета Microsoft Office стандартом є саме вбудовану мову VBA. Команди цієї мови розуміє будь-який офісний додаток, будь то Excel, Word, Outlook або Access.
3.1 Створення макросів в редакторі Visual Basic
Для введення команд і формування програми, тобто створення макросу необхідно відкрити спеціальне вікно - редактор програм на VBA, вбудований в Microsoft Excel.
У старих версіях (Excel 2003 і старше) для цього йдемо в меню Сервіс - Макрос - Редактор Visual Basic (Toos - Macro - Visual Basic Editor).
У нових версіях (Excel 2007 і новіше) для цього потрібно спочатку відобразити вкладку Розробник (Developer). Вибираємо Файл - Параметри - Налаштування стрічки (File - Options - Customize Ribbon) і включаємо в правій частині вікна прапорець Розробник (Developer). Тепер на вкладці нам будуть доступні основні інструменти для роботи з макросами, в тому числі і потрібна нам кнопка Редактор Visual Basic (Visual Basic Editor)
На жаль, інтерфейс редактора VBA і файли довідки не переводяться компанією Microsoft на російську мову, тому з англійськими командами в меню і вікнах доведеться змиритися:
Мал. 9
Макроси (тобто набори команд на мові VBA) зберігаються в програмних модулях. У будь-якій книзі Excel ми можемо створити будь-яку кількість програмних модулів і розмістити там наші макроси. Один модуль може містити будь-яку кількість макросів. Доступ до всіх модулів здійснюється за допомогою вікна Project Explorer в лівому верхньому кутку редактора (якщо його не видно, натисніть CTRL + R). Програмні модулі бувають декількох типів для різних ситуацій:
Звичайні модулі - використовуються в більшості випадків, коли мова йде про макроси. Для створення такого модуля виберіть в меню Insert - Module. У вікно, що з'явилося нового порожнього модуля можна вводити команди на VBA, набираючи їх з клавіатури або копіюючи їх з іншого модуля, з цього сайту чи ще звідкись небудь.
Модуль Ця книга - також видно в лівому верхньому кутку редактора VisualBasic у вікні, яке називається ProjectExplorer. У цей модуль зазвичай записуються макроси, які повинні виконуватися при настанні будь-яких подій в книзі (відкриття або збереження книги, друк файлу і т.п.).
Модуль листа - доступний через ProjectExplorer і через контекстне меню листа, тобто правою кнопкою миші по ярличку листа - команда Оригінальний текст (ViewSource). Сюди записують макроси, які повинні виконуватися при настанні певних подій на аркуші (зміна даних в осередках, перерахунок листа, копіювання або видалення листа і т.д.)
Звичайний макрос, введений в стандартний модуль виглядає приблизно так:
Мал. 10
Будь-макрос повинен починатися з оператора Sub, за яким йде ім'я макросу і список аргументів (вхідних значень) в дужках. Якщо аргументів немає, то дужки треба залишити порожніми.
Будь-макрос повинен закінчуватися оператором End Sub.
Все, що знаходиться між Sub і End Sub - тіло макросу, тобто команди, які будуть виконуватися при запуску макросу. В даному випадку макрос виділяє осередок заливає виділених діапазон (Selection) жовтим кольором (код = 6) і потім проходить в циклі по всім осередкам, замінюючи формули на значення. В кінці виводиться вікно повідомлення (MsgBox).
З ходу ясно, що ось так відразу, без попередньої підготовки і досвіду в програмуванні взагалі і на VBA зокрема, важкувато буде збагнути які саме команди і як треба вводити, щоб макрос автоматично виконував всі дії, які, наприклад, Ви робите для створення щотижневого звіту для керівництва компанії.
ГЛАВА 4. ВИРІШЕННЯ КУБІЧНОГО РІВНЯННЯ НА VISUAL BASIC У ПАКЕТІ MC EXCEL
4.1 Завдання
Знайти корені кубічного рівняння (полінома) з одним невідомим
Y (X) = 1,38 * X3- 1,34 *X2 + 18 * Х + 24
4.2 Вхідні та вихідні дані
Вхідні дані: значення змінних A, B, C, D.
Вимоги до вхідних даних:
Введення вихідних даних здійснюється у відповідні комірки поля користувальницької форми.
Передбачається перевірка на допустимість вихідних даних і повторення введення при помилкових даних.
Виводяться дані у вигляді таблиці.
Вимоги до вихідних даних:
Всі вихідні дані виводяться на лист Excel в ліву область від діаграми.
Відобразити вирішення кубічного рівняння у вигляді діаграми.
4.3 Проектування програмного модуля
Спочатку знаходимо інтервали, на яких існують коріння полінома. Такими інтервалами, є проміжки, на кінцях яких функція змінює знак. З цією метою побудуємо таблицю значень полінома на інтервалі (-1,1) з кроком 0.2 і побудуємо графік. Для цього:
1. Введемо в комірку змінних
2. Використовуючи маркер заповнення.
3. У осередок B2 вводимо формулу: = A2 ^ 3 - 0,01 * A2 ^ 2 - 0,7044 * A2 + 0,139104.
4. Заповнюємо діапазон 15: 224.
5. За отриманими значеннями будуємо графік заданого полінома.
Мал. 11
Ми побачимо, що для нашого випадку поліном змінює знак на інтервалах [-1, -0.8], [0.2, 0.4] і [0.6, 0.8], тобто перетинається з віссю x. Інтервалів три - стільки коренів має рівняння третього ступеня. Коріння локалізовані.
Тепер поставимо точність знаходження значень коренів. На вкладці Office > Параметри Excel > Формули > Параметри обчислень задаємо відносну похибка 0,00001 і граничне число ітерацій 1000 (число послідовних наближень).
Відводимо на новому робочому аркуші клітинку С2 під перший корінь, відповідно осередку C3 і C4 під другий і третій коріння полінома.
Коріння будемо знаходимо методом послідовних наближень. Тому в осередок С2 вводимо спочатку значення, що є першим наближенням до шуканого кореня. У нашому випадку візьмемо перший відрізок і в ньому середнє значення, тобто - 0,9. Відповідно в осередку С3 і С4 вводимо наближені значення для другого і третього коренів: +0,3 і +0,7.
Для знаходження кореня за допомогою Подбора параметра рівняння треба уявити в такому вигляді, щоб його права частина не містила змінну. У нашому прикладі цього не потрібно. Відводимо осередок D2 під функцію, для якої ведеться пошук першого кореня. Причому замість невідомої x у цій функції повинна вказуватися посилання на осередок, відведену під шуканий корінь. Таким чином, в осередок D2 вводиться формула:
C2 ^ 3 - 0,01 * C2 ^ 2 - 0,7044 * C2 + 0,139104.
Копіюємо цю формулу в комірки D 3 і D 4 для другого і третього коренів полінома. За допомогою інструменту Підбір параметра знаходимо перший корінь:
1. Вибираємо команду Дані > Робота з даними > Аналіз «що-якщо» > Підбір параметра. На екрані з'явиться діалогове вікно.
2. У поле Встановити в осередку введемо посилання на осередок D2, в якій введена формула, що обчислює значення лівої частини полінома.
3. У поле Значення вводимо 0 - значення з правої частини рівняння.
4. У полі Змінюючи значення осередки введемо С2 - посилання на осередок, відведену під перший корінь.
5. Натискаємо ОК.
Отримаємо вікно з результатами:
Мал. 12
Закривши вікно, знайдене наближене значення кореня поміщається в осередок D2. В даному випадку воно дорівнює -0,92034.
+Аналогічно, повторивши дії 1-5 для кожного з решти коренів, в осередках D3 і D4 знаходимо їх значення. Відповідно, вони рівні
4.4 Лістинг програми
Private Sub worksheet_change(ByVal Target As Range)
If Intersect(Target, [b2:e2]) Is Nothing Then Exit Sub
[D3].GoalSeek Goal:=0, ChangingCell:=[B3]
End Sub
Sub Макрос1()
Макрос1 Макрос
Range("D3").GoalSeek Goal:=0, ChangingCell:=Range("B3")
Range("A5").Select
ActiveCell.FormulaR1C1 = "=0.9*R[-2]C[1]"
Range("A5").Select
ActiveCell.FormulaR1C1 = "=(0.85+ROW()/100)*R[-2]C[1]"
Range("B5").Select
ActiveCell.FormulaR1C1 = _
"=R2C2+SUMPRODUCT(R2C3:R2C5,R3C2^R[-3]C[-1]:R[-3]C[1])"
Range("B5").Select
ActiveCell.FormulaR1C1 = _
"=R2C2+SUMPRODUCT(R2C3:R2C5,R3C2^COLUMN(R[-3]C[-1]:R[-3]C[1]))"
Range("D3").Select
ActiveCell.FormulaR1C1 = _
"=R[-1]C[-2]+SUMPRODUCT(R[-1]C[-1]:R[-1]C[1],RC[-2]^COLUMN(R[-1]C[-3]:R[-1]C[-1]))"
Range("D4").Select
End Sub
4.5 Результати роботи програми
У результаті запуску макросу отримуємо графічне вирішення кубічного рівняння
Мал. 13
ВИСНОВОК
У сучасному світі існує велика кількість різноманітних мов програмування. Одним з них є Visual Basic, яку ми розглядаємо в цій роботі, і в якій розробили програму, що дозволяє користувачеві створювати матриці довільної розмірності, і виконувати операції над ними, такі як транспонування матриці, обчислення оберненої матриці, множення матриці на скаляр, додавання і множення матриць.
У цій роботі присутні два розділи, з яких перша є теоретичним матеріалом, а друга практичним.
При тестуванні створеної програми ніяких відхилень не виявлено, кожна функція правильно виконує всі операції, передбачена обробка помилок, що дозволяє запобігати аварійну зупинку програми.
Таким чином, можна зробити висновок про те, що поставлене завдання виконано: мова програмування VBA вивчений і створена програма, за допомогою якої можна перетворити, підсумовувати і множити матриці.
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ
1. Гарбер Г.З._Основи програмування на VB і VBA в Excel2007 / Гарбер Г.З. - М.: «Солон-Прес», 2008. - 192 с.
2. Гарнаев А.Ю. Самовчитель VВА / Гарнаева А.Ю. - СПБ.: БХВ- Санкт-Петербург, 1999. - 512 с.
3. Геворкян Г. Х., Семенов В. Н. Бейсік - це просто / Геворкян Г. Х., Семенов В. Н. - М.: Радио и связь, 1989. - 144с.
4. Красильников І.В., Гартман Т.Н. посіб для роботи на комп'ютері / Красильников І.В., Гартман Т.Н. - М.: 2002. - 101 с.
5. Мантуров О.В. Курс вищої математики, навч. Для вузів / Мантуров О.В.- М.: Вища. шк., 1991.- 448с.
6. Пітер Ейткен Інтенсивний курс програмування в Excel за вихідні / Пітер Ейткен -М.: «Діалектика», 2004. - 421 с.
7. Сафронов І. Visual Basic в завданнях і прикладах / Сафронов И.- СПб.: «БХВ-Петербург», 2008. - 400 с.
8. Стів Каммінгс VBA для «чайників», 3-є видання / Стів Каммінгс - М.: «Вільямс», 2002. - 448 с.
9. Суслова А.С. Матриці і системи лінійних алгебраїчних рівнянь / Суслова А.С. - Саратов, 2011. - 55 с.
10. Уокенбах Дж. Професійне програмування на VBA в пакеті MС Excel 2003 / Уокенбах Дж. - М: «Вільямс», 2005. - 800 с.
11. Штайнер Г. VBA 6.3 / Штайнер Г. - М.: Лабораторія базових знань, 2002р. - 784с.
Размещено на Allbest.ru
...Подобные документы
Напівфункціональна мова програмування, складова частина Access - Visual Basic for Applications (VBA). Створення коду VBA за допомогою майстрів елементів управління. Модулі, створення процедур обробки подій. Редагування у вікні модуля, аргументи процедури.
реферат [144,8 K], добавлен 31.08.2009Рождение и развитие Basic. Краткое описание Visual Basic for Applications. Новые возможности Visual Basic 5.0. Пример взаимодействия Excel и Visual Basic. Программирование табличных функций. Встраивание, применение функций. Формы, средства управления OLE.
реферат [20,7 K], добавлен 11.03.2010Характеристика мови програмування VBA (Visual Basic for Application): можливості й засоби. Використання редактора Visual Basic. Створення та виконання VBA-програм. Типи даних, змінні й константи, операції й вирази. Керуючі оператори, процедури й функції.
реферат [29,9 K], добавлен 28.06.2011Язык программирования Visual Basic: краткая история возникновения, значение и общая характеристика. Изучение основных свойств Visual Basic, синтаксис языка. Обзор ключевых операторов Visual Basic, пользовательские процедуры и функции данного языка.
контрольная работа [36,4 K], добавлен 23.07.2014Написание тестирующей программы для проверки знаний учащихся с помощью языка программирования Visual Basic for Applications (VBA), встроенного в пакет Microsoft Office. Общие сведения о программе, условия ее выполнения, настройка, проверка, выполнение.
контрольная работа [25,2 K], добавлен 07.06.2010Программный проект Баз данных средствами Visual Basic 6.0. Проектирование структуры таблицы базы данных Visual Basic 6.0. Заполнение созданных таблиц БД исходными данными. Создание пользовательского меню. Вид формы и свойства элементов управления.
курсовая работа [3,0 M], добавлен 19.06.2010Решение экономических задач с помощью Microsoft Excel и инструментария Visual Basic For Application. Способы запуска редактора Visual Basic, правила его синтаксиса. Создание автоматических макросов по сортировке и выборке. Создание управляющих кнопок.
курсовая работа [852,0 K], добавлен 24.09.2010Разработка программного продукта с помощью языка программирования Visual Basic. Описание интерфейса пользователя и возможностей программы. Исходный код основных модулей. Программа, демонстрирующая основные возможности диаграмм и среды Visual Basic.
контрольная работа [989,9 K], добавлен 29.03.2011Рабочая среда Visual Basic (VB) и ее основные компоненты. Ввод и вывод данных в VB. Объявление переменных и констант в программе. Создание и работа с процедурами и функциями, их виды. Организация ветвления в VB. Использование циклов в программировании.
практическая работа [502,5 K], добавлен 26.10.2013Сравнительная характеристика средств обучения программированию в среде Visual Basic. Задачи проектируемых автоматизированных программных систем. Комплекс технических средств. Математическое и программное обеспечение. Язык программирования Visual Basic.
дипломная работа [64,1 K], добавлен 17.05.2007Visual Basic for Application. Объекты и коллекции. Использование VBA в среде Access. Основы современной технологии проектирования АИС. Автоматизированное проектированиеCASE-технологий. Реинжиниринг бизнес-процессов и проектирование корпоративной ИС.
курсовая работа [2,1 M], добавлен 22.02.2008Принципы визуального программирования. Создание программы, генерирующей звук через определенные промежутки времени. Visual Basic как средство разработки прототипов программы, для разработки приложений баз данных и компонентного способа создания программ.
лабораторная работа [1,1 M], добавлен 10.12.2014Составление блок-схемы алгоритма решения задачи, погрешности вычисления суммы членов числового ряда. Разработка программ на языке на Visual Basic, работа с массивами. Особенности работы со строковыми данными. Варианты реализации формы приложения.
контрольная работа [220,4 K], добавлен 18.06.2010Обчислення наближеного значення суми спадного ряду. Складання блок-схеми та програми, яка б виводила на друк сгенерований, сформований та впорядкований масиви. Використання операторів умовного переходу If - Then - Else. Розроблення програми на VBA.
практическая работа [51,7 K], добавлен 09.11.2009Описание Visual Basic Scripting Edition как скриптового языка программирования, интерпретируемого компонентом Windows Script Host. Правила работы языка и применение VBS-сценариев для обработки данных, управления системой, работы с учетными записями.
доклад [31,3 K], добавлен 11.05.2012Основні типи даних, математичні оператори й функції, що використовуються у Visual Basic. Числові, рядкові й логічні дані. Описання даних у підрозділі програми. Приклад використання функції перетворення даних. Елементи управління та їх змінені властивості.
лабораторная работа [306,7 K], добавлен 28.11.2010История развития Visual Basic, его преимущества и недостатки. Игра "Пятнашки" как классическая задача для моделирования эвристических алгоритмов. Разновидности и вариации игры. Разработка проекта в Visual Basic, который представляет собой игру "Пятнашки".
курсовая работа [5,7 M], добавлен 15.05.2014Формирование матрицы и выполнение заданий: вычисление сумы четных элементов; максимума из нечетных элементов в строке; произведение элементов в нечетных столбцах; количество четных элементов выше главной диагонали. Создание программы в Visual Basic.
контрольная работа [12,0 K], добавлен 07.10.2012Creation of the graphic program with Visual Basic and its common interface. The text of program code in programming of Visual Basic language creating in graphics editor. Creation of pictures in Visual Basic, some graphic actions with graphic editor.
лабораторная работа [1,8 M], добавлен 06.07.2009Program automatic system on visual basic for graiting 3D-Graphics. Text of source code for program functions. Setting the angle and draw the rotation. There are functions for choose the color, finds the normal of each plane, draw lines and other.
лабораторная работа [352,4 K], добавлен 05.07.2009