Написание программы на языке VBA

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

Рубрика Программирование, компьютеры и кибернетика
Вид методичка
Язык русский
Дата добавления 12.01.2014
Размер файла 1,3 M

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

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

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

Федеральное агенство по образованию

Российской Федерации

ИДО ГОУ МГИУ

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

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

Задание:№09

Москва 2011

Содержание

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

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

3. Блок схема………………………………………………………………..…7

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

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

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

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

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

На складе бумажной фабрики находится 5 сортов бумаги. За каждый рабочий день (6 дней) отгружалось получателям некоторое количество бумаги каждого вида. Цена менялась каждый день.

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

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

2. количество отгруженных получателям рулонов бумаги каждого сорта за первые 3 дня;

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

4. общая стоимость всех отгруженных рулонов бумаги за 6 дней;

5. наименование сорта бумаги, которого было отгружено наименьшее количество в 4 день.

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

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

Количество бумаги каждого из 5 сортов, отгруженненных за шесть рабочих дней. Размещено на http://www.allbest.ru/

Стоимость одного рулона бумаги каждого сорта.

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

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

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

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

1) type_nime(5) -- наименование сортов бумаги,отгружаемых со склада бумажной фабрики

Dim type_nime(5) As String

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

Dim price(5) As Double

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

Dim koll(5,6) As Integer

4) total_koll_3den (5) -- общее количество бумаги отгруженного со склада за первых 3 дня

Dim total_koll_3den(5) As Integer

5) total_koll_6 den(6) -- общее количество бумаги отгруженного со склада за 6 дней

Dim total_koll_6 den(6) As Integer

6) total_price -- общая стоимость бумаги отгруженной со склада бумажной фабрики за истекший период

Dim total_price As Double

7) less_del -- количество меньше всего отгруженного сорта бумаги в 4-й день

Dim less_del As Integer

8) less_del_type -- сорт бумаги, которого меньше всего было отгружено в 4-й день

Dim less_del_type As Integer

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

Dim i As Integer, j As Integer

Переменные price(5),total_price могут быть и не целыми числами, поэто-му они объявлены как действительные. Переменные koll(5,6), total_koll_3den (5), total_koll_6 den(6),less_del -- целые числа, так как мы считаем, что фабрика не может поставлят по половине рулона бумаги.

3. Блок схема

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

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

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

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

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

Открытие листа с начальными данными («Initial_data») и получение этих данных в рабочие переменные (массивы type_name(5),price(5) и kоll(5,6)).

Открытие листа с результатами, формирование матрицы входных данных. Организуется два вложенных цикла (по каждому сорту бумаги и дню). Во внутреннем цикле (по первым 3 дням) суммируется количество поставленной бумаги получателю, после выхода из внутреннего цикла выводится результат по дням. Размещено на http://www.allbest.ru/

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

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

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

Sub Function()

Сначала объявляем переменные, используемые в программе.

Dim i As Integer, j As Integer 'внутренние переменные

Dim type_name(5) As String 'сорта бумаги

Dim price(5) As Double 'цена за единицу

Dim koll(5, 6) As Integer 'количество (по дням)

Dim total_koll_3den(5) As Integer 'количество отгруженной бумаги за 3 дна(по сортам)

Dim total_koll_6den(6) As Integer 'количество отгруженной бумаги за 6 дней( по дням)

Dim total_price As Double 'общая стоимость

Dim less_del As Integer 'наименьшее количество поставленной бумаги

Dim less_del_type As Integer 'сорт бумаги, которой меньше всего поставили

Далее всем переменным присваивается нулевое значение

For i = 1 To 5

total_koll_3den(i) = 0

Next

For i = 1 To 6

total_koll_6den(i) = 0

Next

total_price = 0

less_del = 0

less_del_type = 0

Выбираем лист начальных данных

Sheets("Initial_data").Select

'Выбираем сорта бумаги

For i = 1 To 5

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

Next

Вводим цену

For i = 1 To 5

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

