Составление программы «Определение фруктово-ягодной культуры, приносящей хозяйству максимальный доход в течении 5 лет»
Определения фруктово-ягодной культуры принёсший максимальный доход в течении 5 лет образуется с помощью алгоритма сравнения и выводит на экран номер этой культуры. Порядковые номера фруктово-ягодных культур в программе записаны следующим образом: Блоки используются для обозначения действий, которые производит алгоритм, представлений блок-схемой, а также для внесения дополнительных пояснений… Читать ещё >
Составление программы «Определение фруктово-ягодной культуры, приносящей хозяйству максимальный доход в течении 5 лет» (реферат, курсовая, диплом, контрольная)
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ РОССИЙСКОЙ ФЕДЕРАЦИИ ИДО ГОУ МГИУ Курсовая работа по дисциплине
«Информатика»
Жуков 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 | 24,5 | 13,2 | 12,86 | 14,1 | 13,8 | ||||
2. Вишня | 25,3 | 26,59 | 30,35 | 27,32 | 35,5 | 10,2 | 10,66 | 9,5 | 11,1 | ||
3. Слива | 15,4 | 16,24 | 15,2 | 16,52 | 15,88 | 16,5 | |||||
4. Черная смородина | 20,21 | 21,2 | 22,95 | 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 | 63,22 | 61,25 | 9,5 | 9,9 | 9,8 | |||||
Решение 7 — го варианта
Начальные данные | |||||||||||||||
Наименование фруктово-ягодных культур | Закупочные цены (руб.) | Урожай в центнерах | Общий урожай каждой культуры за 5 лет | ||||||||||||
2000 год | 2001 год | 2002 год | 2003 год | 2004 год | 2000 год | 2001 год | 2002 год | 2003 год | 2004 год | ||||||
1. Яблоня | 21,5 | 22,33 | 24,5 | 13,2 | 12,86 | 14,1 | 13,8 | 65,96 | |||||||
2. Вишня | 25,3 | 26,59 | 30,35 | 27,32 | 35,5 | 10,2 | 10,66 | 9,5 | 11,1 | 51,46 | |||||
3. Слива | 15,4 | 16,24 | 15,2 | 16,52 | 15,88 | 16,5 | 80,9 | ||||||||
4. Черная смородина | 20,21 | 21,2 | 22,95 | 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 | 63,22 | 61,25 | 9,5 | 9,9 | 9,8 | 50,2 | ||||||||
Результат в денежном эквиваленте | |||||||
Наименование фруктово-ягодных культур | Доход по всем культурам за каждый год | ||||||
2000 год | 2001 год | год | 2003 год | год | Общий доход по всем культурам за 5 лет | ||
1. Яблоня | 294,756 | 321,5 | 345,45 | 289,8 | 1509,506 | ||
2. Вишня | 271,218 | 323,531 | 259,54 | 394,05 | 1501,339 | ||
3. Слива | 280,84 | 257,8912 | 250,8 | 1292,531 | |||
4. Черная смородина | 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 | 625,878 | 607,6 | 673,75 | 3038,278 | ||
Общий доход колхоза за 5 лет | 10 130,5 | ||||||
Наименование (номер) культуры, принёсший максимальный доход за 5 лет | |||||||
1. М. Н. Иванов, С. В. Суворов «Информатика Част 2. Программирование», Москва 2006 г.