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

Разработка программы на языке VBA, которая вводит исходные данные, выполняет расчеты и выводит на экран. Описание алгоритма и листинг программы. Описание входных данных и результат вычислений. Оформление результатов работы программы на листе "Результат".

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 09.01.2014
Размер файла 1006,4 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

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

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

ИДО ГОУ МГИУ

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

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

Задание: №

Группа: №

Студент:

Руководитель:

Москва 2010

Содержание

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

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

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

В юридической фирме 13 автомобилей, используемых персоналом. Каждый автомобиль, работая 5 дней в неделю, расходует определённое количество бензина.

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

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

· Количество бензина, израсходованное каждой машиной за неделю;

· Стоимость бензина, израсходованного всеми машинами за каждый день;

· Стоимость всего бензина, израсходованного за неделю;

· Номер автомобиля с самым меньшим(по стоимости) потреблением бензина.

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

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

Количество литров бензина, израсходованного каждым из 13 автомобилей за пять рабочих дней.

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

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

Рис.1. Лист с начальными данными

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

1) cena(13) -- стоимость одного литра бензина для каждого автомобиля представляет массив дробных чисел

Dim cena(7) As Double

2) koll(13,5) -- расход бензина для каждого автомобиля в каждый из рабочих дней, представляет двумерный массив целых чисел

Dim koll(7,5) As Double

3) zar(6) -- общий расход бензина за каждый день (от 1 до 5) и общий расход за весь период представляет массив дробных чисел

Dim zar(6) As Double

4) koll_n(13) -- расход бензина каждым автомобилем за истекший период представляет массив целых чисел

Dim kol_n(7) As Double

5) den -- порядковый номер автомобиля с минимальными расходами на бензин за неделю представляет целое число

Dim den As Double

6) zarpl --наименьшие расходы за период представляет дробное число

Dim zarpl As Double

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

Dim i As Integer, j As Integer

Переменные koll_n(13), den, koll(13,5), cena(13), zar(6), zarpl могут быть и не целыми числами, поэтому они объявлены как действительные.

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

3. Блок схема

Рис.3. Блок-схема

Рис.3. Блок-схема (продолжение)

Рис.3. Блок-схема (окончание)

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

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

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

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

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

Расчет сумм затрат по автомобилям за каждый день, количество израсходованных литров и вывод результатов. Организуется два вложенных цикла: внешний по автомобилям, внутренний по дням. Для оптимизации процесса расчетная часть совмещена с выводом: во внутреннем цикле происходит вычисление суммы затрат по i-му автомобилю в j-й день с выводом результата, во внешнем цикле (после получения результатов внутреннего цикла) -- вывод затрат на одном автомобиле и по всем автомобилям. Расчет затрат за каждый день организован в этом же внутреннем цикле.

Определение автомобиля с минимальными затратами. Используется алгоритм сравнения, при равенстве двух и более сумм затрвт результативной считается первая сумма.

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

VERSION 1.0 CLASS

BEGIN

MultiUse = -1 'True

END

Attribute VB_Name = "Лист1"

Attribute VB_GlobalNameSpace = False

Attribute VB_Creatable = False

Attribute VB_PredeclaredId = True

Attribute VB_Exposed = True

Sub kr_Click()

'объявляем переменные используемые в программе

Dim i As Integer, j As Integer 'счетчики циклов

Dim koll(13, 5) As Double 'расход каждого автомобиля за каждый рабочий день

Dim zar(6) As Double 'расход за каждый день

Dim koll_n(13) As Double 'количество израсходованных литров каждым автомобилем за истекший период

Dim den As Double 'порядковый номер автомобиля с наименьшим расходом

Dim zarpl As Double 'сумма наименьшего расхода

Dim cena(13) As Double 'стоимость одного литра для каждого автомобиля

'в начале программы все переменные равны нулям

'обнуляем переменные

For i = 1 To 13

koll_n(i) = 0

Next

For j = 1 To 6

zar(j) = 0

Next

zarpl = 0

den = 0

'считываем начальные данные

Sheets("Нач_д").Select

'в каждую ячейку массива cena(i) записывается стоимость литра бензина для каждого автомобиля

'для этого используем цикл

For i = 1 To 13

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

Next

'в каждую ячейку массива koll(i, j) записывается количество литров бензина, израсходованных в день каждым автомобилем

'так как массив двумерный цикл проходит по двум счетчикам

For i = 1 To 13

For j = 1 To 5

koll(i, j) = Cells(3 + i, 3 + j)

Next j

Next i

'на листе "Результат" создаются ячейки с определенными названиями

Sheets("Результат").Cells(1, 1) = "Расход бензина"

Sheets("Результат").Cells(2, 1) = "Номер автомобиля"

Sheets("Результат").Cells(2, 2) = "Тип бензина"

Sheets("Результат").Cells(2, 3) = "Стоимость литра"

Sheets("Результат").Cells(2, 4) = "Израсходованно"

Sheets("Результат").Cells(3, 4) = "1-й день"

