1. Задание на курсовую работу…………………………………………………..2
2. Описание переменных…………………………………………………………3
3. Блок-схема……………………………………………………………………...6
4. Описание алгоритма…………………………………………………………..10
5. Листинг программы…………………………………………………………...11
6. Описание входных данных и результат вычисления……………………….14
Задание на курсовую работу
В течение 5-ти дней (рабочая неделя) рабочий изготавливает детали 7 различных типов. Известно количество изготовленных им деталей за каждый день и стоимость изготовления одной детали каждого типа (стоимость изготовления детали не меняется).
Написать программу на языке VBA, которая вводит исходные данные,
выполняет расчеты и выводит на экран:
- исходные данные в виде таблицы, где перечислены наименования деталей, стоимость их изготовления, количество деталей, изготовленных за каждый день;
- количество деталей каждого типа, изготовленных за неделю;
- заработок за каждый день;
- заработок за неделю;
- день с наибольшим заработком.
Описание переменных
Исходные данные находятся на листе «Start» (рис. 1) и содержат следующую информацию:
- количество деталей каждого из семи типов, изготовленных за пять рабочих дней.
- стоимость изготовления детали каждого из семи типов.
Результаты работы программы находятся на листе «Result» (рис. 2).
Рис. 1 Лист с начальными данными
Рис.2 Полученные результаты
В программе перменные описаны следующим образом:
1) cost(7)
– стоимость изготовления одной единицы каждого изделия, представляет массив дробных чисел
Dim cost(7) As Double
2) amount(7,5)
– количество деталей каждого вида, изготовленных в каждый из рабочих дней, представляет двумерный массив целых чисел
Dim amount(7,5) As Integer
3) pay(6)
– заработок за каждый день (от 1 до 5) и общий заработок за весь период, представляет массив дробных чисел
Dim pay(6) As Double
4) amount_n(7)
– количество деталей каждого вида за истекший период, представляет массив целых чисел
Dim amount_n(7) As Integer
5) day
– порядковый номер дня с наибольшим заработком, представляет целое число
Dim day As Integer
6) sumpay
– сумма наибольшего заработка за период, представляет дробное число
Dim sumpay As Double
В программе также были использованы вспомогательные переменные, счетчики циклов m
и p
, являющиеся целыми числами.
Dim m As Integer, p As Integer
Переменные cost(7), pay(6), sumpay
могут быть не целыми числами, поэтому они объявлены как действительные.
Переменные amount(7,5), amount_n(7), day
– целые числа, так как смена рабочего составляет полный день, и он не может изготовить за смену половину детали.
Блок-схема
Блоки используются для обозначения действий, которые производит алгоритм, представленный блок-схемой, а также для внесения дополнительных пояснений по работе алгоритма или улучшения читаемости схемы.
Общая структура курсовой работы имеет вид, показанный на рисунках 3, 4, 5. Существуют некоторые типы блоков:
· квадрат – блок решения
· эллипс – блок используется для обозначения начала и конца алгоритма;
· ромб – блок используется для обозначения условного оператора;
· шестиугольник – блок используется для обозначения оператора цикла;
· стрелками обозначен переход от одного действия к другому.
Рис.3 Блок-схема (начало)
Рис. 4 Блок-схема (продолжение)
Рис.5 Блок-схема (окончание)
Описание алгоритма
Начало программы.
I. Ввод начальных (нулевых) значений для расчетных величин:
· количество изготовленных деталей за неделю;
· зарплата по дням;
· зарплата суммарно;
· день с наибольшим заработком;
· величина максимальной зарплаты.
II. Открытие листа с начальными данными («Start»).
Получение данных в рабочие переменные.
III. Открытие листа с результатами.
Формирование матрицы входных данных.
Два вложенных цикла: по деталям и по дням.
Во внутреннем цикле (по дням, расчет по одному изделию) суммируется количество изготовленных деталей.
После вывода из внутреннего цикла выводится результат по деталям.
Расчет заработной платы организован в этом же внутреннем цикле.
IV. Определение дня с максимальной заработной платой.
Используется алгоритм сравнения.
При равенстве двух и более дневных сумм результативной считается первая сумма.