Программа на языке VBA

Автор работы: Пользователь скрыл имя, 27 Марта 2011 в 19:20, курсовая работа

Описание работы

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

Склад, как цех, работает в 3 смены. В конце 3-й смены подсчитываются остатки.

Содержание работы

Задание на курсовую работу 3
2 Описание переменных 4
3 Блок схема 6
4 Описание алгоритма 10
5 Листинг программы 11
6 Описание входных данных и результат вычислений 16
7 Список использованной литературы 21

Файлы: 1 файл

Вырезка.doc

— 572.00 Кб (Скачать файл)

Содержание 

1 Задание на курсовую работу 3
2 Описание  переменных 4
3 Блок  схема 6
4 Описание  алгоритма 10
5 Листинг программы 11
6 Описание  входных данных и  результат вычислений 16
7 Список  использованной литературы 21
 

 

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

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

       Склад, как цех, работает в 3 смены. В конце 3-й смены подсчитываются остатки.

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

       Исходные  данные в виде таблицы, где указаны:

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

       Результат вычислений

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

 

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

Dim S As String ' строка изделий

Dim IZD() As String ' массив изделий

Dim R As Integer ' переменные циклов

Dim C As Integer ' переменные циклов

Dim St_Ost(3) Double 'стоимость остатка в конце каждой смены

'0 - от предыдущих  суток; 1 - после первой смены;

'2 - после второй  смены; 3 - после 3 смен

Dim MAX As Integer ' максимальный расход изделия, пользовавшегося в течение 3-х смен наибольшим спросом.

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

Dim ID() 'Массив исходных данных

'считываем исходные  данные в массив

ID = Лист1.Range(Cells(3, 2), Cells(11, 12)) '

'имеем первая  размерность - вид изделия

'вторая размерность:

'1 - наименование  изделия

'2 - цена изделия

'3 - количество  изделий на начало рабочего  дня

'4,6,8 - приход  изделий на склад по сменам

'5,7,9 - расход  изделий со склада по сменам

'будем заносить

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

'11 - спрос - сумма  расходов со склада 

 

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

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

Рис.1. Начальные  данные 

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

Рис.2. Полученные результаты

 

3.Блок схема 

Sub Продукция() ' выбрать продукцию 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 

