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

__________________________________________________________________

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

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

ИДО ГОУ МГИУ





























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

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



























Задание:4

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

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

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







Москва 2009

__________________________________________________________________

	
Содержание

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

	3

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

	4

		Блок-схема……………………………………………………………….

	7

		Описание алгоритма…………………………………………………….

	9

		Листинг программы…………………………………………………......

	10

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

	12

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

	17

	

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	

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

	

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

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

	Dim Ostatok As Double

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

	Dim Ost_izd(9) As Integer

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

	Dim Ost_smena(3) As Double

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

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

	Dim Otpusk(9) As Integer

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

	Dim Ind As Integer

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

	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. Произвольная проверка

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

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

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

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

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

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

	http://www.vbrussian.com





6