Next

Вводим количество

For i = 1 To 5

For j = 1 To 6

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

Next j

Next i

Далее на листе “Result” в ячейку с определенными данными вводится ее название

Sheets("Result").Cells(1, 1) = "Поставка бумаги"

Sheets("Result").Cells(2, 1) = "Сорт бумаги"

Sheets("Result").Cells(2, 2) = "Стоимость"

Sheets("Result").Cells(2, 3) = "Поставки"

Sheets("Result").Cells(3, 3) = "1-й день

Sheets("Result").Cells(3, 4) = "2-й день"

Sheets("Result").Cells(3, 5) = "3-й день"

Sheets("Result").Cells(3, 6) = "Всегоl"

Sheets("Result").Cells(4, 1) = "Сорт бумаги 1"

Sheets("Result").Cells(5, 1) = "Сорт бумаги 2"

Sheets("Result").Cells(6, 1) = "Сорт бумаги 3"

Sheets("Result").Cells(7, 1) = "Сорт бумаги 4"

Sheets("Result").Cells(8, 1) = "Сорт бумаги 5"

Поставки первые 3 дня

For i = 1 To 5

Sheets("Result").Cells(3 + i, 2) = price(i)

For j = 1 To 3

Sheets("Result").Cells(3 + i, 2 + j) =koll (i, j)

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

Next j

Sheets("Result").Cells(3 + i, 6) = total_koll_3den(i)

Next i

Всего поставок по дням

Sheets("Result").Select

Sheets("Result").Cells(10, 1) = "Всего поставок"

Sheets("Result").Cells(11, 3) = " 1-й день"

Sheets("Result").Cells(11, 4) = "2-й день"

Sheets("Result").Cells(11, 5) = "3-й день"

Sheets("Result").Cells(11, 6) = "4-й день"

Sheets("Result").Cells(11, 7) = "5-й день"

Sheets("Result").Cells(11, 8) = "6-й день"

For i = 1 To 6

For j = 1 To 5

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

total_price = total_price + price(j) * koll(j, i)

Next j

Sheets("Result").Cells(12, i + 2) = total_koll_6den(i)

Next i

Общая стоимость поставляемой бумаги

Sheets("Result").Cells(14, 1) = "Общая стоимость"

Sheets("Result").Cells(14, 5) = total_price

Сорт бумаги, которого было отгружено наименьшее количество в 4-й день

less_del = koll(1, 4)

For j = 1 To 5

If koll(j, 4) < less_del Then

less_del = koll(j, 4)

less_del_type = j

End If

Next

Sheets("Result").Cells(16, 1) = "В 4-й день меньше всего отгруженной бумаги"

Sheets("Result").Cells(16, 5) = type_name(less_del_type)

End Sub

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

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

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

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

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

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

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

2. Visual Basic 6.Учебное пособие/ С. Браун.: Питер, 2007.

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

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

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

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

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

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

9. Visual Basic 6.0 Самоучитель для начинающих/ С. Н. Лукин: Диалог-МИФИ, 2001.

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


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

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

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

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

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

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

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

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

    курсовая работа [36,8 K], добавлен 18.09.2010

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

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

  • Программа для расчета полинома. Описание и схема алгоритма, распределение памяти под код программы, под данные и стек. Схема хранения операций ввода-вывода и их подключение. Изменения стека во время прогона программы. Листинг программы с комментариями.

    курсовая работа [59,0 K], добавлен 02.12.2009

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

    лабораторная работа [124,7 K], добавлен 09.01.2012

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

    курсовая работа [391,1 K], добавлен 30.09.2013

  • Создание на языке C базы данных "Стадионы города", требования к программе. Осуществление загрузки базы данных в массив и вывод главного меню в основной программе. Алгоритм работы программы в виде блок-схемы. Описание функций программы и ее листинг.

    курсовая работа [183,6 K], добавлен 06.10.2010

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

    реферат [687,5 K], добавлен 28.10.2011

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