Название: Характеристика программы на языке VBA, которая вводит исходные данные, выполняет расчеты и вывод
Вид работы: курсовая работа
Рубрика: Информатика
Размер файла: 1.8 Mb
Скачать файл: referat.me-130810.docx
Краткое описание работы: ФЕДЕРАЛЬНОЕ АГЕНСТВО ПО ОБРАЗОВАНИЮ РОССИЙСКОЙ ФЕДЕРАЦИИ ИДО ГОУ МГИУ Курсовая работа По дисциплине «Информатика» Задание:№ 38 Группа: № П09Б22п Студент: Булдыгина Н.В.
Характеристика программы на языке 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) Стоимость одного велосипеда каждого типа.
Результаты работы программы оформляются на листе «Лист2» (рис. 2).
Рис.1. Лист с начальными данными
Рис.2. Полученные результаты
В программе переменные описаны следующим образом:
1) cena(10)
— деньги, вырученные от продажи одного велосипеда,
представляет массив дробных чисел
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. Блок-схема (продолжение)
|
4. Описание алгоритма
Начало программы.
Ввод начальных (нулевых) значений для расчетных величин (количество проданных велосипедов за месяц, выручка по месяцам и за год, день с наибольшим заработком и величина максимальной выручки).
Открытие листа с начальными данными («Лист1») и получение этих данных в рабочие переменные (массивы сеnа(10) и kоll(12, 10)).
Открытие листа с результатами, формирование матрицы входных данных. Организуется два вложенных цикла (по каждой модели велосипеда и месяцу). Во внутреннем цикле (по месяцам, расчет по одной модели) суммируется количество проданных велосипедов, после выхода из внутреннего цикла выводится результат по модели.
Расчет величины выручки от продажи велосипедов за каждый месяц, количество проданных велосипедов и вывод результатов. Организуется два вложенных цикла: внешний по моделям, внутренний по месяцам. Для оптимизации процесса расчетная часть совмещена с выводом: во внутреннем цикле происходит вычисление выручки от продажи i-ого велосипеда в j-й месяц с выводом результата, во внешнем цикле (после получения результатов внутреннего цикла) — вывод стоимости одного велосипеда и по всем велосипедам. Расчет выручки за каждый месяц организован в этом же внутреннем цикле.
Определение наименования велосипеда, принесшего наибольший доход за год. Используется алгоритм сравнения, при равенстве двух и более годовых доходов результативным считается последний доход.
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-й месяц с выводом результата, а во внешнем цикле (после получения результатов внутреннего цикла) происходит вывод стоимости одного велосипеда и по всем велосипедам. Расчет выручки за каждый месяц организован в этом же внутреннем цикле.
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
Похожие работы
-
Решение задач линейного программирования симплекс методом 2
Министерство образования и науки Российской Федерации Федеральное агентство по образованию Государственное образовательное учреждение ОРЕНБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
-
Программирование в VBA
ФЕДЕРАЛЬНОЕ АГЕНСТВО ПО ОБРАЗОВАНИЮ РОССИЙСКОЙ ФЕДЕРАЦИИ Курсовая работа по дисциплине «ИНФОРМАТИКА» Задание: 9 Группа: Студент: Руководитель: СОДЕРЖАНИЕ
-
Информационные технологии в экономике 3
Федеральное агенство по образованию Государственное образовательное учреждение высшего профессионального образования «Российский государственный профессионально-педагогический университет»
-
Создание алгоритма для расстановки переносов в словах по правилам русской орфографии
Министерство образования и науки Российской Федерации Федеральное агентство по образованию Марийский государственный технический университет Кафедра информатики и
-
Программирование на Визуал Бейсик
__________________________________________________________________ ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ РОССИЙСКОЙ ФЕДЕРАЦИИ ИДО ГОУ МГИУ
-
Организация циклов в системе Паскаль
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ ........................................
-
Составление программы Определение фруктово-ягодной культуры приносящей хозяйству максимальный
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ РОССИЙСКОЙ ФЕДЕРАЦИИ ИДО ГОУ МГИУ Курсовая работа по дисциплине «Информатика» Жуков 2009 Задание В коллективном хозяйстве имеются фруктово-ягодные сады (яблоня, вишня, слива, черная смородина, крыжовник, клубника – всего 6 фруктово-ягодных культур). Каждый год в течение 5 лет колхоз собирал урожай с каждого сада и продавал урожай по закупочным ценам, которые различались по годам.
-
Программирование в Turbo Pascal
Московский Государственный Индустриальный Университет Институт Дистанционного Образования Курсовая работа по дисциплине: «ИНФОРМАТИКА» по теме: «Выполнение задания по программированию в TURBO PASCAL»
-
Написание программы на языке VBA
ФЕДЕРАЛЬНОЕ АГЕНСТВО ПО ОБРАЗОВАНИЮ РОССИЙСКОЙ ФЕДЕРАЦИИ ИДО ГОУ МГИУ Курсовая работа По дисциплине «Информатика» Задание:№ Группа: № Жл09Ф22п Студент: Соколова Виктория Игоревна
-
Разработка линейного однонаправленного списка
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