Написание программы на языке 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