Сценарное программирование (VBA) для решения задач из области экономики и инвестиционной деятельности

Автор работы: Пользователь скрыл имя, 17 Декабря 2013 в 21:52, контрольная работа

Краткое описание

Одной из программ позволяющих нам составлять таблицы и производить расчеты и работающий в среде Windows является Microsoft Excel. Visual Basic используется в качестве внутреннего языка программного пакета Microsoft Office (Word, Excel и др.). С помощью Visual Basic можно создавать приложения практически для любой области современных компьютерных технологий: бизнес-приложения, игры, мультимедиа, базы данных.

Содержание

ВВЕДЕНИЕ 3
1.Основы Visual Basic 4
1.1.Способы запуска редактора Visual Basic 4
1.2.Главные правила синтаксиса VBA 4
1.3.Типы данных 5
1.4.Исходные данные 5
2. Копирование данных с использованием процедур в программах 6
3.Примеры решения экономических задач 8
3.1.Создание отчета 8
3.2. Сортировка данных 10
3.3.Выборка данных 12
3.4. Определение максимального и минимального значения 14
ЗАКЛЮЧЕНИЕ 16
ЛИТЕРАТУРА 17

Вложенные файлы: 1 файл

АЛМАТИНСКИЙ ФИЛ.docx

— 46.11 Кб (Скачать файл)

 

АЛМАТИНСКИЙ ФИЛИАЛ НЕГОСУДАРСТВЕННОГО ОБРАЗОВАТЕЛЬНОГО УЧРЕЖДЕНИЯ ВЫСШЕГО  ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ


«САНКТ-ПЕТЕРБУРГСКИЙ ГУМАНИТАРНЫЙ УНИВЕРСИТЕТ ПРОФСОЮЗОВ»

_____________________________________________________________________________

 

 

 

Факультет  экономический

Кафедра     экономики, информатики и математики

 

 

 

Контрольная работа

 

по дисциплине: Программные  средства анализа бизнеса

Тема: «Сценарное программирование (VBA) для решения задач из области экономики и инвестиционной деятельности»

 

 

 

 

 

Выполнил студент

501 ПИВ группы  5 курса

заочного отделения

 

Дегтярев Д.В.

(фамилия, имя, отчество)

 

 

 

 

Проверил: старший преподаватель

        Стифутина Н.Ф.

 

 

 

 

 

 

 

Алматы, 2013

ОГЛАВЛЕНИЕ

ВВЕДЕНИЕ 3

1.Основы Visual Basic 4

1.1.Способы запуска редактора Visual Basic 4

1.2.Главные правила синтаксиса VBA 4

1.3.Типы данных 5

1.4.Исходные данные 5

2. Копирование данных с использованием процедур в программах 6

3.Примеры решения экономических  задач 8

3.1.Создание отчета 8

3.2. Сортировка данных 10

3.3.Выборка данных 12

3.4. Определение максимального и минимального значения 14

ЗАКЛЮЧЕНИЕ 16

ЛИТЕРАТУРА 17 

ВВЕДЕНИЕ

Информатика это предмет, изучающий компьютер и его  составляющие, а также различные  программы позволяющие производить  расчеты, делать графики составлять таблицы и др. Одной из программ позволяющих нам составлять таблицы  и производить расчеты и работающий в среде Windows является Microsoft Excel. Visual Basic используется в качестве внутреннего языка программного пакета Microsoft Office (Word, Excel и др.). С помощью Visual Basic можно создавать приложения практически для любой области современных компьютерных технологий: бизнес-приложения, игры, мультимедиа, базы данных.

Сейчас этот язык используют не только программисты-любители, но и  все больше коммерческие организации. Так, например абсолютное большинство  организаций занимающихся реализацией  компьютерной техники используют в  своей работе прайс-листы, созданные  в Excel, с обработкой данных программами написанными на языке Visual Basic.

Visual Basic является мощным программным средством, с помощью которого можно реализовать широкий спектр практических задач. Visual Basic - это объектно-ориентированный язык. Основой языка являются объекты.

 

1.Основы Visual Basic

1.1.Способы запуска редактора Visual Basic

Прежде чем начать работать с редактором Visual Basic, нужно его открыть. Во всех приложениях Office это делается одинаково. Самый простой способ: в меню Сервис выбрать Макрос - > Редактор Visual Basic; самый быстрый способ: нажать <Alt>+<F11>. Можно также воспользоваться кнопкой на панели инструментов Visual Basic (предварительно сделав ее видимой). Можно вызвать редактор при возникновении ошибки в макросе, или открыть готовый макрос на редактирование в диалоговом окне Макрос.

 

1.2.Главные правила синтаксиса VBA

Синтаксис VBA, как понятно  из самого названия этого языка (которое  расшифровывается как Visual Basic for Applications), почти полностью совпадает с синтаксисом Visual Basic. Некоторые основные синтаксические принципы этого языка:

