Програмирование на vba в среде ms excel

Автор работы: Пользователь скрыл имя, 16 Января 2013 в 12:38, курсовая работа

Краткое описание

На складе мастерской индивидуального пошива имеются запасы 10-ти видов ткани. За каждый рабочий день (6 дней) расходовалось некоторое количество ткани каждого вида.
Написать программу на языке VBA , которая вводит исходные данные, выполняет расчеты и выводит на экран:
исходные данные в виде таблицы, где перечислены наименования ткани, цена ткани, расход каждого вида ткани каждый день в метрах;
расход каждого вида ткани за неделю;
стоимость всей израсходованной ткани за день;

Вложенные файлы: 1 файл

курсовая_информатика.doc

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

 

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

 

 

 

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

 

на тему «програмирование на vba в среде ms excel»

 
     

Москва, 2009

 



 

 

 

 

 

 

Оглавление

 

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

 

Задание 14

На складе мастерской индивидуального пошива имеются запасы 10-ти видов ткани. За каждый рабочий день (6 дней) расходовалось некоторое количество ткани каждого вида.

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

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

 

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

 

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

    1. количество тканей каждой  из 10 наименовании, проданных за 6 дней;
    2. стоимость ткани по цене, устанавливаемой в начале каждого дня.

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

Программа запускается при нажатии  на кнопку «Выполнить расчёт». Результаты работы программы оформляются на листе «Результат».

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

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

    'Наменования  деталей

    Dim naimen(kol_detaley) As String

    'Цена деталей

    Dim cena(kol_detaley) As Double

    'Количество проданных деталей

    Dim kol(kol_detaley, kol_smen) As Integer

    'Количество полученных  деталей

    Dim pol(kol_detaley, kol_smen) As Integer

    'Остаток на 1-ю смену

    Dim ostatok_1(kol_detaley) As Integer

    'Остаток на 2-ю смену

    Dim ostatok_2(kol_detaley) As Integer

   

    'Доход по каждой детале

    Dim doh_detal(kol_detaley) As Double

    'Наименование самой прибыльной детали

    Dim naimen_detali As String

    'Наибольшая прибыль  детали

    Dim max_prib As Double

В программе также были использованы вспомогательные переменные, счетчики циклов, i и j, являющиеся целыми числами.

    Dim i As Integer, j As Integer.

 

Блок – схема

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

Общая структура курсовой работы имеет вид, показанный на стр. 8, 9, 10, 11.

Некоторые типы блоков:

    • квадрат — блок решения;
    • эллипс — данный блок используется для обозначения начала и конца алгоритма;
    • ромб — данный блок используется для обозначения условного оператора;
    • шестиугольник — данный блок используется для обозначения оператора цикла;
    • стрелками обозначен переход от одного действия к другому.

 


 

 

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

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

Ввод начальных (нулевых) значений для расчетных величин (доход по каждой ткани, доход за каждый день, общий доход по всем тканям, наименование самой прибыльной ткани и наибольшая прибыль ткани).

Открытие листа с начальными данными («Нач_данные») и получение  этих данных в рабочие переменные.

Открытие листа с результатами.

Вывод результатов

    • вывод исходных данных;
    • вывод дохода по каждой ткани;

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

    • вывод дохода за каждый день;

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

    • вывод общего дохода по всем тканям;

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

    • вывод наименования самой прибыльной ткани;

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

 

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

 

