Учебная работа. Курсовая работа: Написание программы на языке VBA

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (5 оценок, среднее: 4,80 из 5)
Загрузка...
Контрольные рефераты

Учебная работа. Курсовая работа: Написание программы на языке VBA

ФЕДЕРАЛЬНОЕ АГЕНСТВО ПО (то есть программное обеспечение — комплект программ для компьютеров и вычислительных устройств) ОБРАЗОВАНИЮ

РОССИЙСКОЙ ФЕДЕРАЦИИ

ИДО ГОУ МГИУ

Курсовая работа

По дисциплине «Информатика»

Задание:№ 93

Группа: № Жл09Ф22п

Студент: Соколова Виктория Игоревна

Управляющий: Ф.И.О. Левкова Анна Витальевна

Жд 2010

Содержание

1. Задание на курсовую работу

2. Описание переменных

3. Блок схема

4. Описание метода

5. Листинг программки

6. Описание входных данных и итог вычислений

7. Перечень использованной литературы

1. Задание на курсовую работу

В коллективном хозяйстве имеются цветочные оранжереи (розы, гвоздики, лилии — всего 6 видов цветов). Любой год в течение 3 лет колхоз собирал букеты с каждой оранжереи и продавал их по закупочным ценам, которые были различны в различные годы.

Написать программку на языке VBA, которая вводит начальные данные, делает расчеты и выводит на экран:

• начальные данные в виде таблицы, где указаны наименования цветов, закупочные цены букетов всякого вида и количество букетов в любом году;

• полное количество букетов за 3 года;

• доход по всем цветам за любой год;

• общий Доход колхоза за 3 года;

• вид цветов, принесший наибольший Доход за 2 года.

2. Описание переменных

Начальные данные находятся на листе «Нач_д» (рис. 1) и содержат последующую информацию:

1) Наименование цветов.

2) Количество проданных букетов в год (количество не изменяется).

3) Закупочные цены букетов всякого вида.

Результаты работы программки оформляются на листе «Итог» (рис. 2).

Рис.1. Лист с исходными данными

Рис.2. Приобретенные результаты

В программке переменные описаны последующим образом:

1) cena(6,3)
— закупочные цены всякого вида цветов

Dim cena(6,3) As Integer

2) koll
(6)
количество букетов всякого вида

Dim koll(6) As Integer

3) zar
(6,3)
Доход за любой год (от 1 до 3)

Dim
zar
(6,3)
As
Integer

4) koll
_
n
(6)
количество букетов всякого вида за 3 года
представляет массив целых чисел

Dim kol_n(6) As Integer

5)
den
Доход колхоза за 3 года

Dim
den
As
Long

6)Koll
_
i

Итоговое количество букетов за 3 года

Dim Koll_i As Integer

7)zarpl
(6)
Доход за 3 года

Dim zarpl(6) As Integer

8) sum
(6.3)-
вид цветов принесший наибольший Доход за 2 года.

В программке также были применены вспомогательные переменные, счетчики циклов, i
и j, являющиеся целыми числами.

Dim i As Integer, j As Integer

Переменные для расчета я взяла целые числа

3. Блок схема

J=j=

Рис3. Блок- схема

Рис.3. Блок-схема

Рис.3. Блок-схема (продолжение)

Рис.3. Блок-схе

Рис.3. Блок-схема

Рис.3. Блок-схема (окончание) 4. Описание метода

Начало программки.

Ввод исходных (нулевых) значений для расчетных величин (количество проданных букетов за год, доход по годам и общий, Вид цветов, принесший наибольший Доход за 2 года).

Открытие листа с исходными данными («Нач_д») и получение этих данных в рабочие переменные (массивы сеnа(7) и kоll(7, 5)).

Открытие листа с плодами, формирование матрицы входных данных. Организуется два вложенных цикла (по любому букету и году). Во внутреннем цикле (по годам, расчет по 1 букету) определяется количество букетов за 3 года. Итог выводится.

