ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПООБРАЗОВАНИЮ РОССИЙСКОЙ ФЕДЕРАЦИИ
ИДО ГОУ МГИУ
Курсовая работа
по дисциплине
«Информатика»
Жуков 2009
Задание
Вколлективном хозяйстве имеются фруктово-ягодные сады (яблоня, вишня, слива,черная смородина, крыжовник, клубника – всего 6 фруктово-ягодных культур).Каждый год в течение 5 лет колхоз собирал урожай с каждого сада и продавалурожай по закупочным ценам, которые различались по годам.
Написатьпрограмму на языке VBA, которая вводит исходные данные, выполняет расчеты и выводит наэкран:
· Исходныеданные в виде таблицы, где указаны наименования фруктово-ягодных культур,закупочные цены каждой культуры и урожай в центнерах в каждом году;
· Общийурожай каждой культуры за 5 лет;
· Доходпо всем культурам за каждый год;
· Общийдоход колхоза за 5 лет;
· Наименованиекультуры, принесший максимальный доход за 5 лет.
Описаниепеременных
Исходные данныенаходятся на листе «Нач_д» (рис. 1) и содержат следующую информацию:
1) Наименованиефруктово-ягодных культур, которые колхоз собрал в течение 5 лет.
2) Закупочныецены фруктово-ягодных культур и их вес в центнерах.
Результатработы программы оформляются на листе «Результат» (рис. 2).
/>
Рис. 1. Листс начальными данными
/>
Рис. 2. Листс результата программы
В программепеременные описаны следующим образом:
1) zakup_ceni(6, 5) – закупочные ценыфруктово-ягодных культур представляет двухмерный массив дробных чисел
Dimzakup_ceni(6, 5) As Double
2) urozhai(6,5) – урожай в центнерах каждой фруктово-ягодных культур в течение 5 летпредставляет двухмерный массив дробных чисел
Dimurozhai(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 лет представляет массивдробных чисел
Dimobsh_doh(6) As Double
6)obsh_doh_pyat – общий доход колхоза за 5 лет
Dimobsh_doh_pyat As Double
7) yagod –наименование культуры принесший максимальный доход за 5 лет
Dim yagod AsDouble
8) max_kult –номер культуры с максимальным доходом
Dim max_kultAs Integer
В программетакже были использованы вспомогательные переменные, счетчики циклов, i и j, являющиеся целымичислами
Dimi 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 Курсовая()
Dimzakup_ceni(6, 5) As Double 'Закупочные цены'
Dimurozhai(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 лет '
Dimmax_kult As Integer 'Номер культуры'
Dimi As Integer, j As Integer
Fori = 1 To 6
Forj = 1 To 5
zakup_ceni(i,j) = 0
urozhai(i,j) = 0
Nextj
Nexti
Sheets(«Нач_д»).Select
Fori = 1 To 6
Forj = 1 To 5
zakup_ceni(i,j) = Cells(3 + i, 1 + j)
urozhai(i,j) = Cells(3 + i, 6 + j)
Next j
Nexti
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. Клубника»
Fori = 1 To 6
Forj = 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)
Nextj
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.Клубника»
Fori = 1 To 6
Forj = 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 лет»
Fori = 1 To 6
obsh_doh_pyat= obsh_doh_pyat + obsh_doh(i)
Cells(21,7) = obsh_doh_pyat
Nexti
Cells(23, 1) = «Наименование(номер) культуры, принесший максимальный доход за 5 лет»
For i = 1 To6
Forj = 1 To 5
obsh_doh(i)= obsh_doh(i) + doh(i, j)
Cells(14+ i, 7) = obsh_doh(i)
Ifobsh_doh(i) > yagod Then
yagod= obsh_doh(i)
max_kult= i
Cells(23,6) = max_kult
EndIf
Nextj
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 г.