Автор работы: Пользователь скрыл имя, 15 Января 2015 в 21:22, курсовая работа
Задание на курсовую работу:
Написать программу на языке VBA, которая вводит исходные данные, выполняет расчет и выво¬дит на экран:
• исходные данные в виде таблицы, где указаны наименования одежды, стоимость и количество проданной одежды за каждый день, отдел в котором продавалась одежда данного наименования;
• количество одежды, проданной в отделе «мужская одежда» за первый день;
• доход за 2 декаду в отделе «женская одежда»;
• доход за месяц по каждому отделу;
• наименование отдела, продажа одежды которого принесла наибольший доход за месяц магазину.
1. Задание на курсовую работу 3
2. Описание переменных 4
3. Блок схема 7
4. Описание алгоритма 14
5. Листинг программы 15
6. Описание входных данных и результат вычислений 23
7. Список использованной литературы 26
Cells(32 + i, 33) = cena(i) * Cells(3 + i, 33)
Next i
For i = 7 To 13 'отдел "Женская одежда".
For j = 1 To 30
Cells(35 + i, 2 + j) = koll(i, j) * cena(i)
zar(2, j) = zar(2, j) + koll(i, j) * cena(i)
zar(2, 31) = zar(2, 31) + koll(i, j) * cena(i)
Cells(49, 2 + j) = zar(2, j)
Next j
Cells(35 + i, 2) = cena(i)
Cells(49, 33) = zar(2, 31)
Cells(35 + i, 33) = cena(i) * Cells(5 + i, 33)
Next i
For i = 14 To 20 'отдел "Мужская одежда".
For j = 1 To 30
Cells(38 + i, 2 + j) = koll(i, j) * cena(i)
zar(3, j) = zar(3, j) + koll(i, j) * cena(i)
zar(3, 31) = zar(3, 31) + koll(i, j) * cena(i)
Cells(59, 2 + j) = zar(3, j)
Next j
Cells(38 + i, 2) = cena(i)
Cells(59, 33) = zar(3, 31)
Cells(38 + i, 33) = cena(i) * Cells(7 + i, 33)
Next i
'11 Далее вычисляется доход каждого отдела по декадам.
'отдел "Детская одежда".
For j = 1 To 10 'первая декада.
zarpl(1, 1) = zarpl(1, 1) + zar(1, j)
Next j
Cells(40, 12) = zarpl(1, 1)
For j = 11 To 20 'вторая декада.
zarpl(1, 2) = zarpl(1, 2) + zar(1, j)
Next j
Cells(40, 22) = zarpl(1, 2)
For j = 21 To 30 'третья декада.
zarpl(1, 3) = zarpl(1, 3) + zar(1, j)
Next j
Cells(40, 32) = zarpl(1, 3)
'отдел "Женская одежда"
For j = 1 To 10 'первая декада.
zarpl(2, 1) = zarpl(2, 1) + zar(2, j)
Next j
Cells(50, 12) = zarpl(2, 1)
For j = 11 To 20 'вторая декада.
zarpl(2, 2) = zarpl(2, 2) + zar(2, j)
Next j
Cells(50, 22) = zarpl(2, 2)
For j = 21 To 30 'третья декада.
zarpl(2, 3) = zarpl(2, 3) + zar(2, j)
Next j
Cells(50, 32) = zarpl(2, 3)
'отдел "Мужская одежда"
For j = 1 To 10 'первая декада.
zarpl(3, 1) = zarpl(3, 1) + zar(3, j)
Next j
Cells(60, 12) = zarpl(3, 1)
For j = 11 To 20 'вторая декада.
zarpl(3, 2) = zarpl(3, 2) + zar(3, j)
Next j
Cells(60, 22) = zarpl(3, 2)
For j = 21 To 30 'третья декада.
zarpl(3, 3) = zarpl(3, 3) + zar(3, j)
Next j
Cells(60, 32) = zarpl(3, 3)
'12 Далее происходит сравнение месячных заработков отделов.
'Для этого переменным присваиваем значения.
a = Cells(39, 33) 'заработок отдела "Детская одежда".
b = Cells(49, 33) 'заработок отдела "Женская одежда".
c = Cells(59, 33) 'заработок отдела "Мужская одежда".
If a >= b And a >= c Then
max = a
ElseIf b >= c Then
max = b
Else
max = c
End If
'13 Ниже выводится на лист результат работы программы.
Cells(61, 6) = koll_d(3, 1) '1 количество за первый день в отд. Мужская 'одежда.
Cells(62, 6) = zarpl(2, 2) '2 доход за вторую декаду в отд. Женская одежда.
Cells(64, 6) = zar(1, 31) '3 доход за месяц по отделам.
Cells(65, 6) = zar(2, 31)
Cells(66, 6) = zar(3, 31)
'14 Вывод отдела с наибольшим заработком.
If max = a Then
otd_n = 1 'отдел "Детская одежда".
ElseIf max = b Then
otd_n = 2 'отдел "Женская одежда".
ElseIf max = c Then
otd_n = 3 'отдел "Мужская одежда".
End If
Cells(67, 6) = otd_n 'номер отдела с наибольшим доходом.
Cells(67, 10) = max 'заработок отдела с наибольшим доходом.
End Sub
6. Описание входных данных и результат вычислений
Проверка программы на всех единицах:
Проверка на всех нулях:
Проверка на произвольных данных:
Исходные данные для задания № 39 представлены на Рис.№1., решение – на Рис.2..