Расчет сумм дохода по букетам за любой год вывод результатов. Организуется два вложенных цикла: наружный по букетам, внутренний по годам. Для оптимизации процесса расчетная часть совмещена с выводом: во внутреннем цикле происходит вычисление суммы доходод по i-му букету в j-й год с выводом результата, во наружном цикле (опосля получения результатов внутреннего цикла) — вывод количество букетов. Расчет дохода за любой год организован в этом же внутреннем цикле.

Определение вида цветов принесшего наибольший Доход за 2 года.

Сравниваем доход за 2 года(1-й год+ 2-й год; 1-й год+ 3-й год; 2-й год+ 3-й год) сумма 2-ух с большим показателем складывается и выводится вид цветов.

5. Листинг программки

Sub Function()

‘Поначалу объявляем переменные, применяемые в программке.

Sub Funct()

‘объявляем переменные применяемые в программке

Dim i As Integer, j As Integer, min As Integer, z As Integer ‘счетчики циклов

Dim cena(6, 3) As Integer ‘ закупочные цены всякого вида

Dim zar(6, 3) As Integer ‘Доход за любой год

Dim koll_n(6) As Integer ‘количество букетов всякого вида вида за 3 года

Dim den As Long ‘доход колхоза за 3 года

Dim zarpl(6) As Integer ‘Доход за 3 года

Dim koll(6) As Integer ‘количество букетов всякого вида

Dim koll_i As Integer ‘итоговое количество букетов за 3 года

Dim sum(6, 3) As Integer

‘сначала программки все переменные равны нулям


создаем
цикл
,

For i = 1 To 6

koll_n(i) = 0

Next

koll_i = 0

den = 0

‘считываем исходные данные

Sheets(«Нач_д»).Select

‘в каждую ячейку массива koll(i) записывается количество букетов всякого вида

‘для этого используем цикл

For i = 1 To 6

Koll(i) = Cells(3 + i, 2)

koll_n(i) = koll(i) * 3

koll_i = koll_i + koll_n(i)

zarpl(i) = 0

Next i

‘в каждую ячейку массива cena(i, j) записывается закупочные цены всякого вида за год

‘потому что массив двумерный цикл проходит по двум счетчикам

For i = 1 To 6

For j = 1 To 3

cena(i, j) = Cells(3 + i, 2 + j)

zar(i, j) = 0

Next j

Next i

‘на листе «Итог» создаются ячейки с определенными наименованиями

Sheets(«Итог»).Cells(1, 1) = «Закупочные цены за год»

Sheets(«Итог»).Cells(2, 1) = «Наименование букетов»

Sheets(«Итог»).Cells(2, 2) = «количество букетов»

Sheets(«Итог»).Cells(2, 3) = «Куплено»

Sheets(«Итог»).Cells(3, 3) = «1-й год»

Sheets(«Итог»).Cells(3, 4) = «2-й год»

Sheets(«Итог»).Cells(3, 5) = «3-й год»

Sheets(«Итог»).Cells(3, 6) = «Всего»

Sheets(«Итог»).Cells(4, 1) = «розы»

Sheets(«Итог»).Cells(5, 1) = «гвоздики»

Sheets(«Итог»).Cells(6, 1) = «лилии»

Sheets(«Итог»).Cells(7, 1) = «ромашка»

Sheets(«Итог»).Cells(8, 1) = «хризантема»

Sheets(«Итог»).Cells(9, 1) = «цветок»

Sheets(«Итог»).Cells(10, 1) = «Итого»

Sheets(«Итог»).Cells(10, 6) = koll_i

‘в надлежащие ячейки записываются количество букетов

For i = 1 To 6

Sheets («Итог»).Cells(3 + i, 2) = koll(i)

Sheets («Итог»).Cells(3 + i, 6) = koll_n(i)

For j = 1 To 3

‘в надлежащие ячейки записываются закупочные цены за год

Sheets(«Итог»).Cells(3 + i, 2 + j) = cena(i, j)

‘рассчитывается закупочные цены всякого вида за год