Sheets("Результат").Cells(3, 5) = "2-й день"

Sheets("Результат").Cells(3, 6) = "3-й день"

Sheets("Результат").Cells(3, 7) = "4-й день"

Sheets("Результат").Cells(3, 8) = "5-й день"

Sheets("Результат").Cells(3, 9) = "Всего"

Sheets("Результат").Cells(4, 1) = "р567от150"

Sheets("Результат").Cells(5, 1) = "о205св150"

Sheets("Результат").Cells(6, 1) = "а998ов150"

Sheets("Результат").Cells(7, 1) = "х223хр150"

Sheets("Результат").Cells(8, 1) = "с947тт150"

Sheets("Результат").Cells(9, 1) = "е767ос150"

Sheets("Результат").Cells(10, 1) = "а399ан150"

Sheets("Результат").Cells(11, 1) = "в772рр150"

Sheets("Результат").Cells(12, 1) = "е289вв150"

Sheets("Результат").Cells(13, 1) = "в114аа150"

Sheets("Результат").Cells(14, 1) = "с341оо150"

Sheets("Результат").Cells(15, 1) = "т442рр150"

Sheets("Результат").Cells(16, 1) = "а494ав150"

For i = 1 To 13

Sheets("Результат").Cells(2 + i, 2) = Sheets("Нач_д").Cells(2 + i, 2)

Next

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

For i = 1 To 13

Sheets("Результат").Cells(3 + i, 3) = cena(i)

For j = 1 To 5

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

Sheets("Результат").Cells(3 + i, 3 + j) = koll(i, j)

'рассчитывается количество литров бензина израсходованных автомобилем за неделю

koll_n(i) = koll_n(i) + koll(i, j)

Next j

'результат записывается в соответствующие ячейки

Sheets("Результат").Cells(3 + i, 9) = koll_n(i)

Next i

'на листе "Результат" создаются ячейки с определенными названиями

Sheets("Результат").Select

Sheets("Результат").Cells(18, 1) = "Результат в денежном эквиваленте"

Sheets("Результат").Cells(19, 1) = "Номер автомобиля"

Sheets("Результат").Cells(19, 2) = "тип бензина"

Sheets("Результат").Cells(19, 3) = "Стоимость литра"

Sheets("Результат").Cells(19, 4) = "Стоимость бензина"

Sheets("Результат").Cells(20, 4) = "1-й день"

Sheets("Результат").Cells(20, 5) = "2-й день"

Sheets("Результат").Cells(20, 6) = "3-й день"

Sheets("Результат").Cells(20, 7) = "4-й день"

Sheets("Результат").Cells(20, 8) = "5-й день"

Sheets("Результат").Cells(20, 9) = "Всего"

Sheets("Результат").Cells(21, 1) = "р567от150"

Sheets("Результат").Cells(22, 1) = "о205св150"

Sheets("Результат").Cells(23, 1) = "а998ов150"

Sheets("Результат").Cells(24, 1) = "х223хр150"

Sheets("Результат").Cells(25, 1) = "с947тт150"

Sheets("Результат").Cells(26, 1) = "е767ос150"

Sheets("Результат").Cells(27, 1) = "а399ан150"

Sheets("Результат").Cells(28, 1) = "в772рр150"

Sheets("Результат").Cells(29, 1) = "е289вв150"

Sheets("Результат").Cells(30, 1) = "в114аа150"

Sheets("Результат").Cells(31, 1) = "с341оо150"

Sheets("Результат").Cells(32, 1) = "т442рр150"

Sheets("Результат").Cells(33, 1) = "а494ав150"

Sheets("Результат").Cells(34, 1) = "ИТОГО"

For i = 1 To 13

Sheets("Результат").Cells(19 + i, 2) = Sheets("Нач_д").Cells(2 + i, 2)

Next

'во внешнем цикле происходит вывод стоимости одного литра и общей стоимости бензина, израсходованного в данный период

For i = 1 To 13

'в этом цикле вычисляется стоимость бензина израсходованного каждым автомобилем за каждый день

'а также расчет общих затрат за каждый день

For j = 1 To 5

Sheets("Результат").Cells(20 + i, 3 + j) = koll(i, j) * cena(i)

zar(j) = zar(j) + koll(i, j) * cena(i)

zar(6) = zar(6) + koll(i, j) * cena(i)

Next j

Sheets("Результат").Cells(20 + i, 3) = cena(i)

Sheets("Результат").Cells(20 + i, 9) = cena(i) * koll_n(i)

Next i

For i = 1 To 5

Sheets("Результат").Cells(34, 3 + i) = zar(i)

Next

'в данном цикле происходит выбор суммы наименьших затрат на бензин и соответственно

'автомобилем с минимальными затратами становится автомобиль j

zarpl = cena(1) * koll_n(1)

For j = 1 To 13

If (cena(j) * koll_n(j)) < zarpl Then

zarpl = cena(j) * koll_n(j)

den = j

End If

Next

