Написание программы на языке VBA
Содержание
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. Блок-схе
|
4. Описание алгоритма
Начало программы.
Ввод начальных (нулевых) значений для расчетных величин (количество проданных букетов за год, доход по годам и общий, Вид цветов, принесший максимальный доход за 2 года).
Открытие листа с начальными данными («Нач_д») и получение этих данных в рабочие переменные (массивы сеnа(7) и kоll(7,5)).
Открытие листа с результатами, формирование матрицы входных данных. Организуется два вложенных цикла (по каждому букету и году). Во внутреннем цикле (по годам, расчет по 1 букету) определяется количество букетов за 3 года. Результат выводится.
Расчет сумм дохода по букетам за каждый год вывод результатов. Организуется два вложенных цикла: внешний по букетам, внутренний по годам. Для оптимизации процесса расчетная часть совмещена с выводом: во внутреннем цикле происходит вычисление суммы доходод по i-му букету в j-й год с выводом результата, во внешнем цикле (после получения результатов внутреннего цикла) — вывод количество букетов. Расчет дохода за каждый год организован в этом же внутреннем цикле.
Определение вида цветов принесшего максимальный доход за 2 года.
Сравниваем доход за 2 года(1-й год+ 2-й год; 1-й год+ 3-й год; 2-й год+ 3-й год) сумма двух с наибольшим показателем складывается и выводится вид цветов.
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-й год"
Другие рефераты на тему «Программирование, компьютеры и кибернетика»:
Поиск рефератов
Последние рефераты раздела
- Основные этапы объектно-ориентированного проектирования
- Основные структуры языка Java
- Основные принципы разработки графического пользовательского интерфейса
- Основы дискретной математики
- Программное обеспечение системы принятия решений адаптивного робота
- Программное обеспечение
- Проблемы сохранности информации в процессе предпринимательской деятельности