Смекни!
smekni.com

Программирование на Визуал Бейсик

__________________________________________________________________

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

РОССИЙСКОЙ ФЕДЕРАЦИИ

ИДО ГОУ МГИУ

Курсовая работа

по дисциплине «Информатика»

Задание:4

Группа:Пм08М21

Студент: Ветлужских Татьяна Юрьевна

Руководитель: Суворов Станислав Вадимович

Москва 2009

__________________________________________________________________


Содержание

1) Задание на курсовую работу…………………………………………… 3
2) Описание переменных………………………………………………...... 4
3) Блок-схема………………………………………………………………. 7
4) Описание алгоритма……………………………………………………. 9
5) Листинг программы…………………………………………………...... 10
6) Описание входных данных и результат вычислений………………… 12
7) Список использованной литературы…………………………………... 17

Задание на курсовую работу

Склад готовой продукции цеха каждую смену принимает готовые изделия (гайки, болты, шайбы, и т.п., всего 9 видов изделий) и каждую смену отправляет готовые изделия другим цехам. Склад, как цех, работает в 3 смены. В конце 3-й смены подсчитываются остатки.

Написать программу на языке VBA, которая вводит исходные данные, выполняет расчеты и выводит на экран:

- исходные данные в виде таблицы, где указаны наименования изделий и цена каждого вида изделия, остаток от предыдущих суток, поступления каждого вида изделия в каждую смену, отпуск каждого вида изделия в течение смены;

- стоимость остатка от предыдущих суток;

- остаток каждого вида изделий на начало следующего рабочего дня;

- стоимость остатка в конце каждой смены;

- наименование изделия, пользовавшегося в течение 3-х смен наибольшим спросом.


Описание переменных

Исходные данные находятся на листе «Нач_д» (рис. 1) и содержат следующую информацию:

1) Наименование изготавливаемых деталей (9 типов).

2) Стоимость одной детали каждого наименования.

3) Остаток изделий от прошлых суток.

4) Поступления на склад за каждую смену изделий.

5) Отпуск со склада изделий за каждую смену.

Результаты работы программы оформляются на листе «Результат»
(рис. 2).

В программе переменные описаны следующим образом:

1) Ostatok – стоимость остатка от предыдущих суток представляет дробное число

Dim Ostatok As Double

2) Ost_izd(9) – остаток каждого вида изделий на начало следующего рабочего дня представляет массив целых чисел

Dim Ost_izd(9) As Integer

3) Ost_smena(3) – стоимость остатка в конце каждой смены представляет массив дробных чисел

Dim Ost_smena(3) As Double

вспомогательные переменные для определения наименования изделия, пользовавшегося в течение 3-х смен наибольшим спросом

4) Otpusk(9) – отпуск каждого вида изделия за 3 смены представляет массив целых чисел

Dim Otpusk(9) As Integer

5) Ind – индекс элемента в массиве Otpusk(9), соответствующего изделию с максимальным спросом представляет целое число

Dim Ind As Integer

6) MaxSp – максимальное значение отпуска в массиве Otpusk(9) представляет целое число

DimMaxSpAsInteger

В программе так же были использованы вспомогательные переменные, счетчики циклов, 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


Описание входных данных и результат вычислений

1. Проверка работы программы на всех нулях

2. Проверка работы программы на всех единицах

3. Произвольная проверка

Список использованной литературы

1. Информатика. Часть 1. Введение в информатику: учебное пособие / Гришин М.П., Иванов М.Н., Носова Т.К., Суворов С.В. М.: МГИУ, 2008.

2. Информатика. Методическое пособие по выполнению практических работ в компьютерном классе (Word, Excel) / Гришин М.П. М.: МГИУ, 2005.

3. Информатика. Часть 2. Программирование: Учебно-методическое пособие / Иванов М.Н., Суворов С.В. М.: МГИУ. 2006

4. Батищев П.С. Основы программирования на Visual Basic 6.0. Электронный учебник.

5. http://www.vbrussian.com