'в соответствующие ячейки выводятся затраты на бензин за неделю, автомобиль с минимальными затратами и стоимость бензина для него

Sheets("Результат").Select

Sheets("Результат").Cells(34, 9) = zar(6)

Sheets("Результат").Cells(36, 1) = "Автомобиль с минимальными затратами"

Sheets("Результат").Cells(36, 4) = Cells(3 + den, 1)

Sheets("Результат").Cells(36, 7) = "Стоимость бензина"

Sheets("Результат").Cells(36, 9) = zarpl

End Sub

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

Проверка программы на всех единицах:

Проверка на всех нулях:

Проверка на произвольных данных:

Исходные данные для задания № 34 представлены на Рис.№1., решение - на Рис.2..

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

1. MS Office XP, 2003 Word, Excel, Access, Outlook, PowerPoint, FrontPage, MS Project/ А. К. Гультяев: Корона-Век, 2006

2. VBA. Практическое программирование/ Туркин Олег: Солон-пресс,2007

3. VBA/ Кузьменко В.Г.: Бином,2008.

4. Измерение, управление и регулирование с помощью макросов VBA в Word и Excel/ Берндт Г.-Й.: КОРОНА-Век, 2008

5. Информатика. Методические указания по выполнению практических работ в компьютерном классе (Access, Internet) / Гришин М.П., Юрасов А.Б. М.: МГИУ, 2003.

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

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

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

9. Моделирование с помощью Microsoft Excel и VBA. Разработка систем поддержки принятия решений/ Кристиан Олбрайт: Вильямс, 2005

10. Профессиональная разработка приложений Excel/ Стивен Буллен, Роб Боуви, Джон Грин: Вильямс, 2005

11. Самоучитель VBA/ Андрей Гарнаев: БХВ-Петербург,2004

12. Самоучитель программирования на VBA в Microsoft Office/В. Д. Хореев: Юниор, 2001

13. Электронные таблицы Microsoft Excel. Проблемы и решения/ Лори Анн Ульрих: Эком, 2002

Размещено на Allbest.ru


Подобные документы

  • Характеристика программы на языке VBA, которая вводит исходные данные, выполняет расчеты и выводит результаты на экран. Описание переменных в программе, ее блок-схема и алгоритм работы. Листинг программы. Описание входных данных и результат вычислений.

    курсовая работа [721,4 K], добавлен 10.11.2010

  • Разработка программы на языке VBA, которая вводит исходные данные, выполняет расчеты и выводит на экран заданную информацию. Типы блок-схем и их использование при написании программы. Описание входных данных и результат вычислений, листинг программы.

    курсовая работа [680,3 K], добавлен 03.08.2009

  • Программа на языке VBA, которая выводит исходные данные на экран и выполняет расчеты и предназначена для учета на складе мастерской индивидуального пошива. Описание переменных и алгоритма программы. Листинг программы, примеры произведенных расчетов.

    реферат [25,4 K], добавлен 10.12.2010

  • Разработка программы на языке VBA для управления деятельностью птицеводческой фермы, которая вводит исходные данные, выполняет расчеты и выводит на экран расчет данных по уходу за гусями и показатели оценки эффективности организации птицеводства.

    курсовая работа [1,8 M], добавлен 19.04.2011

  • Программа на языке VBA, которая вводит исходные данные, выполняет расчеты и выводит на экран. Лист с начальными данными. Ввод начальных (нулевых) значений для расчетных величин. Вспомогательные переменные, счетчики циклов. Формирование матрицы данных.

    курсовая работа [2,7 M], добавлен 01.12.2010

  • Описание алгоритма решения задачи графическим способом. Вывод элементов массива. Описание блоков укрупненной схемы алгоритма на языке Pascal. Листинг программы, а также ее тестирование. Результат выполнения c помощью ввода различных входных данных.

    контрольная работа [150,4 K], добавлен 03.05.2014

  • Написание программы, которая вводит исходные данные, выполняет расчет и выводит на экран. Использование вспомогательных переменных и счетчиков циклов в программе. Расчет сумм заработков по каждому виду одежды за день, количества изготовленных деталей.

    курсовая работа [2,4 M], добавлен 17.01.2015

  • Разработка программы на языке Pascal. Описание переменных. Действия, которые должна выполнить программа согласно выбранного алгоритма. Детализация графической части программы. Листинг и тестирование программы. Вывод массива данных на экран монитора.

    контрольная работа [360,4 K], добавлен 13.06.2012

  • Разработка программы тестирования студентов по MS PowerPoint с кодом на языке Delphi. Создание алгоритма для решения функциональных требований задачи. Описание переменных, вспомогательных процедур, входных и выходных данных для реализации программы.

    курсовая работа [1,5 M], добавлен 21.09.2010

  • Написание программы для работы с клиентами средствами языка Delphi, которая предусматривает ввод, редактирование и удаление информации. Разработка алгоритма решения задачи, описание переменных, вспомогательных процедур, входных и выходных данных.

    курсовая работа [355,7 K], добавлен 21.09.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.