Автор работы: Пользователь скрыл имя, 21 Декабря 2009 в 21:12, Не определен
Расчётная работа
______________________________
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
РОССИЙСКОЙ ФЕДЕРАЦИИ
ИДО ГОУ
МГИУ
Курсовая работа
по дисциплине
«Информатика»
Задание:4
Группа:Пм08М21
Студент: Ветлужских Татьяна Юрьевна
Руководитель:
Суворов Станислав Вадимович
Москва 2009
______________________________
Содержание
|
3 |
|
4 |
|
7 |
|
9 |
|
10 |
|
12 |
|
17 |
Задание на курсовую работу
Склад готовой продукции цеха каждую смену принимает готовые изделия (гайки, болты, шайбы, и т.п., всего 9 видов изделий) и каждую смену отправляет готовые изделия другим цехам. Склад, как цех, работает в 3 смены. В конце 3-й смены подсчитываются остатки.
Написать программу на языке VBA, которая вводит исходные данные, выполняет расчеты и выводит на экран:
Описание переменных
Исходные данные находятся на листе «Нач_д» (рис. 1) и содержат следующую информацию:
Результаты
работы программы оформляются на листе
«Результат»
(рис. 2).
В программе переменные описаны следующим образом:
Dim Ostatok As Double
Dim Ost_izd(9) As Integer
Dim Ost_smena(3) As Double
вспомогательные переменные для определения наименования изделия, пользовавшегося в течение 3-х смен наибольшим спросом
Dim Otpusk(9) As Integer
Dim Ind As Integer
Dim MaxSp As Integer
В программе так же были использованы вспомогательные переменные, счетчики циклов, i и j, являющиеся целыми числами
Dim i As Integer, j As Integer
Переменные Ostatok, Ost_smena(3), могут быть и не целыми числами, поэтому они объявлены как действительные. Переменные - Ost_izd(9), Otpusk(9), MaxSp – целые числа, так как мы считаем что склад принимает и отпускает целые детали, а не их части.
Блок-схема
Описание алгоритма
Открытие листа «Нач_д» для ввода исходных данных.
Ввод начальных (нулевых) значений для расчета величин (стоимость каждого из изделий, остаток от прошлых суток, поступления изделий в каждую из трех смен, отпуск изделий в каждую из смен).
Запуск расчета необходимых данных посредством нажатия на кнопку «Рассчитать».
Первый этап расчетов проводится на основе двух вложенных циклов. Порядок расчета необходимых данных следующий: расчет стоимости остатка (Ostatok); расчет остатка каждого вида изделия за сутки (Ost_izd(9)) с вяводом результатов расчета в лист «Результаты»; расчет отпуска каждого из видов изделия за сутки (Otpusk(9)); расчет стоимости остатка в конце каждой смены (Ost_smena(3)).
Вывод рассчитанных данных в лист «Результаты».
На втором этапе расчетов проводится поиск изделия, пользующегося максимальным спросов посредством последовательного сравнения спроса на каждое из изделий.
Вывод в листе «Результаты» наименование изделия, пользующегося максимальным спросом.
Программное открытие листа «Результаты».
Кнопка «Очистить поля» необходима для очистки рассчитанных полей.
Листинг программы
Листинг программы расчета, запускаемой по нажатию кнопки «Рассчитать» приведен ниже.
Private Sub CommandButton1_Click()
'переменные
Dim Ostatok As Double
Dim Ost_izd(9) As Integer
Dim Ost_smena(3) As Double
Dim Otpusk(9) As Integer
Dim Ind As Integer
Dim MaxSp As Integer
Dim i As Integer,
j As Integer
Sheets("Нач_д").Select
Ostatok = 0
For i = 1 To 9
'стоимость остатка
Ostatok = Ostatok + Cells(3 + i, 2) * Cells(3 + i, 3)
'остаток каждого вида изделей
Ost_izd(i) = Cells(3 + i, 3) + Cells(3 + i, 4) + Cells(3 + i, 5) + Cells(3 + i, 6) - Cells(3 + i, 7) - Cells(3 + i, 8) - Cells(3 + i, 9)
Sheets("Результаты").Cells(4 + i, 2) = Ost_izd(i)
'отпуск изделий
Otpusk(i) = Cells(3 + i, 7) + Cells(3 + i, 8) + Cells(3 + i, 9)
'стоимость остатка в конце каждой смены
For j = 1 To 3
Ost_smena(j) = Ost_smena(j) + (Cells(3 + i, 3 + j) - Cells(3 + i, 6 + j)) * Cells(3 + i, 2)
Next
Next
'вывод результатов
Sheets("Результаты").Cells(1, 2) = Ostatok
Sheets("Результаты").Cells(16, 2) = Ost_smena(1)
Sheets("Результаты").Cells(17, 2) = Ost_smena(2)
Sheets("Результаты").Cells(18,
2) = Ost_smena(3)
'поиск изделия с максимальным спросом
Ind = 1
MaxSp = Otpusk(Ind)
For i = 2 To 9
If Otpusk(i) > MaxSp Then
Ind = i
MaxSp = Otpusk(i)
End If
Next
Sheets("Результаты").Cells(21, 2) = Sheets("Нач_д").Cells(3 + Ind, 1)
Sheets("Результаты").Select
End Sub
Листинг программы очистки рассчитанных полей листа «Результаты» по нажатию кнопки «Очистить поля» приведен ниже.
Private Sub CommandButton1_Click()
Dim i As Integer
Sheets("Результаты").Cells(1, 2) = ""
For i = 5 To 13
Sheets("Результаты").Cells(i, 2) = ""
Next
Sheets("Результаты").Cells(16, 2) = ""
Sheets("Результаты").Cells(17, 2) = ""
Sheets("Результаты").Cells(18,
2) = ""
Sheets("Результаты").Cells(21, 2) = ""
End Sub
Описание входных данных и результат вычислений
3. Произвольная проверка
Список использованной литературы