Программирование на VBA в среде MS Excel
Написание программы на языке VBA, которая вводит исходные данные, выполняет расчеты и выводит на экран: исходные данные в виде таблицы, где указаны наименования фруктово-ягодных культур, закупочные цены каждой культуры и урожай в центнерах в каждом году.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 25.11.2011 |
Размер файла | 3,3 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
2
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ
Государственное образовательное учреждение
высшего профессионального образования
Московский государственный индустриальный университет
(ГОУ МГИУ)
Кафедра бухгалтерского учета, анализа и аудита
Курсовая работа
по специальности «Информатика»
на тему «ПРОГРАММИРОВАНИЕ НА VBA В СРЕДЕ MS EXCEL»
вариант № 7
Группа 10Б21
Студент
И.В. Баженова
Руководитель проекта, доцент, к.э.н.
С.В. Суворов
ДОПУСКАЕТСЯ К ЗАЩИТЕ
Заведующий кафедрой
С.В. Суворов
доцент, к.э.н.
Оценка
Москва 2011
Оглавление
Задание на курсовую работу
Описание переменных
Блок-схема
Описание алгоритма
Листинг программы
Описание вводных данных и результат вычислений
Список литературы
Задание на курсовую работу
В коллективном хозяйстве имеются фруктово-ягодные сады (яблоня, вишня, слива, черная смородина, крыжовник, клубника - всего 6 фруктово-ягодных культур). Каждый год в течение 5 лет колхоз собирал урожай с каждого сада и продавал урожай по закупочным ценам, которые различались по годам. написание программа vba
Написать программу на языке VBA, которая вводит исходные данные, выполняет расчеты и выводит на экран:
· Исходные данные в виде таблицы, где указаны наименования фруктово-ягодных культур, закупочные цены каждой культуры и урожай в центнерах в каждом году;
· Общий урожай каждой культуры за 5 лет;
· Доход по всем культурам за каждый год;
· Общий доход колхоза за 5 лет;
· Наименование культуры, принесшей максимальный доход за 5 лет.
Описание переменных
В программе переменные описаны следующим образом Dim urozhay(6, 5) As Integer
- урожай в центнерах за каждый год по всем 6 фруктово-ягодным культурам
Dim cena(6, 5) As Single
- закупочные цены каждой культура по всем 5 годам
Dim urozhay_ob(6) As Integer
- общий урожай по каждой культуре за 5 лет
Dim dohod_kultura(6) As Single
- доход за все 5 лет по каждой культуре
Dim dohod_god(5) As Single
- доход по всем культурам за каждый год
Dim dohod_obschiy As Single
- общий доход колхоза за 5 лет
Dim Max As Single
- максимум среди дохода за все 5 лет по каждой культуре в дальнейшем понадобится для нахождения наименование культуры принесшей максимальный доход за 5 лет
Dim index1 As Integer
- переменная необходима для вывода на экран названия культуры принесшей максимальный доход за 5 лет
Dim Naimenovanie(6) As String
- наименование культур для сортировки
Dim naim As String
- переменная для упорядочивания наименования
Dim ur As Integer
- переменная для упорядочивания общего урожая
Dim i, j As Integer
- переменные счетчиков цикла
Блок-схема
Размещено на http://www.allbest.ru/
2
Описание алгоритма
Зарезервируем память для хранения переменных и массивов:
Dim urozhay(6, 5) As Integer - урожай в центнерах за каждый год по всем 6 фруктово-ягодным культурам
Dim cena(6, 5) As Single - закупочные цены каждой культура по всем 5 годам
Dim urozhay_ob(6) As Integer - Общий урожай по каждой культуре за 5 лет
Dim dohod_kultura(6) As Single - доход за все 5 лет по каждой культуре
Dim dohod_god(5) As Single - доход по всем культурам за каждый год
Dim dohod_obschiy As Single - общий доход колхоза за 5 лет
Dim Max As Single - максимум среди дохода за все 5 лет по каждой культуре в дальнейшем понадобится для нахождения наименование культуры принесшей максимальный доход за 5 лет
Dim index1 As Integer - переменная необходима для вывода на экран названия культуры принесшей максимальный доход за 5 лет
Dim Naimenovanie(6) As String - наименование культур для сортировки
Dim naim As String - переменная для упорядочивания наименования
Dim ur As Integer - переменная для упорядочивания общего урожая
Dim i, j As Integer - переменные счетчиков цикла
Прировняем общий доход колхоза за 5 лет нулю. Создаем цикл для всех видов культур что бы обнулить общий урожай. Затем создаем цикл на 5 лет, доход за каждый год обнуляем.
Создаем внешний цикл для 6 видов культур, затем создаем внутренний цикл для 5 лет, занесем данные с экрана в массив об урожае в центнерах за каждый год по всем 6 культурам, занесем данные с экрана в массив о закупочных ценах каждой культуры по всем 5 годам. Одновременно просуммируем общий урожай каждой культуры за 5 лет. Посчитаем доход за все 5 лет по каждой культуре. После вывода из внутреннего цикла выведем на экран в 12 столбец массив UROZHAY_OB. Выходим из внешнего цикла.
Создаем внешний цикл за 5 лет и внутренний для 6 видов культур. Считаем доход за каждый год. Выходим из внутреннего цикла. Выводим доход за каждый год. Доход за 5 лет рассчитываем и выводим его. Выходим из внешнего цикла.
Для расчета самой выгодной культуры назначим максимумом первый элемент массива. Создадим цикл из 6 культур. Если максимум меньше или равен текущему элементу массива, максимумом становится текущий элемент массива, запоминает в переменную index1 номер элемента массива, в котором содержится максимум. Выходим из цикла. Выводим значение самой выгодной культуры.
Очищаем ячейки общего урожая каждой культуры за 5 лет, доход по всем культурам за каждый год, общий доход колхоза за 5 лет и наименование культуры, принесшей максимальный доход за 5 лет.
Очищаем на 0 и 1 закупочные цены и урожаи за все года.
Создаем цикл из 6 культур. Заносим в массив наименование культур и общий урожай по каждой из культур. Покидаем цикл.
Создаем внешний цикл из 5 культур. Создаем внутренний и внешний цикл для сортировки культур по убыванию их урожайности. Если общий урожай одной культуры меньше общего урожая другой культуры то меняем их местами. Выходим из циклов.
Создаем цикл из 6 культур. Выводим наименование и их общего урожая в порядке их убывания.
Листинг программы
Sub kursovoe_zadanie 7()
Dim urozhay(6, 5) As Integer
'урожай в центнерах за каждый год по всем 6 фруктово-ягодным культурам
Dim cena(6, 5) As Single
'закупочные цены каждой культура по всем 5 годам
Dim urozhay_ob(6) As Integer
'Общий урожай по каждой культуре за 5 лет
Dim dohod_kultura(6) As Single
'доход за все 5 лет по каждой культуре
Dim dohod_god(5) As Single
'доход по всем культурам за каждый год
Dim dohod_obschiy As Single
'общий доход колхоза за 5 лет
Dim Max As Single
'максимум среди дохода за все 5 лет по каждой культуре
'в дальнейшем понадобится для нахождения наименование культуры
'принесшей максимальный доход за 5 лет
Dim index1 As Integer
'переменная необходима для вывода на экран названия культуры принесшей максимальный доход за 5 лет
Dim Naimenovanie(6) As String
'наименование культур для сортировки
Dim naim As String
'переменная для упорядочивания наименования
Dim ur As Integer
'переменная для упорядочивания общего урожая
Dim i, j As Integer
'переменные счетчиков цикла
dohod_obschiy = 0
For i = 1 To 6
urozhay_ob(i) = 0
Next i
For i = 1 To 5
dohod_god(i) = 0
Next i
For i = 1 To 6
'внешний цикл для 6 видов культур
For j = 1 To 5
'внутренний цикл для 5 лет
urozhay(i, j) = Cells(i + 3, j + 6)
'занесем данные с экрана в массив об урожае в центнерах за каждый год по всем 6 культурам
cena(i, j) = Cells(i + 3, j + 1)
'занесем данные с экрана в массив о закупочные цены каждой культуры по всем 5 годам
urozhay_ob(i) = urozhay_ob(i) + urozhay(i, j)
'одновременно просуммируем общий урожай каждой культуры за 5 лет
dohod_kultura(i) = dohod_kultura(i) + urozhay(i, j) * cena(i, j)
'доход за все 5 лет по каждой культуре
Next j
Cells(i + 3, 12) = urozhay_ob(i)
'после вывода из внутреннего цикла выведем на экран в 12 столбец массив UROZHAY_OB
Next i
For j = 1 To 5
' внешний цикл за 5 лет
For i = 1 To 6
'внутренний цикл для 6 видов культур
dohod_god(j) = dohod_god(j) + urozhay(i, j) * cena(i, j)
'считаем доход за каждый год
Next i
Cells(10, j + 6) = dohod_god(j)
'выводим доход за каждый год
dohod_obschiy = dohod_obschiy + dohod_god(j)
Cells(11, 12) = dohod_obschiy
Next j
Max = dohod_kultura(1)
'пусть максимумом будет первый элемент массива
For i = 1 To 6
'колисечество сравнивнений равно количеству элементов в массиве,
'на первом шаге сравниваем текущий элемент с самим собой
If Max <= dohod_kultura(i) Then
'тогда если максимум меньше или равно текущему элементу массива
Max = dohod_kultura(i)
'максимумом становится текущий элемент массива
index1 = i
'запоминает в переменную index1 номер элемента массива, в котором содержится максимум
End If
Next i
Cells(12, 12) = Cells(index1 + 3, 1)
'выводим значение самой выгодной культуры
End Sub
Sub ochistka()
Range("G10:K10").Value = " "
Range("L4:L9").Value = " "
Range("L11:L12").Value = " "
End Sub
Sub proverkaNa0()
Range("B4:K9").Value = "0"
End Sub
Sub proverkaNa1()
Range("B4:K9").Value = "1"
End Sub
Sub sortirovka()
For i = 1 To 6
Naimenovanie(i) = Cells(i + 3, 1)
urozhay_ob(i) = Cells(i + 3, 12)
Next i
For i = 1 To 5
For j = i + 1 To 6
If urozhay_ob(i) < urozhay_ob(j) Then
ur = urozhay_ob(i)
naim = Naimenovanie(i)
urozhay_ob(i) = urozhay_ob(j)
Naimenovanie(i) = Naimenovanie(j)
urozhay_ob(j) = ur
Naimenovanie(j) = naim
End If
Next j
Next i
For i = 1 To 6
Cells(i + 15, 1) = Naimenovanie(i)
Cells(i + 15, 2) = urozhay_ob(i)
Next i
End Sub
Sub zapolnit()
For j = 1 To 5
внешний цикл за 5 лет
For i = 1 To 6
'внутренний цикл для 6 видов культур
Cells(i + 3, j + 1) = 200
Next i
Next j
For j = 1 To 5
' внешний цикл за 5 лет
For i = 1 To 6
'внутренний цикл для 6 видов культур
Cells(i + 3, j + 6) = 20
Next i
Next j
End Sub
Описание вводных данных и результат вычислений
Вычислить.
Очистка
Сортировка.
Проверка на 1.
Проверка на 0.
Заполнить.
Список литературы
1.Иванов М.И., Суворов С.В. Информатика. Часть 2. Программирование. - Москва 2008.
Размещено на Allbest.ru
Подобные документы
Разработка программы на языке VBA, которая вводит исходные данные, выполняет расчеты и выводит на экран заданную информацию. Типы блок-схем и их использование при написании программы. Описание входных данных и результат вычислений, листинг программы.
курсовая работа [680,3 K], добавлен 03.08.2009Программа на языке VBA, которая вводит исходные данные, выполняет расчеты и выводит на экран. Лист с начальными данными. Ввод начальных (нулевых) значений для расчетных величин. Вспомогательные переменные, счетчики циклов. Формирование матрицы данных.
курсовая работа [2,7 M], добавлен 01.12.2010Программа на языке VBA, которая выводит исходные данные на экран и выполняет расчеты и предназначена для учета на складе мастерской индивидуального пошива. Описание переменных и алгоритма программы. Листинг программы, примеры произведенных расчетов.
реферат [25,4 K], добавлен 10.12.2010Характеристика программы на языке VBA, которая вводит исходные данные, выполняет расчеты и выводит результаты на экран. Описание переменных в программе, ее блок-схема и алгоритм работы. Листинг программы. Описание входных данных и результат вычислений.
курсовая работа [721,4 K], добавлен 10.11.2010Разработка программы на языке VBA для управления деятельностью птицеводческой фермы, которая вводит исходные данные, выполняет расчеты и выводит на экран расчет данных по уходу за гусями и показатели оценки эффективности организации птицеводства.
курсовая работа [1,8 M], добавлен 19.04.2011Написание программы, которая вводит исходные данные, выполняет расчет и выводит на экран. Использование вспомогательных переменных и счетчиков циклов в программе. Расчет сумм заработков по каждому виду одежды за день, количества изготовленных деталей.
курсовая работа [2,4 M], добавлен 17.01.2015Написание программы "телеграф", который принимает от пользователя сообщения и выводит его на экран в виде последовательности точек и тире. Их вывод сортируется звуковым сигналом соответствующей длительности. Программа написана на языке Turbo Pascal.
курсовая работа [565,6 K], добавлен 18.08.2008Игра "Пятнашки": исходные данные, условия задачи и цели ее решения. Основные приемы программирования и типы данных, используемые при решении аналогичных задач. Для разработки программы использовался язык С и среда программирования Borland C++ Builder.
курсовая работа [674,1 K], добавлен 03.07.2011Расчеты по таблице перевозок грузов между отдельными регионами. Решение задачи управления процессами перевозок в среде Pascal. Решение задачи средствами MS Excel. Исходные данные и итоги по строкам и столбцам. Решение задачи средствами MATHCAD.
курсовая работа [1,8 M], добавлен 25.03.2015Работа с компонентом TTreeView, служащим для отображения иерархических данных в виде дерева. Обеспечение заполнения дерева, очистка, анализ и редакция элементов. Процедура удаления элемента. Демонстрация работы программы, исходные данные и результаты.
лабораторная работа [788,6 K], добавлен 11.01.2012