В общем вот задание "Для 6 хозяйств известны общий обьем валовой продукции (ден.ед) и площадь сельскохозяйственных угодий (га.). Определите средний выход валовой продукции на 100 га сельскохозугодий для каждого хозяйства и по всей групе хозяйств в целом."
Вот есть некое предисловие перед заданием:
Public Sub Расчет наибольшего ()
Dim Пллощадь(6) As Integer, max Площадь As Integer, I As
Integer, N As Integer
For i = 1 to 6
Площадь (I )= Cells(i+1, 2)
Next i
max Площадь = Площадь(1)
N=1
For i = 2 to 6
If Площадь(i)>Max площадь then
Max Площадь = Площадь(i)
N=i
End If
Next I
Range("A9") = "Наибольшая площадь сельхозугодий в хозяйстве"
& Cells(n+1,1) & " равна" & max Площадь & "га".
End Sub
Public Sub Урожайность()
Dim Площадь(6) As Single, Валовый сбор(6) As Single, Урожайность(6) As Single, общая площадь As Single
Общая площадь=0
Ввод данных и расчеты
For i=1 to 6
Площадь(i) = InputBox (Введите площадь & i & й-культуры:)
Урожайность(i) = InputBox (Введите валовый сбор для & i & культуры)
Урожайсноть(i) = Валовый сбор(i)/Площадь(i)
Общая площадь = Общая площадь + Площадь (i)
Next i
Вывод рещультатов
Range(A1) = "№"
Range(B1) = "Посевная площадь, га"
Range(C1) = " Валовой сбор, ц"
Range(D1) = "Средняя урожайность"
For i = 1 to 6
Cells(i+1,1) = i
Cells(i+1,2) = площадь(i)
Cells(i+1,3) = Валовый сбор(i)
Cells(i+1,4) = Урожайсноть(i)
Next i
Range(A9) = "Общая площадь, га"
Range(C9) = "ОбщаяПлощадь"
End Sub
И вот вторая приписка:
Public Sub Расчет наибольшего ()
Dim Пллощадь(6) As Integer, max Площадь As Integer, I As
Integer, N As Integer
For i = 1 to 6
Площадь (I )= Cells(i+1, 2)
Next i
max Площадь = Площадь(1)
N=1
For i = 2 to 6
If Площадь(i)>Max площадь then
Max Площадь = Площадь(i)
N=i
End If
Next I
Range("A9") = "Наибольшая площадь сельхозугодий в хозяйстве"
& Cells(n+1,1) & " равна" & max Площадь & "га".
End Sub
И вот файл с данными с которыми нужно работать.
[вложение удалено администратором]
Влад, в файле нужно ещё указать объём валовой продукции, т.к. по условию задачи он известен.
Это должно быть в файле? Как я понимаю в приписке которую я наводил там просят ввести нас, как пользователя данные недостающие в файле, или я не прав? И они все таки долэжны быть изначально в файле?
Вот эти 2 строки:
Площадь(i) = InputBox (Введите площадь & i & й-культуры:)
Урожайность(i) = InputBox (Введите валовый сбор для & i & культуры)
Влад, можно без файла сделать - пользователь будет вручную вводить данные.
А как рассчитывается вот этот пункт:?
Определите средний выход валовой продукции на 100 га сельскохозугодий для каждого хозяйства
Я спрашиваю не про программирование, а вообще, как это рассчитывается?
Мне кажеться нужно поделить всю площадь на сотни и посчитать ВВП на них.
Влад, в макросе, который находится ниже, могут быть неточности в расчётах - подкорректируйте сами.
Для этого макроса не нужны данные в Excel-файле - макрос запускайте на пустом листе.
Макрос:
Public Sub СредняяВП()
Dim ВП(6) As Single, Площадь(6) As Single, СредняяВП(6) As Single
Dim ОбщаяВП As Single
Dim i As Long
'Ввод пользователем данных по хозяйству.
'Расчёты по заданию.
For i = 1 To 6 Step 1
ВП(i) = InputBox("Введите общий обьем валовой продукции (ден. ед) " & i & _
"-ого хозяйства:")
Площадь(i) = InputBox("Введите площадь сельскохозяйственных угодий (га.) " & i & _
"-ого хозяйства:")
'Определите средний выход валовой продукции на 100 га сельскохозугодий
'для каждого хозяйства
'ВП(i) / Площадь(i) - это ВП с 1 га.
'ВП(i) / Площадь(i) * 100 - это ВП со 100 га.
СредняяВП(i) = ВП(i) / Площадь(i) * 100
'... и по всей групе хозяйств в целом."
ОбщаяВП = ОбщаяВП + СредняяВП(i)
Next i
'Вывод исходных данных и результатов в Excel.
'Формирование шапки таблицы.
Range("A1") = "№"
Range("B1") = "Общий обьем валовой продукции, ден. ед."
Range("C1") = "Площадь сельскохозяйственных угодий, га."
Range("D1") = "Средний выход валовой продукции на 100 га сельскохозугодий"
'Вывод исходных данных и результатов.
For i = 1 To 6 Step 1
Cells(i + 1, 1) = i
Cells(i + 1, 2) = ВП(i)
Cells(i + 1, 3) = Площадь(i)
Cells(i + 1, 4) = СредняяВП(i)
Next i
Range("A9") = "Средний выход валовой продукции на 100 га сельскохозугодий " & _
"по всей групе хозяйств в целом."
Range("C9") = ОбщаяВП
End Sub
Большое Вам спасибо!