Автор работы: Пользователь скрыл имя, 23 Января 2011 в 14:52, курсовая работа
Задание на курсовую работу
В течение 5-ти дней (рабочая неделя) рабочий изготавливает детали 7 различных типов. Известно количество изготовленных им деталей за каждый день и стоимость изготовления одной детали каждого типа (стоимость изготовления детали не меняется).
Написать программу на языке VBA, которая вводит исходные данные,
выполняет расчеты и выводит на экран:
1. Задание на курсовую работу…………………………………………………..2
2. Описание переменных…………………………………………………………3
3. Блок-схема……………………………………………………………………...6
4. Описание алгоритма…………………………………………………………..10
5. Листинг программы…………………………………………………………...11
6. Описание входных данных и результат вычисления……………………….14
ФЕДЕРАЛЬНОЕ АГЕНСТВО ПО ОБРАЗОВАНИЮ
РОССИЙСКОЙ
ФЕДЕРАЦИИ
Курсовая работа
по дисциплине
«ИНФОРМАТИКА»
Задание: 9
Группа:
Студент:
Руководитель:
*
*
Задание на курсовую работу
В течение 5-ти дней (рабочая неделя) рабочий изготавливает детали 7 различных типов. Известно количество изготовленных им деталей за каждый день и стоимость изготовления одной детали каждого типа (стоимость изготовления детали не меняется).
Написать программу на языке VBA, которая вводит исходные данные,
выполняет расчеты и выводит на экран:
- исходные
данные в виде таблицы, где
перечислены наименования
- количество деталей каждого типа, изготовленных за неделю;
- заработок за каждый день;
- заработок за неделю;
- день с наибольшим заработком.
Описание
переменных
Исходные данные находятся на листе «Start» (рис. 1) и содержат следующую информацию:
- количество деталей каждого из семи типов, изготовленных за пять рабочих дней.
- стоимость изготовления детали каждого из семи типов.
Результаты
работы программы находятся на листе
«Result» (рис. 2).
Рис. 1 Лист
с начальными данными
Рис.2 Полученные
результаты
В программе
перменные описаны следующим образом:
Dim cost(7) As Double
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. Определение дня с максимальной заработной платой.
Используется алгоритм сравнения.
При равенстве двух и более дневных сумм результативной считается первая сумма.
Листинг
программы
Sub Funct()
Dim cost(7) As Double
Dim amount(7, 5) As Integer
Dim pay(6) As Double
Dim amount_n(7) As Integer
Dim day As Integer
Dim sumpay As Double
Dim m As Integer, p As
Integer
For m = 1 To 7
amount_n(m) = 0
Next
For p = 1 To 6
pay(p) = 0
Next
sumpay = 0
day = 0
Sheets("Start").Select
For m = 1 To 7
cost(m) = Cells(3 + m, 2)
Next
For m = 1 To 7
For p = 1 To 5
amount(m, p) = Cells(3 + m, 2 + p)
Next p
Next m
Sheets("Results").Select
Cells(1, 1) = "Количество изготовленных деталей"
Cells(2, 1) = "Наименование изделия"
Cells(2, 2) = "Стоимость 1 шт"
Cells(2, 3) = "Изготовлено"
Cells(3, 3) = "1 день"
Cells(3, 4) = "2 день"
Cells(3, 5) = "3 день"
Cells(3, 6) = "4 день"
Cells(3, 7) = "5 день"
Cells(3, 8) = "Всего"
Cells(4, 1) = "HDD"
Cells(5, 1) = "CD ROM"
Cells(6, 1) = "DVD ROM"
Cells(7, 1) = "CARD READER"
Cells(8, 1) = "MOTHERBOARD ASUS"
Cells(9, 1) = "DDR-3 Gigabyte viseocard"
Cells(10, 1) = "D-Link
Switch"
For m = 1 To 7
Cells(3 + i, 2) = cost(m)
For p = 1 To 5
Cells(3 + m, 2 + p) = amount(m, p)
amount_n(m) = amount_n(m) + amount(m, p)
Next p
Cells(3 + m, 8) = amount_n(m)
Next m
Cells(12, 1) = "Количество изготовленных деталей "
Cells(13, 1) = "Наименование изделия "
Cells(13, 2) = "Стоимость 1 шт "
Cells(13, 3) = "Заработано"
Cells(14, 3) = "1 день"
Cells(14, 4) = "2 день"
Cells(14, 5) = "3 день"
Cells(14, 6) = "4 день"
Cells(14, 7) = "5 день"
Cells(14, 8) = "Всего"
Cells(15, 1) = "HDD"
Cells(16, 1) = "CD ROM"
Cells(17, 1) = "DVD ROM"
Cells(18, 1) = "CARD READER"
Cells(19, 1) = "MOTHERBOARD ASUS"
Cells(20, 1) = "DDR-3 Gigabyte viseocard"
Cells(21, 1) = "D-Link
Switch"
For m = 1 To 7
For p = 1 To 5
Cells(14 + m, 2 + p) = amount(m, p) * cost(m)
pay(p) = pay(p) + amount(m, p) * cost(m)
pay(6) = pay(6) + amount(m, p) * cost(m)
Next p
Cells(14 + m, 2) = cost(m)
Cells(14 + m, 8) = cost(m) * amount_n(m)
Next m
For p = 1 To 5
Cells(22, 2 + p) = pay(p)
If pay(p) > sumpay Then
sumpay = pay(p)
day = p
End If
Next
Cells(22, 8) = pay(6)
Cells(23, 1) = "Заработок за неделю"
Cells(23, 5) = pay(6)
Cells(24, 1) = "День с максимальным заработком"
Cells(24, 5) = day
Cells(24, 6) = "Заработано"
Cells(24, 8) = sumpay
End Sub
Описание
входных данных и
результат вычислений
Создание документа Microsoft Excel с именем inf_course_1.xls
На лист Start вводятся начальные данные в таблицу.
Далее открывается редактор Visual Basic, в котором вводится код программы.