Учебная работа. Курсовая работа: Характеристика программы на языке VBA, которая вводит исходные данные, выполняет расчеты и вывод
РОССИЙСКОЙ ФЕДЕРАЦИИ
ИДО ГОУ МГИУ
Курсовая работа
По дисциплине «Информатика»
Задание:№ 38
Группа: № П09Б22п
Студент: Булдыгина Н.В.
Управляющий: Иванов М.Н.
Москва 2010
Содержание
1. Задание на курсовую работу. 3
2. Описание переменных. 4
3. Блок схема. 6
4. Описание метода. 10
5. Листинг программки.. 11
6. Описание входных данных и итог вычислений. 16
7. Перечень использованной литературы.. 19
1. Задание на курсовую работу
Магазин велосипедов продал за год различное количество велосипедов (10 наименований) по стоимости, устанавливаемой сначала всякого месяца.
Написать программку на языке VBA, которая вводит начальные данные, делает расчеты и выводит на экран:
· начальные данные в виде таблицы, где перечислены наименования велосипедов и цены на их, количество проданных велосипедов в течение всякого месяца;
· Доход от всякого вида велика за год;
· Доход от всех велосипедов за любой месяц;
· общий Доход от всех велосипедов за год;
· наименование велика, принесшего больший Доход за год.
2. Описание переменных
Начальные данные находятся на листе «Лист1» (рис. 1) и содержат следующую информацию:
1) Количество велосипедов всякого из 10 типов, сделанных за год (12 месяцев).
2) Стоимость 1-го велика всякого типа.
Результаты работы программки оформляются на листе «Лист2» (рис. 2).
Рис.1. Лист с исходными данными
Рис.2. Приобретенные результаты
В программке переменные описаны последующим образом:
1) cena(10)
— средства, вырученные от реализации 1-го велика,
представляет массив дробных чисел
Dim
cena
(
10
)
As
Double
2) koll
(10,12)
— количество велосипедов всякого вида, проданных за любой месяц, представляет двумерный массив целых чисел
Dim
koll
(10,12)
As
Integer
3) zar
(13)
— заработок за любой месяц (от января до декабря) и общий заработок за год представляет массив дробных чисел
Dim
zar
(13)
As
Double
4) koll
_
n
(12)
— количество проданных велосипедов каждой модели за год представляет массив целых чисел
Dim
kol
_
n
(12)
As
Integer
5) num
— порядковый номер модели велика, принесшей больший Доход, представляет целое число
Dim
den
As
Integer
В программке также были применены вспомогательные переменные, счетчики циклов, i
и j
, являющиеся целыми числами.
Dim i As Integer, j As Integer
Переменные cena(10),
zar
(13),
могут быть и не целыми числами, поэтому они объявлены как действительные. Переменные koll
(10,12)
koll
_
n
(12),
den
—
целые числа, потому что мы считаем, что расчетный период составляет полный месяц, и производители могут реализовать лишь на сто процентов собранный велик.
3. Блок схема
Рис.3. Блок-схема
Рис.3. Блок-схема (продолжение)
Рис.3. Блок-схема (продолжение)
Рис.3. Блок-схема
Рис.3. Блок-схема (окончание)
4. Описание метода
Начало программки.
Ввод исходных (нулевых) значений для расчетных величин (количество проданных велосипедов в месяц, выручка по месяцам и за год, денек с наиогромным заработком и величина наибольшей выручки).
Открытие листа с исходными данными («Лист1») и получение этих данных в рабочие переменные (массивы сеnа(10) и kоll(12, 10)).
Открытие листа с плодами, формирование матрицы входных данных. Организуется два вложенных цикла (по каждой модели велика и месяцу). Во внутреннем цикле (по месяцам, расчет по одной модели) суммируется количество проданных велосипедов, опосля выхода из внутреннего цикла выводится итог по модели.
Расчет величины выручки от реализации велосипедов за любой месяц, количество проданных велосипедов и вывод результатов. Организуется два вложенных цикла: наружный по моделям, внутренний по месяцам. Для оптимизации процесса расчетная часть совмещена с выводом: во внутреннем цикле происходит вычисление выручки от реализации i-ого велика в j-й месяц с выводом результата, во наружном цикле (опосля получения результатов внутреннего цикла) — вывод цены 1-го велика и по всем великам. Расчет выручки за любой месяц организован в этом же внутреннем цикле.
Определение наименования велика, принесшего больший Доход за год. Употребляется алгоритм сопоставления, при равенстве 2-ух и наиболее годичных доходов действенным считается крайний Доход.
5.
Листинг программки
Private Sub CommandButton1_Click()
‘Поначалу объявляем переменные, применяемые в программке.
‘счетчики циклов
Dim i, j As Integer
‘количество проданных велосипедов (по месяцам)
Dim koll(10, 12) As Integer
‘выручка в месяц
Dim zar(13) As Double
‘количество проданных велосипедов (за год)
Dim koll_n(12) As Integer
‘велик, принесший больший Доход за год
Dim num As Integer
‘стоимость велика
Dim cena(10) As Double
‘переменные, нужные для подготовительных расчетов
Dim zarpl As Double
Dim pic As Double
Dim comb(10) As Double
‘Дальше всем переменным присваивается нулевое
For i = 1 To 10
koll_n(i) = 0
comb(i) = 0
Next
For j = 1 To 13
zar(j) = 0
Next
pic = 0
zarpl = 0
num = 0
‘В этом фрагменте кода происходит считывание исходных данных с листа «Лист1», и в каждую ячейку массива cena(10) записывается стоимость каждой марки велика, а в ячейках двумерного массива koll(10,12) сейчас находится количество велосипедов всякого вида, проданных в любой месяц.
Sheets(«Лист1»).Select
For i = 1 To 10
cena(i) = Cells(3 + i, 2)
Next
For i = 1 To 10
For j = 1 To 12
koll(i, j) = Cells(3 + i, 2 + j)
Next j
Next i
‘Дальше на листе «Лист2» в ячейку с определенным номером вводится ее заглавие.
Sheets(«Лист2»).Cells(2, 1) = «Модель»
Sheets(«Лист2»).Cells(2, 2) = «Стоимость 1 шт.»
Sheets(«Лист2»).Cells(2, 3) = «Продано»
Sheets(«Лист2»).Cells(3, 3) = «Январь»
Sheets(«Лист2»).Cells(3, 4) = «Февраль»
Sheets(«Лист2»).Cells(3, 5) = «Март»
Sheets(«Лист2»).Cells(3, 6) = «Апрель»
Sheets(«Лист2»).Cells(3, 7) = «Май»
Sheets(«Лист2»).Cells(3, 8) = «Июнь»
Sheets(«Лист2»).Cells(3, 9) = «Июль»
Sheets(«Лист2»).Cells(3, 10) = «Август»
Sheets(«Лист2»).Cells(3, 11) = «Сентябрь»
Sheets(«Лист2»).Cells(3, 12) = «Октябрь»
Sheets(«Лист2»).Cells(3, 13) = «Ноябрь»
Sheets(«Лист2»).Cells(3, 14) = «Декабрь»
Sheets(«Лист2»).Cells(3, 15) = «Всего»
Sheets(«Лист2»).Cells(4, 1) = «Школьник»
Sheets(«Лист2»).Cells(5, 1) = «Дружба»
Sheets(«Лист2»).Cells(6, 1) = «Аист»
Sheets(«Лист2»).Cells(7, 1) = «Самара»
Sheets(«Лист2»).Cells(8, 1) = «Next»
Sheets(«Лист2»).Cells(9, 1) = «Honda»
Sheets(«Лист2»).Cells(10, 1) = «Урал»
Sheets(«Лист2»).Cells(11, 1) = «Салют»
Sheets(«Лист2»).Cells(12, 1) = «Орленок»
Sheets(«Лист2»).Cells(13, 1) = «Forward»
‘В этом фрагменте происходит вывод на рабочий лист выручку по моделям в месяц и количество проданных велосипедов за год.
For i = 1 To 10
Sheets(«Лист2»).Cells(3 + i, 2) = cena(i)
For j = 1 To 12
Sheets(«Лист2»).Cells(3 + i, 2 + j) = koll(i, j)
koll_n(i) = koll_n(i) + koll(i, j)
Next j
Sheets(«Лист2»).Cells(3 + i, 15) = koll_n(i)
Next i
‘Ниже происходит ввод заглавий соответственных столбцов и строк.
Sheets(«Лист2»).Select
Sheets(«Лист2»).Cells(17, 1) = «Модель»
Sheets(«Лист2»).Cells(17, 2) = «Стоимость 1 шт.»
Sheets(«Лист2»).Cells(17, 3) = «Заработано»
Sheets(«Лист2»).Cells(18, 3) = «Январь»
Sheets(«Лист2»).Cells(18, 4) = «Февраль»
Sheets(«Лист2»).Cells(18, 5) = «Март»
Sheets(«Лист2»).Cells(18, 6) = «Апрель»
Sheets(«Лист2»).Cells(18, 7) = «Май»
Sheets(«Лист2»).Cells(18, 8) = «Июнь»
Sheets(«Лист2»).Cells(18, 9) = «Июль»
Sheets(«Лист2»).Cells(18, 10) = «Август»
Sheets(«Лист2»).Cells(18, 11) = «Сентябрь»
Sheets(«Лист2»).Cells(18, 12) = «Октябрь»
Sheets(«Лист2»).Cells(18, 13) = «Ноябрь»
Sheets(«Лист2»).Cells(18, 14) = «Декабрь»
Sheets(«Лист2»).Cells(18, 15) = «Всего»
Sheets(«Лист2»).Cells(19, 1) = «Школьник»
Sheets(«Лист2»).Cells(20, 1) = «Дружба»
Sheets(«Лист2»).Cells(21, 1) = «Аист»
Sheets(«Лист2»).Cells(22, 1) = «Самара»
Sheets(«Лист2»).Cells(23, 1) = «Next»
Sheets(«Лист2»).Cells(24, 1) = «Honda»
Sheets(«Лист2»).Cells(25, 1) = «Урал»
Sheets(«Лист2»).Cells(26, 1) = «Салют»
Sheets(«Лист2»).Cells(27, 1) = «Орленок»
Sheets(«Лист2»).Cells(28, 1) = «Forward»
Sheets(«Лист2»).Cells(29, 1) = «ИТОГО»
‘Во внутреннем цикле происходит вычисление выручки по i-му велику в j-й месяц с выводом результата, а во наружном цикле (опосля получения результатов внутреннего цикла) происходит вывод цены 1-го велика и по всем великам. Расчет выручки за любой месяц организован в этом же внутреннем цикле.
For i = 1 To 10
For j = 1 To 12
Sheets(«Лист2»).Cells(18 + i, 2 + j) = koll(i, j) * cena(i)
zar(j) = zar(j) + koll(i, j) * cena(i)
zar(13) = zar(13) + koll(i, j) * cena(i)
Next j
Sheets(«Лист2»).Cells(18 + i, 2) = cena(i)
Sheets(«Лист2»).Cells(18 + i, 15) = cena(i) * koll_n(i)
Next i
‘тут описан метод сопоставления выручки и выявления более прибыльной для реализации модели.
For j = 1 To 12
Sheets(«Лист2»).Cells(29, 2 + j) = zar(j)
If zar(j) > zarpl Then zarpl = zar(j)
Next
‘ выявление наибольшей выручки за год одной мдели
For i = 1 To 10
comb(i) = Sheets(«Лист2»).Cells(18 + i, 15)
If pic < comb(i) Then pic = comb(i) Else pic = pic
Next
‘выявление данной нам модели
For i = 1 To 10
If Sheets(«Лист2»).Cells(18 + i, 15) = pic Then num = i
Next
‘Ниже выводится на лист с результатом работы программки наименование более прибыльной модели велика и годичный Доход.
Sheets(«Лист2»).Select
Sheets(«Лист2»).Cells(29, 15) = zar(13)
Sheets(«Лист2»).Cells(31, 1) = «Годичный Доход:»
Sheets(«Лист2»).Cells(31, 2) = zar(13)
Sheets(«Лист2»).Cells(32, 1) = «Выгодная модель:»
Sheets(«Лист2»).Cells(32, 2) = Sheets(«Лист2»).Cells(18 + num, 1)
End Sub
6. Описание входных данных и итог вычислений
Проверка программки на всех единицах:
Проверка на всех нулях:
Проверка на случайных данных:
Начальные данные для задания № представлены на Рис.№1., решение – на Рис.2..
7. Перечень использованной литературы
1. MS Office XP, 2003 Word, Excel, Access, Outlook, PowerPoint, FrontPage, MS Project/ А. К. Гультяев: Корона-Век, 2006
2. VBA. Практическое программирование/ Туркин Олег: Солон-пресс,2007
3. VBA/ Кузьменко В.Г.: Двучлен,2008.
4. Измерение, управление и регулирование при помощи макросов VBA в Word и Excel/ Берндт Г.-Й.: КОРОНА-Век, 2008
5. Информатика. Методические указания по выполнению практических работ в компьютерном классе (Access, Internet) / Гришин М.П., Юрасов А.Б. М.: МГИУ, 2003.
6. Информатика. Методическое пособие по выполнению практических работ в компьютерном классе (Word, Excel) / Гришин М.П. М.: МГИУ, 2005.
7. Информатика. часть 1. Введение в информатику: учебное пособие / Гришин М.П., Иванов М.Н., Носова Т.К., Суворов С.В. М.: МГИУ, 2008.
8. Информатика. часть 2. Программирование: Учебно-методическое пособие / Иванов М.Н., Суворов С.В. М.: МГИУ. 2006.
9. Моделирование при помощи Microsoft Excel и VBA. Разработка систем поддержки принятия решений/ Кристиан Олбрайт: Вильямс, 2005
10. Проф разработка приложений Excel/ Стивен Буллен, Роб Боуви, Джон Грин: Вильямс, 2005
11. Самоучитель VBA/ Андрей Гарнаев: БХВ-Петербург,2004
12. Самоучитель программирования на VBA в Microsoft Office/В. Д. Хореев: Юниор, 2001
13. электрические таблицы Microsoft Excel. задачи и решения/ Лори Анн Ульрих: Эком, 2002
]]>