Sub Случайно() ' заполнение случайными числами

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

     Начало  программы.

     Открытие  листа с начальными данными («Исходные  данные»)

     Ввод  начальных  значений для расчетных величин

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

     Получение этих данных в рабочие переменные (массив ID ()).

     Открытие  листа с результатами, формирование матрицы входных данных. Организуется два вложенных цикла (по каждому виду изделий и по сменам).

     Во  внешнем цикле:

    • Остаток на начало дня
    • Остаток на начало дня

     Во  внутреннем цикле (по сменам)

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

     Для определения наименование изделия, пользовавшегося в течение 3-х смен наибольшим спросом организован цикл, в котором максимальный спрос сравнивается со спросом каждого вида изделий. И в случае если спрос больше – запоминается спрос и номер типа изделия При равенстве двух и более спросов результативным считается первый.

 

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

       Option Explicit

       Dim S As String ' строка изделий

       Dim IZD() As String ' массив изделий

       Dim R As Integer ' переменные циклов

       Dim C As Integer ' переменные циклов

       Dim OST  ' временное  изделие 

       Sub Стереть() 'стереть  всё

           Range("B3:M15").ClearContents  'очистить содержание

           Лист2.Select 'перейти  на лист результатов

           Cells.Select 'выбрать весь  лист

           Selection.ClearContents 'очистить  содержание

           Range("A1").Select 'перейти  на начало листа

           Лист1.Select 'перейти  на лист исходных данных

           Cells(1, 1).Select 'перейти  на начало листа

       End Sub ' 

       Sub Продукция() ' выбрать  продукцию

       S = "Гайки,Болты,Шайбы,Винты,Шпильки,Саморезы,Прокладки,Зажимы,Фитинги,Заглушки,"

       S = S & "Муфты,Тройники,Переходники,Штуцеры,Ниппели,Краны,Сальники,Уплотнения"

       IZD = Split(S, ",") ' Разбиваем  строку на массив

       For R = 3 To 11 ' заполняем  произвольными значениями  из списка

       1

        OST = IZD(Int(18 * Rnd))  'выбираем  случайно изделие

           For C = 3 To R 'проверяем  на повторяемость  в списке 

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

       Программа организована таким образом, что позволяет вносить данные в таблицу данных вручную и производить расчёты. Это реализовано считыванием таблицы с исходными данными в массив с дальнейшей обработкой этого массива.

       Для облегчения процесса ввода проверочных  значений (0, 1) и  заполнения таблицы  случайными значениями в программу  добавлены соответствующие  процедуры.

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

       Все процедуры вызываются пользователем с помощью кнопок, расположенных на листе с исходными данными.

       Кроме этого процедура «Sub Продукция()» вызывается из процедур изменяющих значения исходных данных:  «Проверка на «0»», «Проверка на «1»» и «Случайно» в случае если таблица с наименованиями продукции не заполнена(после отработки процедуры «Sub Стереть()»

 

        1. —  Нажали  кнопку «Стереть»

      Лист  «Результаты» очищается полностью. На листе «Исходные данные очищается  таблица

    2 - Нажали кнопку «Продукция»

    Случайным способом заполнились колонки таблицы:

    • Изделие
    • Цена
    • Остаток

 

3 — Нажали кнопку «Проверка на «0»»

       Таблица заполнилась нулевыми значениями 

 

После этого нажали «Расчёт»

Открылся лист с результатами расчёта

 

 

4 — Нажали кнопку «Проверка на «1»»

Таблица с исходными данными заполнилась единицами

 

После этого нажали «Расчёт»

Открылся лист с результатами расчёта

 

         Примечание: При проверке лучшим определяется первый по списку. Так как у всех результаты одинаковые.

 

5 — Нажали кнопку «Случайно»

Таблица с исходными данными заполнилась случайными числами. Примечание: если до этого производилась проверка – необходимо сначала нажать «Продукция». Так как только в этой процедуре назначаются цены и остатки. 

После этого нажали «Расчёт»

Открылся лист с результатами расчёта

 

Литература

  1. М.Н. Иванов, С.В. Суворов «Информатика Част 2. Программирование», Москва 2006 г.
  2. Программирование на VBA в Microsoft Office 2007. Самоучитель, Слепцова Лилия Дмитриевна
  3. Excel и VBA : Профессиональная разработка приложений , Стивен Буллен, Роб Боуви, Джон Грин
  4. Microsoft Office 2007 для чайников. Полный справочник, Питер Веверка
  5. Microsoft Office 2007. Все в одном, Грег Перри
  6. MS Office XP, 2003 Word, Excel, Access, Outlook, PowerPoint, FrontPage, MS Project/ А. К. Гультяев: Корона-Век, 2006
  7. VBA. Практическое программирование/ Туркин Олег: Солон-пресс,2007
  8. VBA/ Кузьменко В.Г.: Бином,2008.
  9. Измерение, управление и регулирование с помощью макросов VBA в Word и Excel/ Берндт Г.-Й.: КОРОНА-Век, 2008
  10. Информатика. Методические указания по выполнению практических работ в компьютерном классе (Access, Internet) / Гришин М.П., Юрасов А.Б. М.: МГИУ, 2003.
  11. Информатика. Методическое пособие по выполнению практических работ в компьютерном классе (Word, Excel) / Гришин М.П. М.: МГИУ, 2005.
  12. Информатика. Часть 1. Введение в информатику: учебное пособие / Гришин М.П., Иванов М.Н., Носова Т.К., Суворов С.В. М.: МГИУ, 2008.
  13. Информатика. Часть 2. Программирование: Учебно-методическое пособие / Иванов М.Н., Суворов С.В. М.: МГИУ. 2006.
  14. Моделирование с помощью Microsoft Excel и VBA. Разработка систем поддержки принятия решений/ Кристиан Олбрайт: Вильямс, 2005
  15. Профессиональная разработка приложений Excel/ Стивен Буллен, Роб Боуви, Джон Грин: Вильямс, 2005
  16. Самоучитель VBA/ Андрей Гарнаев: БХВ-Петербург,2004
  17. Самоучитель программирования на VBA в Microsoft Office/В. Д. Хореев: Юниор, 2001
  18. Электронные таблицы Microsoft Excel. Проблемы и решения/ Лори Анн Ульрих: Эком, 2002
  19. http://www.firststeps.ru/vba/excel/vbaexcel1.html
  20. http://www.cyberforum.ru/vba/

Информация о работе Программа на языке VBA