Next j

‘итог записывается в надлежащие ячейки

Next i

‘на листе «Итог» создаются ячейки с определенными наименованиями

Sheets(«Итог»).Select

Sheets(«Итог»).Cells(12, 1) = «Итог в валютном эквиваленте»

Sheets(«Итог»).Cells(13, 1) = «Наименование букетов»

Sheets(«Итог»).Cells(13, 2) = «количество букетов в любом году.»

Sheets(«Итог»).Cells(13, 3) = «Заработано»

Sheets(«Итог»).Cells(14, 3) = «1-й год»

Sheets(«Итог»).Cells(14, 4) = «2-й год»

Sheets(«Итог»).Cells(14, 5) = «3-й год»

Sheets(«Итог»).Cells(14, 6) = «Всего»

Sheets(«Итог»).Cells(15, 1) = «роза»

Sheets(«Итог»).Cells(16, 1) = «гвоздики»

Sheets(«Итог»).Cells(17, 1) = «лилии»

Sheets(«Итог»).Cells(18, 1) = «ромашка»

Sheets(«Итог»).Cells(19, 1) = «хризантема»

Sheets(«Итог»).Cells(20, 1) = «цветок»

Sheets(«Итог»).Cells(21, 1) = «ИТОГО»

Sheets(«Итог»).Cells(22, 1) = «Вид цветов принесший макс Доход за 2 года»

‘делается вывод количества букетов в любом году

For i = 1 To 6

Sheets («Итог»).Cells (14 + i, 2) = koll (i)

Next i

‘расчет сумм: проданных букетов, за 3 года всякого вида цветов, общего дохода за 3 года;

‘вывод: проданных букетов, за 3 года всякого вида цветов

For i = 1 To 6

For j = 1 To 3

zar (i, j) = koll(i) * cena(i, j)

Sheets («Итог»).Cells (14 + i, 2 + j) = zar(i, j)

zarpl (i) = zarpl(i) + zar(i, j)

Next j

Sheets («Итог»).Cells (14 + i, 6) = zarpl (i)

den = den + zarpl (i)

Next i

‘вывод общего дохода за 3 года

Sheets(«Итог»).Cells(21, 6) = den

‘расчет вида цветов за 2 года принесших максим доход

min = 0

For i = 1 To 6

sum (i, 1) = zar (i, 1) + zar (i, 2)

sum (i, 2) = zar (i, 2) + zar (i, 3)

sum (i, 3) = zar (i, 1) + zar (i, 3)

For j = 1 To 3

If sum (i, j) > min Then

z = i

min = sum(i, j)

End If

Next j

Next i

Sheets («Итог»).Cells (22, 6) = Sheets («Итог»).Cells (14 + z, 1)

End Sub

6. Описание входных данных и итог вычислений

Проверка программки на всех единицах:

Проверка на всех нулях:

Проверка на случайных данных:

Начальные данные для задания № представлены на Рис.№1., решение – на Рис.2..

7. Перечень использованной литературы

1. Информатика. Методическое пособие по выполнению практических работ в компьютерном классе (Word, Excel) / Гришин М.П. М.: МГИУ, 2005.

2. Информатика. часть 1. Введение в информатику: учебное пособие / Гришин М.П., Иванов М.Н., Носова Т.К., Суворов С.В. М.: МГИУ, 2008.

3. Информатика. часть 2. Программирование: Учебно-методическое пособие / Иванов М.Н., Суворов С.В. М.: МГИУ. 2006.

4. Моделирование при помощи Microsoft Excel и VBA. Разработка систем поддержки принятия решений/ Кристиан Олбрайт: Вильямс, 2005

5. Проф разработка приложений Excel/ Стивен Буллен, Роб Боуви, Джон Грин: Вильямс, 2005

6. Самоучитель VBA/ Андрей Гарнаев: БХВ-Петербург,2004

7. Самоучитель программирования на VBA в Microsoft Office/В. Д. Хореев: Юниор, 2001

]]>