- VBA нечувствителен к регистру;

- чтобы закомментировать код до конца строки, используется одинарная кавычка (') или команда REM;

- символьные значения должны заключаться в двойные кавычки;

- максимальная длина любого имени в VBA (переменные, константы, процедуры) - 255 символов;

- начало нового оператора - перевод на новую строку;

- ограничений на максимальную длину строки нет (хотя в редакторе умещается только 308 символов).

 

1.3.Типы данных

Тип данных определяет, каким  образом биты данных, представляющие конкретное значение, хранятся в памяти персонального компьютера. В каждом языке программирования имеется свой фиксированный набор базовых типов данных. Некоторые языки позволяют создание дополнительных (пользовательских) типов данных. В Visual Basic for Applications имеются следующие типы данных: Byte (байт), Boolean (логический), Integer (целое), Long (длинное целое), Single (с плавающей точкой обычной точности); Double (с плавающей точкой двойной точности); Currency (денежный); Decimal (масштабируемое целое); Date (даты и время); Object (объект); String (строка переменной длины); String (строка постоянной длины); Variant (числовые подтипы); Variant (строковые подтипы).

 

1.4.Исходные данные

На Листе 2 создается таблица 1 путем набора исходных данных согласно заданию. Программным путем определяется количество строк и столбцов таблицы  с помощью функции Empty.

Данная функция проверяет  строки по выбранному столбцу (или строке). Если строка не пустая, то подсчитывается количество строк таблицы, передача управления на проверку следующей строки выполняется с помощью оператора  безусловной передачи Go To на метку М1.

Если строка пустая, то выполняется  передача управления с помощью оператора Go To на метку М2, где фиксируется количество заполненных строк таблицы. В конце метки заканчивается двоеточием1.

 

2. Копирование данных с использованием процедур в программах

Процедуры - это самые  важные функциональные блоки языка VBA. В VBA вы можете выполнить тот программный  код, который содержится в какой-либо процедуре. Макрос в VBA - это процедура типа Sub, не имеющая параметров. Только макросы можно вызвать по имени из редактора VBA или из приложения Office.

Процедуры условно делятся на процедуры подпрограмм и процедуры-функции. Отличаются они тем, что процедура - подпрограмм просто выполняет группу операторов, а функция вычисляет некоторые значения и передаёт его обратно в главную программу.

Чтобы работа подпрограмм  имела смысл, её надо получить данные из главной (вызывающей) программы (главного модуля), которая эту программу  вызывает. Данные передаются подпрограмме в виде параметров или аргументов, которые обычно описываются в  её заголовке так же, как и переменные. Подпрограммы активизируются только в  момент их вызова. Операторы, находящиеся  в нутрии программы, выполняются  только в том случае, если эта  подпрограмма явно вызвана. Пока выполнение программы полностью не закончится, оператор главной программы, следующей  за командой вызова подпрограммы, выполнятся не будет.

Синтаксис главного модуля:

Sub < Имя программы> ()

< объявление  данных>

< имя процедуры> (список фактических парметров)

End Sub

Синтаксис процедуры:

Sub <имя программы> (список фактических параметров)

Операторы

End Sub

Создаётся главный модуль, в котором указывается имена  подпрограмм и фактических параметров (лист, имя массива, размерность массива  и т.д.). Управления работой процедурами  выполняется из главного модуля.

Каждая процедура начинается с оператора Sub - начало программы, имени, отмечающее её начало, перечисляются аргументы, которые передаются процедуре при вызове. С момента и до окончания работы вызываемой процедуры устанавливается соответствие между списком фактических и формальных параметров, поэтому списки фактических и формальных параметров должны иметь одинаковый смысл.

Для дозаписи исходных данных объявляем матрицу как динамичесий массив. Считываем с Листа 2 количество строк (n) и столбцов (m), размерность которой будет n*m. Вводим новую матрицу в память, затем на лист. Формируем новую матрицу, чтобы выполнить дозапись. Ввод данных производится через оператор InputBox, ввод новых элементов выполняется в цикле For. Снова переобъявляем матрицу, размерность которой уже будет (n+k) *m.

 

3.Примеры решения  экономических задач

3.1.Создание отчета

В отчете производим копирование данных с Листа 4 на Лист 5 и с помощью одномерного массива рассчитывается новые столбцы: "Итого", "Абсолютная успеваемость" и "Качественная успеваемость". Для нахождения производим расчет по формулам: n=n2+n3+n4+n5; absu= (n3+n4+n5) /n*100; kau= (n4+n5) /n*1002. Производим считывание количества строк (n) и столбцов (m). Объявляем матрицу A как динамический массив через оператор ReDim. Копируем данные с листа 4 на лист 5 с помощью процедур. Затем высчитываем по формулам значения, а после находим среднее значение в столбцах "Итого", "Абсолютная успеваемость" и "Качественная успеваемость". И выводим на лист:

Sub Отчет ()

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

Dim A () As Variant

n1 = Sheets ("Лист4"). Cells (5,12) 'количество строк массива

M1 = Sheets ("Лист2"). Cells (5,12) 'количество столбцов массива

ReDim A (1 To n1, 1 To M1)

'Ввод данных  в память c Листа4 и вывод на Лист5

VVOD "Лист4", A, n1, M1, 4

VIVOD "Лист5", A, n1, M1, 4

S = 0 ' S-ячейка для  подсчета итоговой суммы по  графе Средняя годовая стоимость  имущества

'Составление  отчета

For i = 1 To n1

For j = 1 To M1

A (i,

6) = A (i,

2) + A (i,

3) + A (i,

4) + A (i,

5)

Sheets ("Лист5"). Cells (i + 4,6) = A (i,

6)

Next j

S = S + A (i,

6)

Sr = S / n1

Sheets ("Лист5"). Cells (18,6) = Sr

Next i

S = 0

For i = 1 To n1

For j = 1 To M1

A (i,

7) = (A (i,

4) + A (i,

3) + A (i,

2)) / A (i,

6) * 100

Sheets ("Лист5"). Cells (i + 4,7) = A (i,

7)

Next j

S = S + A (i,

7)

Sr = S / 13

Sheets ("Лист5"). Cells (18,7) = Sr

Next i

S = 0

For i = 1 To n1

For j = 1 To M1

A (i,

8) = (A (i,

3) + A (i,

2)) / A (i,

6) * 100

Sheets ("Лист5"). Cells (i + 4,8) = A (i,

8)

Next j

S = S + A (i,

8)

Sr = S / n1

Sheets ("Лист5"). Cells (18,8) = Sr

Next i

Sheets ("Лист5"). Cells (18,1) = "В среднем"

End Sub

 

3.2. Сортировка данных

Для того, чтобы произвести сортировку данных с Листа5 по столбцу "Абсолютная успеваемость, проц.", необходимо отсортировать данные, полученные в предыдущей программе по возрастанию. При сортировке двумерного массива ипользуется вложенные циклы. Во внешнем цикле используется оператор Do While…Lope, заключённые в нём операторы выполняются до тех пор, пока остаётся истинным условие While. Внутри цикла Do While выполняется два цикла For…Next. Синтаксис:

For Счётчик1=<начальное значении параметра цикла> To <конечное значение> [Step Шаг]

For Счётчик2=<начальное значении параметра цикла> To <конечное значение> [Step Шаг]

[Оператор (ы) тела  цикла]

Next Счётчик2

Next Счётчик1

Счётчик по параметру i-количество строк - сортируемый признак предыдущей строки сравнивается с признаком  последующей строки. Если признаки первой строки больше признака второй строки, то выполняется цикл по j-количество столбцов, в котором данные этих строк меняются местами:

Sub Сортировка ()

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

Dim A () As Variant

n1 = Sheets ("Лист4"). Cells (5,12)

m = Sheets ("Лист2"). Cells (5,12)

ReDim A (1 To n1, 1 To m)

VVOD "Лист5", A, n1, m, 4

VIVOD "Лист6", A, n1, m, 4

ReDim A (1 To n1, 1 To m)

For i = 1 To n1

For j = 1 To m

A (i, j) = Sheets ("Лист5"). Cells (i + 4, j)

Sheets ("Лист6"). Cells (i + 4, j) = A (i, j)

Next j

Next i

Z = 1

Do While Z = 1

Z = 0

For i = 1 To n1 - 1

If Sheets ("Лист6"). Cells (i + 4,7) > Sheets ("Лист6"). Cells (i + 4 + 1,7) Then

For j = 1 To m

AZ = Sheets ("Лист6"). Cells (i + 4, j)

Sheets ("Лист6"). Cells (i + 4, j) = Sheets ("Лист6"). Cells (i + 4 + 1, j)

Sheets ("Лист6"). Cells (i + 4 + 1, j) = AZ

Next j

Z = 1

End If

Next i

Loop

End Sub

Также можно создать автоматический макрос по сортировке3.

 

3.3.Выборка данных

Для того чтобы произвести выборку данных необходимо выполнить  следующие действия:

- определить количество элементов нового массива по заданному условию введя переменную с помощью оператора InputBox

- объявить и переобъявить новый массив

Для того, чтобы сформировать новый массив, необходимо задать номер первого элемента нового массива u=1. Затем выполняется цикл, в котором записывается условие выборки по столбцу "Качественная успеваемость, проц. ". Если результат проверки истина, то элемент анализируемого массива становится элементом нового массива.

Информация о работе Сценарное программирование (VBA) для решения задач из области экономики и инвестиционной деятельности