Учебная работа. Курсовая работа: Составление программы Определение фруктово-ягодной культуры приносящей хозяйству максимальный
ИДО ГОУ МГИУ
Курсовая работа
по дисциплине
«Информатика»
Жуков 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
Блок-схема
Блоки употребляются для обозначения действий, которые производит метод, представлений блок-схемой, также для внесения доп пояснений по работе метода либо улучшения читаемости схемы.
Разглядим некие типы блоков:
· Квадрат – блок решения;
· Эллипс – данный блок употребляется для обозначения начала и конца метода;
· Ромб – данный блок употребляется для обозначения условного оператора;
· Шестиугольник – данный блок употребляется для обозначения оператора цикла;
· Стрелками обозначен переход от 1-го деяния к другому;
Начало
Ввод данных (нулевых)
данных вспомогательных
величин
Открытие листа с данными
(«Нач_д»)
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.Клубника
При равенстве 2-ух и наиболее дневных сумм действенной считается 1-ая сумма.
Листинг программки
PublicSubКурсовая()
Dim zakup_ceni(6, 5) As Double ‘Закупочныецены’
Dim urozhai(6, 5) As Double Урожайвцентнерах’
Dimobsh(6) AsDouble ‘Общий сбор каждой культуры за 5 лет‘
Dimdoh(6, 5) AsDouble ‘Доход по каждым культурам за любой год’
Dimobsh_doh(6) AsDouble ‘Общий Доход по каждым культурам за 5 лет’
Dimobsh_doh_pyatAsDouble ‘Общий Доход колхоза за 5 лет’
DimyagodAsDouble ‘ наименование культуры принесший наибольший Доход за 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 г.
]]>