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.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 имеет очень много общего с Visual Basic , своим старшим братом, предназначенным для создания независимых приложений. А раз языки похожи, мы можем перенести большую часть своих навыков в программировании на VBA в Visual Basic . Однако следует помнить о некоторых очень важных различиях.
В конце 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]
Методы решения задач линейного программирования
... работы является исследование методов решения ЗЛП и применение их на практике. Объект исследования - методы решения задач линейного программирования. Предмет исследования - практическое применение симплекс - метода в решении задачи линейного программирования, ... например, кратное и , т.е. удобное для проведения расчетов). Способ построения аналогичен построению прямых ограничений; 5) построить вектор , ...
В середине 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)., Visual Basic for Applications, Visual Basic Scripting Edition
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).
-
Отсутствие механизма наследования реализации объектов. Существующее в языке наследование позволяет наследовать только интерфейсы, но не их реализацию.
24 стр., 11809 словПовышение рентабельности функционирования турагентской фирмы ...
... повышения конкурентоспособности любого туристского предприятия. Индустрия туризма позволяет использовать все многообразие компьютерных технологий, ... являются важнейшим и необходимым условием функционирования любого туристского предприятия. ... рекламные баннеры. Хотя эффективность этих каналов сбыта ... прием заказов и работу с клиентами, формирование выходных ... продукты (Word, Excel, бухгалтерские программы) и ...
-
Требует установленную 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.1 Математическая модель задачи
В курсовой работе разработана программа на языке программирования VBA в пакете Microsoft Excel , позволяющая пользователю выполнять некоторые операции над матрицами. Ввод исходных данных должен осуществляться с использованием пользовательской формы.
Правовые основы осуществления валютных операций
... правовых основ осуществления валютных операций. Предметом выступают правовые нормы, регламентирующие выработку и реализацию государственной политики и нормативно-правовое регулирование валютных операций в РФ. Целью данной работы является попытка проведения комплексного правового анализа нормативно-правовой ... проведения валютных операций, не дав определение ключевым понятиям данных операций таким, ...
Матрица представляет собой прямоугольную таблицу чисел, содержащая m строк одинаковой длины (или n столбцов одинаковой длины).
Матрица записывается в виде
или, сокращенно А=, где i =1, m (т.е. i =1,2,3,…, m ) – номер строки, j =1, n (т.е. j =1,2,3,…, n ) – номер столбца. Матрицу А называют матрицей размера m х n b и пишут. Числа , составляющие матрицу, называют ее элементами .
Матрицы широко применяются в математике для компактной записи систем линейных алгебраических или дифференциальных уравнений. В этом случае, количество строк матрицы соответствует числу уравнений, а количество столбцов — количеству неизвестных. В результате решение систем линейных уравнений сводится к операциям над матрицами.[12]
Матрицы допускают следующие алгебраические операции:
-
Транспонирование матриц;
-
Нахождение обратной матрицы;
-
произведение матриц;
-
умножение матриц на скаляр;
-
сумма матриц и многое другое. Но за основу мы взяли именно эти операции.
Транспонированная матрица — матрица , полученная из исходной матрицы A заменой строк на столбцы.
Формально, транспонированная матрица для матрицы A размеров — матрица размеров, определённая как AT[i, j] = A[j, i].
Для некоторых квадратных матриц можно найти так называемую обратную матрицу. Обратная матрица A − 1 такова, что если умножить матрицу на неё, то получится единичная матрица:
AA − 1 = E.
Произведением матрицы на число называется матрица , получающаяся из умножением всех ее элементов на : .
Анализ применения технологии блокчейн в целях обеспечения безопасности ...
... операция безопасность Задачи работы: 1) изучение понятия «блокчейн» 2) изучение текущего состояния блокчейна в банковской индустрии 3) определение целесообразности внедрения блокчейна в банковскую индустрию ГЛАВА 1. ТЕОРЕТИЧЕСКОЕ ОПИСАНИЕ ТЕХНОЛОГИИ «БЛОКЧЕЙН» ...
Суммой двух матриц и одинакового размера называется матрица того же размера, элементы которой находятся по формуле . Обозначается .
Произведением матрицы на матрицу называется матрица , элементы которой находятся по формуле . Обозначается .
2.2 Входные и выходные данные
Входные данные: размерность матрицы.
Требования к входным данным:
Предусматривается проверка на допустимость исходных данных и повторение ввода при ошибочных данных.
Выводятся преобразованные матрицы.
Требования к выходным данным:
2.3. Разработка пользовательского интерфейса, ее описание
На рисунках1, 2 показаны пользовательские интерфейсы процедуры «Создание матрицы». Для каждой определенной операции выходит своеобразный интерфейс, в зависимости от входных данных.
Например, для транспонирования матрицы выводится следующее окно:
Процедура выписки гостя из гостиницы. Турист-индивидуал
... гостинице и порядок их работы. реферат [19,7 K], добавлен 04.09.2009 История создания первых гостиниц. Встреча, приём, регистрация, размещение, выписка гостей. ... выезда гостя и процедура его выписки. Стандартное оборудование кассового отделения гостиницы. ... гостя, подготовленный заранее при заезде (в ходе выяснения вопросов платежеспособности). Нажатием определенной кнопки ... Одним из новых способов ...
Рис. 1 Пользовательский интерфейс модуля «Создание матрицы» для транспонирования матрицы.
-
– Поле для ввода размерности матрицы.
-
– Поле для указания необходимости автоматического заполнения матрицы случайными числами.
-
– Кнопка для создания матриц.
-
– Кнопки «действия» для выполнение данной операции или отмены его.
Для операций нахождения обратной матрицы, суммы и произведения матриц окно «создания матриц» выглядит аналогично. Отличаются лишь сумма и произведение матриц тем, что в поле для ввода размерностей выходят ячейки для заполнения двух матриц.
На рисунке 2 показан пользовательский интерфейс для операции умножения на скаляр
Рис. 1 Пользовательский интерфейс модуля «Создание матрицы» для умножения матрицы на скаляр.
-
– Поле для ввода размерности матрицы.
-
– Поле для указания необходимости автоматического заполнения матрицы случайными числами.
-
– Поле для ввода числа, на которое будет умножаться данная матрица.
-
– Кнопка для создания матриц.
-
– Кнопки «действия» для выполнения данной операции или отмены его.
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.4 Работа программного модуля
В курсовом проекте разработана программа, позволяющая пользователю создавать матрицы произвольной размерности, и выполнять операции над ними, такие как транспонирование матрицы, вычисление обратной матрицы, умножение матрицы на скаляр, сложение и умножение матриц. Ввод исходных данных осуществляется с использованием пользовательской формы.
При разработке данного программного модуля используются программные модули, с использованием языка проектирования программ Visual Basic for Application .
Транспонированная матрица:
Обратная матрица:
при выполнении следующих операции, программа выводит запрос на очистку листа от предыдущих результатов.
При вводе числа строк, число столбцов выводится автоматический (то же самое число), так как при этой операции матрица должна быть квадратной.
Умножение на скаляр:
Сумма матриц:
При выполнении операции суммирования, матрицы должны быть одинаковой размерности. Поэтому при вводе параметров первой матрицы, вторая заполняется автоматический.
Произведение матриц:
В функции произведения, при вводе числа строк первой матрицы, автоматический заполняется число столбцов другой.
При работе с программой никаких отклонений не обнаружено, каждая функция правильно выполняет все операции, предусмотрена обработка ошибок, позволяющая предотвращать аварийную остановку программы.
Таким образом, можно сделать вывод о том, что поставленная задача выполнена:
— на языке программирования VBA создана программа, с помощью которой можно преобразовать, суммировать и умножать матрицы.
— ввод исходных данных осуществляется с использованием окна диалога пользовательской формы.
Программный модуль позволяет
— вводить значения в пользовательскую форму в ручном режиме;
— заполнять значения матрицы автоматический;
— создавать сразу две матрицы для случаев суммирования, умножения матриц и позволяет автоматический заполнять их параметры.
2.7 Описание использованных операторов
При разработке программы использовались различные стандартные операторы и функции языка программирования VBA .
Оператор условного перехода If Then Else . Синтаксис:
If Условие Then [Инструкции] [ Else Инструкции else ]
Если условие принимает значение True , то выполняется инструкция (или инструкции) после Then , если False , то выполняется инструкция (или инструкции) после Else . Ветвь Else является необязательной.
Допускается также использование формы синтаксиса в виде блока:
If Условие Then
[Инструкции]
[ ElseIf Условие- n Then
[Инструкции elseif ] …
[ Else
[Инструкции else ]]
End If
Инструкция 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 .
ЗАКЛЮЧЕНИЕ
В современном мире существует большое количество разнообразных языков программирования. Одним из них является Visual Basic , которую мы рассматриваем в данной курсовой работе, и в которой разработали программу, позволяющую пользователю создавать матрицы произвольной размерности, и выполнять операции над ними, такие как транспонирование матрицы, вычисление обратной матрицы, умножение матрицы на скаляр, сложение и умножение матриц .
В данной курсовой работе присутствуют две главы, из которых первая является теоретическим материалом, а вторая практическим.
При тестировании созданной программы никаких отклонений не обнаружено, каждая функция правильно выполняет все операции, предусмотрена обработка ошибок, позволяющая предотвращать аварийную остановку программы.
Таким образом, можно сделать вывод о том, что поставленная задача выполнена: язык программирования VBA изучен и создана программа, с помощью которой можно преобразовать, суммировать и умножать матрицы.
-
Гарбер Г.З._Основы програмирования на VB и VBA в Excel2007/ Гарбер Г.З. – М.: «Солон-Пресс», 2008. — 192 с.: ил.
-
Гарнаев А.Ю. Самоучитель V ВА / Гарнаева А.Ю. — СПБ.: БХВ- Санкт-Петербург, 1999. — 512 с.
-
Геворкян Г. Х., Семенов В. Н. Бейсик – это просто / Геворкян Г. Х., Семенов В. Н. – М.: Радио и связь, 1989. – 144с.:ил.
-
Красильников И.В., Гартман Т.Н. посбие для работы на компьютере / Красильников И.В., Гартман Т.Н. – М.: 2002. — 101 с.
-
Мантуров О.В. Курс высшей математики, учеб. Для вузов / Мантуров О.В.- М.: Высш. шк., 1991.- 448с.: ил.
-
Питер Эйткен Интенсивный курс программирования в Excel за выходные / Питер Эйткэн –М.: «Диалектика», 2004. — 421 с.
-
Сафронов И. Visual Basic в задачах и примерах / Сафронов И.— СПб.: «БХВ-Петербург», 2008. — 400 с.: ил.
-
Стив Каммингс VBA для «чайников», 3-е издание / Стив Каммингс – М.: «Вильямс», 2002. — 448 с.
-
Суслова А.С. Матрицы и системы линейных алгебраических уравнений / Суслова А.С. – Саратов, 2011. — 55 с.
-
Уокенбах Дж. Профессиональное программирование на VBA в пакете Mc Excel 2003 / Уокенбах Дж. – М: «Вильямс», 2005. — 800 с.
-
Штайнер Г. VBA 6.3 / Штайнер Г. – М.: Лаборатория базовых знаний, 2002г. — 784с.: ил.
-
http ://46 l . ru / a / matritsa _ matematika — 29.03.12
-
http :// www . visual .2000. ru / kolesov / pcweek /1999/90622- vb . htm — 9.02.12
-
kkk.at.ua/publ/programmirovanie_na_vb6/osnovnye_raznovidnosti_visual_basic/6-1-0-76 — 5.02.12
-
ru.wikipedia.org/wiki/visual_basic — 8.02.12