Составление программы "Определение фруктово-ягодной культуры, приносящей хозяйству максимальный доход в течении 5 лет"
Разработка программы на языке VBA, которая вводит исходные данные, выполняет расчеты и выводит на экран заданную информацию. Типы блок-схем и их использование при написании программы. Описание входных данных и результат вычислений, листинг программы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 03.08.2009 |
Размер файла | 680,3 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ РОССИЙСКОЙ ФЕДЕРАЦИИ
ИДО ГОУ МГИУ
Курсовая работа
по дисциплине
«Информатика»
Жуков 2009
Задание
В коллективном хозяйстве имеются фруктово-ягодные сады (яблоня, вишня, слива, черная смородина, крыжовник, клубника - всего 6 фруктово-ягодных культур). Каждый год в течение 5 лет колхоз собирал урожай с каждого сада и продавал урожай по закупочным ценам, которые различались по годам.
Написать программу на языке VBA, которая вводит исходные данные, выполняет расчеты и выводит на экран:
· Исходные данные в виде таблицы, где указаны наименования фруктово-ягодных культур, закупочные цены каждой культуры и урожай в центнерах в каждом году;
· Общий урожай каждой культуры за 5 лет;
· Доход по всем культурам за каждый год;
· Общий доход колхоза за 5 лет;
· Наименование культуры, принесший максимальный доход за 5 лет.
Описание переменных
Исходные данные находятся на листе «Нач_д» (рис. 1) и содержат следующую информацию:
1) Наименование фруктово-ягодных культур, которые колхоз собрал в течение 5 лет.
2) Закупочные цены фруктово-ягодных культур и их вес в центнерах.
Результат работы программы оформляются на листе «Результат» (рис. 2).
Рис. 1. Лист с начальными данными
Рис. 2. Лист с результата программы
В программе переменные описаны следующим образом:
1) zakup_ceni(6, 5) - закупочные цены фруктово-ягодных культур представляет двухмерный массив дробных чисел
Dim zakup_ceni(6, 5) As Double
2) urozhai(6, 5) - урожай в центнерах каждой фруктово-ягодных культур в течение 5 лет представляет двухмерный массив дробных чисел
Dim urozhai(6, 5) As Double
3) obsh(6) - Общий урожай каждой культуры за 5 лет представляет массив дробных чисел
Dim obsh(6) As Double
4) doh(6, 5) - доход по каждым культурам за 5 лет представляет двухмерный массив дробных чисел
Dim doh(6, 5) As Double
5) obsh_doh(6) - общий доход по каждым культурам за 5 лет представляет массив дробных чисел
Dim obsh_doh(6) As Double
6) obsh_doh_pyat - общий доход колхоза за 5 лет
Dim obsh_doh_pyat As Double
7) yagod - наименование культуры принесший максимальный доход за 5 лет
Dim yagod As Double
8) max_kult - номер культуры с максимальным доходом
Dim max_kult As Integer
В программе также были использованы вспомогательные переменные, счетчики циклов, i и j, являющиеся целыми числами
Dim i As Integer, j As Integer
Блок-схема
Блоки используются для обозначения действий, которые производит алгоритм, представлений блок-схемой, а также для внесения дополнительных пояснений по работе алгоритма или улучшения читаемости схемы.
Рассмотрим некоторые типы блоков:
· Квадрат - блок решения;
· Эллипс - данный блок используется для обозначения начала и конца алгоритма;
· Ромб - данный блок используется для обозначения условного оператора;
· Шестиугольник - данный блок используется для обозначения оператора цикла;
· Стрелками обозначен переход от одного действия к другому;
Начало
Ввод данных (нулевых)
данных вспомогательных
величин
Открытие листа с данными
(«Нач_д»)
i = 1, 6
j = 1, 5
zakup_ceni(i, j) = Cells(3 + i, 1 + j)
urozhai(i, j) = Cells(3 + i, 6 + j)
Открытие листа с
данными («Результат»)
Вывод данных формы
Cells(*,*)=…
i = 1, 6
j = 1, 5
Cells(3 + i, 1 + j) = zakup_ceni(i, j)
Cells(3 + i, 6 + j) = urozhai(i, j)
obsh(i) = obsh(i) + urozhai(i, j)
Cells(3 + i, 12) = obsh(i)
Ввод данных формы
Cells(*,*)=…
i = 1, 6
j = 1, 5
doh(i, j) = zakup_ceni(i, j) * urozhai(i, j)
Cells(14 + i, 1 + j) = doh(i, j)
i = 1, 6
obsh_doh_pyat = obsh_doh_pyat + obsh_doh(i)
Cells(21, 7) = obsh_doh_pyat
i = 1, 6
j = 1, 5
obsh_doh(i) = obsh_doh(i) + doh(i, j)
Cells(14 + i, 7) = obsh_doh(i)
Нет
obsh_doh(i) > yagod
Да
yagod = obsh_doh(i)
max_kult = i
Cells(23, 6) = max_kult
Вывод данных формы
Cells(*,*)=…
Конец программы
Описание алгоритма
Начало программы
Ввод начальных (нулевых) значений для расчетных величин (закупочные цены, урожай в центнерах, общий урожай каждой культуры за 5 лет, доход по каждым культурам за каждый год, общий доход по каждым культурам за каждый год, общий доход по каждым культурам за 5 лет, общий доход колхоза за 5 лет, наименование культуры принёсший максимальный доход за 5 лет).
Открытые листа с начальными данными («Нач_д») и получение этих данных в рабочие переменные (массивы zakup_ceni(6, 5) и urozhai(6, 5)).
Открытие листа с результатами, формирование матрицы входных данных. Организуется два вложенных цикла (по закупочным ценам и урожаю в центнерах). Во внутреннем цикле (по урожаю в центнерах) суммируются количество фруктово-ягодных культур в центнерах по годам. Во внешнем (по закупочным ценам) тоже самое, но только суммируются цены по годам.
Расчеты выполняются по заданным формулам. Все циклы работают на счетчиках i и j. Вывод всех доходов определяются с помощью этих же циклов и по заданным формулам.
Определения фруктово-ягодной культуры принёсший максимальный доход в течении 5 лет образуется с помощью алгоритма сравнения и выводит на экран номер этой культуры. Порядковые номера фруктово-ягодных культур в программе записаны следующим образом:
1. Яблоня
2. Вишня
3. Слива
4. Черная смородина
5. Крыжовник
6. Клубника
При равенстве двух и более дневных сумм результативной считается первая сумма.
Листинг программы
Public Sub Курсовая()
Dim zakup_ceni(6, 5) As Double 'Закупочные цены'
Dim urozhai(6, 5) As Double Урожай в центнерах'
Dim obsh(6) As Double 'Общий урожай каждой культуры за 5 лет'
Dim doh(6, 5) As Double 'Доход по каждым культурам за каждый год'
Dim obsh_doh(6) As Double 'Общий доход по каждым культурам за 5 лет'
Dim obsh_doh_pyat As Double 'Общий доход колхоза за 5 лет'
Dim yagod As Double ' наименование культуры принесший максимальный доход за 5 лет '
Dim max_kult As Integer 'Номер культуры'
Dim i As Integer, j As Integer
For i = 1 To 6
For j = 1 To 5
zakup_ceni(i, j) = 0
urozhai(i, j) = 0
Next j
Next i
Sheets("Нач_д").Select
For i = 1 To 6
For j = 1 To 5
zakup_ceni(i, j) = Cells(3 + i, 1 + j)
urozhai(i, j) = Cells(3 + i, 6 + j)
Next j
Next i
Sheets("Результат").Select
Cells(1, 1) = "Начальные данные"
Cells(2, 1) = "Наименование фруктово-ягодных культур"
Cells(2, 2) = "Закупочные цены (руб.)"
Cells(2, 7) = "Урожай в центнерах"
Cells(2, 12) = "Общий урожай каждой культуры за 5 лет"
Cells(3, 2) = "2000 год"
Cells(3, 3) = "2001 год "
Cells(3, 4) = "2002 год "
Cells(3, 5) = "2003 год "
Cells(3, 6) = "2004 год "
Cells(3, 7) = "2000 год "
Cells(3, 8) = "2001 год "
Cells(3, 9) = "2002 год "
Cells(3, 10) = "2003 год "
Cells(3, 11) = "2004 год "
Cells(4, 1) = "1. Яблоня"
Cells(5, 1) = "2. Вишня"
Cells(6, 1) = "3. Слива"
Cells(7, 1) = "4. Чёрная смородина"
Cells(8, 1) = "5. Крыжовник"
Cells(9, 1) = "6. Клубника"
For i = 1 To 6
For j = 1 To 5
Cells(3 + i, 1 + j) = zakup_ceni(i, j)
Cells(3 + i, 6 + j) = urozhai(i, j)
obsh(i) = obsh(i) + urozhai(i, j)
Next j
Cells(3 + i, 12) = obsh(i)
Next i
Cells(12, 1) = "Результат в денежном эквиваленте"
Cells(13, 1) = " Наименование фруктово-ягодных культур "
Cells(13, 2) = "Доход по всем культурам за каждый год"
Cells(14, 2) = "2000 год "
Cells(14, 3) = "2001 год "
Cells(14, 4) = "2002 год "
Cells(14, 5) = "2003 год "
Cells(14, 6) = "2004 год "
Cells(14, 7) = "Общий доход по всем культурам за 5 лет"
Cells(15, 1) = "1. Яблоня"
Cells(16, 1) = "2. Вишня"
Cells(17, 1) = "3. Слива"
Cells(18, 1) = "4. Черная смородина"
Cells(19, 1) = "5. Крыжовник"
Cells(20, 1) = "6. Клубника"
For i = 1 To 6
For j = 1 To 5
doh(i, j) = zakup_ceni(i, j) * urozhai(i, j)
Cells(14 + i, 1 + j) = doh(i, j)
Next j
Next i
Cells(21, 4) = "Общий доход колхоза за 5 лет"
For i = 1 To 6
obsh_doh_pyat = obsh_doh_pyat + obsh_doh(i)
Cells(21, 7) = obsh_doh_pyat
Next i
Cells(23, 1) = "Наименование (номер) культуры, принесший максимальный доход за 5 лет"
For i = 1 To 6
For j = 1 To 5
obsh_doh(i) = obsh_doh(i) + doh(i, j)
Cells(14 + i, 7) = obsh_doh(i)
If obsh_doh(i) > yagod Then
yagod = obsh_doh(i)
max_kult = i
Cells(23, 6) = max_kult
End If
Next j
Next i
End Sub
Описание входных данных и результат вычислений
Вариант 7
Начальные данные |
|
|
|
|
|
|
|
|
|
|
|
Наименование фруктово-ягодных культур |
Закупочные цены (руб.) |
|
|
Урожай в центнерах |
|
|
|
||||
|
2000 год |
2001 год |
2002 год |
2003 год |
2004 год |
2000 год |
2001 год |
2002 год |
2003 год |
2004 год |
|
1. Яблоня |
21,5 |
22,33 |
25 |
24,5 |
21 |
12 |
13,2 |
12,86 |
14,1 |
13,8 |
|
2. Вишня |
25,3 |
26,59 |
30,35 |
27,32 |
35,5 |
10 |
10,2 |
10,66 |
9,5 |
11,1 |
|
3. Слива |
15,4 |
17 |
16,24 |
16 |
15,2 |
15 |
16,52 |
15,88 |
17 |
16,5 |
|
4. Черная смородина |
19 |
20,21 |
21,2 |
22,95 |
23 |
9 |
8,5 |
7,9 |
8,88 |
9,63 |
|
5. Крыжовник |
30,66 |
33,5 |
35,2 |
34,5 |
33,33 |
11,3 |
12,5 |
10,5 |
9,59 |
11,63 |
|
6. Клубника |
55,9 |
60 |
63,22 |
62 |
61,25 |
9,5 |
10 |
9,9 |
9,8 |
11 |
Решение 7 - го варианта
Начальные данные |
|||||||||||||||
Наименование фруктово-ягодных культур |
Закупочные цены (руб.) |
Урожай в центнерах |
Общий урожай каждой культуры за 5 лет |
||||||||||||
2000 год |
2001 год |
2002 год |
2003 год |
2004 год |
2000 год |
2001 год |
2002 год |
2003 год |
2004 год |
||||||
1. Яблоня |
21,5 |
22,33 |
25 |
24,5 |
21 |
12 |
13,2 |
12,86 |
14,1 |
13,8 |
65,96 |
||||
2. Вишня |
25,3 |
26,59 |
30,35 |
27,32 |
35,5 |
10 |
10,2 |
10,66 |
9,5 |
11,1 |
51,46 |
||||
3. Слива |
15,4 |
17 |
16,24 |
16 |
15,2 |
15 |
16,52 |
15,88 |
17 |
16,5 |
80,9 |
||||
4. Черная смородина |
19 |
20,21 |
21,2 |
22,95 |
23 |
9 |
8,5 |
7,9 |
8,88 |
9,63 |
43,91 |
||||
5. Крыжовник |
30,66 |
33,5 |
35,2 |
34,5 |
33,33 |
11,3 |
12,5 |
10,5 |
9,59 |
11,63 |
55,52 |
||||
6. Клубника |
55,9 |
60 |
63,22 |
62 |
61,25 |
9,5 |
10 |
9,9 |
9,8 |
11 |
50,2 |
Результат в денежном эквиваленте |
|||||||
Наименование фруктово-ягодных культур |
Доход по всем культурам за каждый год |
||||||
2000 год |
2001 год |
2002 год |
2003 год |
2004 год |
Общий доход по всем культурам за 5 лет |
||
1. Яблоня |
258 |
294,756 |
321,5 |
345,45 |
289,8 |
1509,506 |
|
2. Вишня |
253 |
271,218 |
323,531 |
259,54 |
394,05 |
1501,339 |
|
3. Слива |
231 |
280,84 |
257,8912 |
272 |
250,8 |
1292,531 |
|
4. Черная смородина |
171 |
171,785 |
167,48 |
203,796 |
221,49 |
935,551 |
|
5. Крыжовник |
346,458 |
418,75 |
369,6 |
330,855 |
387,6279 |
1853,291 |
|
6. Клубника |
531,05 |
600 |
625,878 |
607,6 |
673,75 |
3038,278 |
|
Общий доход колхоза за 5 лет |
10130,5 |
||||||
Наименование (номер) культуры, принёсший максимальный доход за 5 лет |
6 |
Литература
1. М.Н. Иванов, С.В. Суворов «Информатика Част 2. Программирование», Москва 2006 г.
Подобные документы
Характеристика программы на языке VBA, которая вводит исходные данные, выполняет расчеты и выводит результаты на экран. Описание переменных в программе, ее блок-схема и алгоритм работы. Листинг программы. Описание входных данных и результат вычислений.
курсовая работа [721,4 K], добавлен 10.11.2010Разработка программы на языке VBA для управления деятельностью птицеводческой фермы, которая вводит исходные данные, выполняет расчеты и выводит на экран расчет данных по уходу за гусями и показатели оценки эффективности организации птицеводства.
курсовая работа [1,8 M], добавлен 19.04.2011Программа на языке VBA, которая выводит исходные данные на экран и выполняет расчеты и предназначена для учета на складе мастерской индивидуального пошива. Описание переменных и алгоритма программы. Листинг программы, примеры произведенных расчетов.
реферат [25,4 K], добавлен 10.12.2010Программа на языке VBA, которая вводит исходные данные, выполняет расчеты и выводит на экран. Лист с начальными данными. Ввод начальных (нулевых) значений для расчетных величин. Вспомогательные переменные, счетчики циклов. Формирование матрицы данных.
курсовая работа [2,7 M], добавлен 01.12.2010Написание программы, которая вводит исходные данные, выполняет расчет и выводит на экран. Использование вспомогательных переменных и счетчиков циклов в программе. Расчет сумм заработков по каждому виду одежды за день, количества изготовленных деталей.
курсовая работа [2,4 M], добавлен 17.01.2015Изучение категории типов данных, видов выражений и операций, работа на языке Си. Составление программы вычисления значения функции у(х) при произвольном значении х. Блок-схема алгоритма. Описание текста программы и рассмотрение контрольного примера.
лабораторная работа [124,7 K], добавлен 09.01.2012Разработка программы на языке Pascal. Описание переменных. Действия, которые должна выполнить программа согласно выбранного алгоритма. Детализация графической части программы. Листинг и тестирование программы. Вывод массива данных на экран монитора.
контрольная работа [360,4 K], добавлен 13.06.2012Создание программы на языке программирования С#, которая проверяет наличие в матрице хотя бы одного столбца, содержащего положительный элемент, поиск его номера. Упорядочивание его элементов по возрастанию. Листинг программы и инструкция по работе с ней.
курсовая работа [1,9 M], добавлен 28.05.2014Описание алгоритма решения задачи графическим способом. Вывод элементов массива. Описание блоков укрупненной схемы алгоритма на языке Pascal. Листинг программы, а также ее тестирование. Результат выполнения c помощью ввода различных входных данных.
контрольная работа [150,4 K], добавлен 03.05.2014Методика создания программы, которая выбирает лучшей результат и выводит его на экран с сообщением, что это лучшей результат. Анализ процедуры распознавания простых чисел. Алгоритм и текст программы, переписывающей компоненты файла в обратном порядке.
курсовая работа [1022,7 K], добавлен 08.02.2010