Sub Кнопка1_Щелчок()

    'Объявление констант

   

    'Количество наименований

    Const kol_detaley = 10

    'Количество смен

    Const kol_smen = 2

 

    'Объявление переменных

   

    'Наменования деталей

    Dim naimen(kol_detaley) As String

    'Цена деталей

    Dim cena(kol_detaley) As Double

    'Количество проданных деталей

    Dim kol(kol_detaley, kol_smen) As Integer

    'Количество полученных деталей

    Dim pol(kol_detaley, kol_smen) As Integer

    'Остаток на 1-ю смену

    Dim ostatok_1(kol_detaley) As Integer

    'Остаток на 2-ю смену

    Dim ostatok_2(kol_detaley) As Integer

   

    'Доход по каждой детале

    Dim doh_detal(kol_detaley) As Double

    'Наименование самой прибыльной детали

    Dim naimen_detali As String

    'Наибольшая прибыль  детали

    Dim max_prib As Double

   

    'Счетчики циклов

    Dim i As Integer, j As Integer

       

    'Обнуление результатов

   

    For i = 1 To kol_detaley

        doh_detal(i) = 0

    Next

   

    obsh_doh = 0

    naimen_detali = ""

    max_prib = 0

   

    'Открытие листа с  исходными данными

    Sheets(1).Select

   

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

   

    For i = 1 To kol_detaley

        naimen(i) = Cells(3 + i, 1)

    Next

       

    For i = 1 To kol_detaley

        cena(i) = Cells(3 + i, 2)

        ostatok_1(i) = Cells(3 + i, 3)

        ostatok_2(i) = Cells(3 + i, 3) + Cells(3 + i, 4) - Cells(3 + i, 5)

        For j = 1 To kol_smen

            pol(i, j) = Cells(3 + i, 2 * (j - 1) + 4)

            kol(i, j) = Cells(3 + i, 2 * (j - 1) + 5)

        Next

    Next

   

    'Открытие листа с  результатами

    Sheets(2).Select

   

    'Вывод результатов:

   

    'Шапка таблицы

    Cells(2, 1) = "Результаты расчётов"

    Cells(3, 1) = "Наименование"

    Cells(3, 2) = "Цена"

    Cells(3, 3) = "Остаток на  начало 1-й смены"

    Cells(3, 4) = "Получено в  1-ю смену"

    Cells(3, 5) = "Отдано в 1-ю смену"

    Cells(3, 6) = "Стоимость остатка  на начало смены"

   

    Cells(15, 1) = "Наименование"

    Cells(15, 2) = "Остаток на  начало 2-й смены"

    Cells(15, 3) = "Получено во 2-ю смену"

    Cells(15, 4) = "Отдано во 2-ю  смену"

   Cells(15, 5) = "Стоимость остатка на начало 2-й смены"

    Cells(15, 6) = "Остаток на  конец 2-й смены"

    Cells(15, 7) = "Стоимость остатка  на конец 2-й смены"

   

    'Вывод исходных данных

    For i = 1 To kol_detaley

        Cells(3 + i, 1) = naimen(i)

        Cells(3 + i, 2) = cena(i)

        Cells(3 + i, 3) = ostatok_1(i)

        Cells(3 + i, 4) = pol(i, 1)

        Cells(3 + i, 5) = kol(i, 1)

        Cells(3 + i, 6) = cena(i) * ostatok_1(i)

       

        Cells(15 + i, 1) = naimen(i)

        Cells(15 + i, 2) = ostatok_2(i)

        Cells(15 + i, 3) = pol(i, 2)

        Cells(15 + i, 4) = kol(i, 2)

        Cells(15 + i, 5) = cena(i) * ostatok_2(i)

        Cells(15 + i, 6) = ostatok_2(i) + pol(i, 2) - kol(i, 2)

        Cells(15 + i, 7) = (ostatok_2(i) + pol(i, 2) - kol(i, 2)) * cena(i)

    Next

 

    'Вывод наименования  самой прибыльной детали

    For i = 1 To kol_detaley

        doh_detal(i) = kol(i, 1) + kol(i, 2)

        If doh_detal(i) > max_prib Then

            max_prib = doh_detal(i)

            naimen_detali = naimen(i)

        End If

    Next

   

    Cells(30, 1) = "Самая ходовая  деталь:"

    Cells(30, 2) = naimen_detali

 

End Sub

 

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

 

Для начала необходимо создать документ Microsoft Excel  и записать на рабочий лист начальные данные. Затем необходимо запустить редактор Microsoft Visual Basic, чтобы в нем написать код программы. Далее следует сохранить изменения в созданном модуле и запустить программу. При необходимости следует исправить допущенные ошибки. После чего результат работы программы будет помещен на лист «Результат».

 

Список литературы

    1. Иванов М.И., Суворов С.В. Информатика. Часть 2. Программирование.- Москва 2004.
    2. Конспект курса лекционных и практических занятий в МГИУ.
    3. Острейковский В.А. Информатика.-Москва-2000.

Информация о работе Програмирование на vba в среде ms excel