Страница: 1 |
|
Вопрос: Блок-схема
|
Добавлено: 12.05.07 17:01
|
|
Автор вопроса: agent
|
Помогите составить блок-схему к ээтим 3 процедурам. Если составите пришлите ISQ 468653528
'объявляем переменные, используемые в программе
Option Explicit
'Урожай, собранный каждой бригадой в каждом году в центнерах
Dim Urozay_cent(7, 3) As Integer
'Цена урожая, собранного каждой бригадой в каждом году в рублях
Dim Urozay_den(7, 3) As Single
'Закупочная цена за урожай для каждой бригады ежегодно
Dim cena(7, 3) As Single
'Урожай, собранный каждой бригадой за 3 года в центнерах
Dim Urozay_ob(7) As Integer
'Доход каждой бригады за 3 года а рублях
Dim Dohod_brig(7) As Single
'Доход всех бригад по годам в рублях
Dim Dohod_god(3) As Single
'Общий доход хозяйства за 3 года в рублях
Dim Dohod_obshiy As Single
'Доход бригады, получившей максимальную прибыль, за 3 года
Dim max As Single
'Номер бригады, получившей максимальную прибыль
'Dim Index As Integer
'параметры циклов
Dim i, j As Integer
Sub vvod_v_zagol()
i = 1
j = 1
Do While i <= 7 'цикл по строкам таблицы с количетсвом бригад
Do Until j > 3 'цикл по столбцам с количеством лет
'далее следует проверка ячеек с урожаем на наличие отрицательных и пустых значений
If Cells(6 + i, 1 + j) < 0 Or Cells(6 + i, 1 + j) = "" Then
Cells(6 + i, 1 + j).Activate
MsgBox ("Проверьте значение выделенной ячейки! Работа программы прервана!")
GoTo s
End If 'конец проверки ячеек с уражаем
'далее следует проверка ячеек с закупочными ценами на наличие отрицательных и пустых значений
If Cells(6 + i, 4 + j) < 0 Or Cells(6 + i, 4 + j) = "" Then
Cells(6 + i, 4 + j).Activate
MsgBox ("Проверьте значение выделенной ячейки! Работа программы прервана")
GoTo s
End If 'конец проверки ячеек с закупочнми ценами
'Заносим урожай, собранный каждой бригадой в каждом году в центнерах(7, 3)
Urozay_cent(i, j) = Cells(6 + i, 1 + j)
'Заносим закупочную цену(7, 3)
Urozay_den(i, j) = Cells(6 + i, 4 + j)
j = j + 1
Loop
j = 1
i = i + 1
Loop
s: End Sub
'Процедура расчета и вывода на лист дохода каждой бригадой за 3 года
Sub doh_3()
For i = 1 To 7
Dohod_brig(i) = 0 'Ввод начальных (нулевых ) данных в массив
For j = 1 To 3
'вычисление дохода каждой бригадой за 3 года
Dohod_brig(i) = Dohod_brig(i) + Urozay_cent(i, j) * Urozay_den(i, j)
Next j
'вывод результата расчета дохода каждой бригадой за 3 года
Cells(i + 6, 8) = Dohod_brig(i)
Next i
End Sub
'Процедура расчета и вывода на лист Всего хозяйства за каждый год
Sub doh_xoz()
Dohod_god(i) = 0 'Ввод начальных (нулевых ) данных в массив
For j = 1 To 3
Dohod_god(j) = 0
For i = 1 To 7
'Ввод начальных (нулевых ) данных в массив
'вычисление дохода каждой бригадой за 3 года
Dohod_god(j) = Dohod_brig(j) + Urozay_cent(i, j) * Urozay_den(i, j)
Next i
'вывод результата расчета дохода каждой бригадой за 3 года
Cells(14, 4 + j) = Dohod_brig(i)
Next j
End Sub
'Процедура расчета и вывода на лист дохода всего хозяйства 3 года
Sub Dohod_ob()
Dohod_obshiy = 0 'Ввод начальных (нулевых ) данных в массив
For i = 1 To 7
'вычисление дохода всего хозяйства
Dohod_obshiy = Dohod_brig(i) + Dohod_obshiy
'вывод результата расчета дохода каждой бригадой за 3 года
Next i
Cells(15, 7) = Dohod_obshiy
End Sub
Ответить
|
Номер ответа: 2 Автор ответа: agent
Вопросов: 5 Ответов: 11
|
Профиль | | #2
|
Добавлено: 13.05.07 00:11
|
'объявляем переменные, используемые в программе
Option Explicit
'Урожай, собранный каждой бригадой в каждом году в центнерах
Dim Urozay_cent(7, 3) As Integer
'Закупочная цена за урожай для каждой бригады ежегодно
Dim cena(7, 3) As Single
'Доход каждой бригады за 3 года а рублях
Dim Dohod_brig(7) As Single
'Доход всех бригад по годам в рублях
Dim Dohod_god(3) As Single
'Общий доход хозяйства за 3 года в рублях
Dim Dohod_obshiy As Single
'Название бригады, получившей максимальную прибыль, за 3 года
Dim max As Single
'Номер бригады, получившей максимальную прибыль
Dim Ind As Integer
'параметры циклов
Dim i, j As Integer
Sub vvod_zagol()
i = 1
j = 1
Do While i <= 7 'цикл по строкам таблицы с количетсвом бригад
Do Until j > 3 'цикл по столбцам с количеством лет
'далее следует проверка ячеек с урожаем на наличие отрицательных и пустых значений
If Cells(6 + i, 1 + j) < 0 Or Cells(6 + i, 1 + j) = "" Then
Cells(6 + i, 1 + j).Activate
MsgBox ("Проверьте значение выделенной ячейки! Работа программы прервана!"
GoTo s
End If 'конец проверки ячеек с уражаем
'далее следует проверка ячеек с закупочными ценами на наличие отрицательных и пустых значений
If Cells(6 + i, 4 + j) < 0 Or Cells(6 + i, 4 + j) = "" Then
Cells(6 + i, 4 + j).Activate
MsgBox ("Проверьте значение выделенной ячейки! Работа программы прервана"
GoTo s
End If 'конец проверки ячеек с закупочнми ценами
'Заносим урожай, собранный каждой бригадой в каждом году в центнерах(7, 3)
Urozay_cent(i, j) = Cells(6 + i, 1 + j)
'Заносим закупочную цену(7, 3)
cena(i, j) = Cells(6 + i, 4 + j)
j = j + 1
Loop
j = 1
i = i + 1
Loop
s: End Sub
'Процедура расчета и вывода на лист дохода каждой бригадой за 3 года
Sub doh_3()
For i = 1 To 7
 ohod_brig(i) = 0 'Ввод начальных (нулевых ) данных в массив
For j = 1 To 3
'вычисление дохода каждой бригадой за 3 года
 ohod_brig(i) = Dohod_brig(i) + Urozay_cent(i, j) * cena(i, j)
Next j
'вывод результата расчета дохода каждой бригадой за 3 года
Cells(i + 6, 8) = Dohod_brig(i)
Next i
End Sub
'Процедура расчета и вывода на лист Всего хозяйства за каждый год
Sub doh_xoz()
For j = 1 To 3
'Ввод начальных (нулевых ) данных в массив
Dohod_god(j) = 0
For i = 1 To 7
'вычисление дохода каждой бригадой за 3 года
Dohod_god(j) = Dohod_god(j) + Urozay_cent(i, j) * cena(i, j)
Next i
'вывод результата расчета дохода каждой бригадой за 3 года
Cells(14, 4 + j) = Dohod_god(j)
Next j
End Sub
'Процедура расчета и вывода на лист дохода всего хозяйства 3 года
Sub Dohod_ob()
Dohod_obshiy = 0 'Ввод начальных (нулевых ) данных в массив
For i = 1 To 7
'вычисление дохода всего хозяйства
Dohod_obshiy = Dohod_brig(i) + Dohod_obshiy
'вывод результата расчета дохода каждой бригадой за 3 года
Next i
Cells(15, 8) = Dohod_obshiy
End Sub
Sub brigada_max()
'организация поиска бригады с максимальным доходом
'максимальный доход = доходу первой бригады (можно -- любой)
max = Dohod_brig(1)
'номер бригады с максимальным доходом = 1 (пока)
Ind = 1
'цикл перебора бригад
For i = 1 To 7
'если текущее максимальное значение дохода меньше дохода данной бригады
If max <= Dohod_brig(i) Then
'назначаем максимальный доход = доходу данной бригады
max = Dohod_brig(i)
'запоминаем номер бригады с максимальным доходом
Ind = i
End If
Next i
'выводим название бригады, получившей максимальный доход
Cells(16, 8) = Cells(Ind + 6, 1)
End Sub
Private Sub rasschitat()
Call vvod_zagol
Call doh_3
Call doh_xoz
Call Dohod_ob
Call brigada_max
End Sub
Private Sub Ochistka()
'очищаем поле ввода начальных значений, столбец собранного урожая и
'дохода каждой бригады за каждый год
Worksheets("Лист1".Range("B7:I13".Value = ""
'очищаем поля дохода всех бригад за каждый год
Worksheets("Лист1".Range("E14:G14".Value = ""
'очищаем ячейку общего дохода хозяйства
Cells(15, 8) = ""
'очищаем ячейку названия бригады с максимальным доходом
Cells(16, 9) = ""
'устанавливаем заголовки строк в начальное значение (общие для таблиц "урожай" и "закупочные цены"
Cells(7, 1) = "Бригада 1"
Cells(8, 1) = "Бригада 2"
Cells(9, 1) = "Бригада 3"
Cells(10, 1) = "Бригада 4"
Cells(11, 1) = "Бригада 5"
Cells(12, 1) = "Бригада 6"
Cells(13, 1) = "Бригада 7"
'устанавливаем заголовки столбцов для таблицы "урожый" в начальное значение
Cells(6, 2) = 2000
Cells(6, 3) = 2001
Cells(6, 4) = 2002
'устанавливаем заголовки столбцов для таблицы "закупочные цены" в начальное значение
Cells(6, 5) = 2000
Cells(6, 6) = 2001
Cells(6, 7) = 2002
End Sub
Сделайте пожалуйста блок-схемы на каждую процедуру.Буду вам очень благодарен. Пришлите на ISQ 468-653-528. Нужно очень срочно!!! К вечеру воскресенья!! Помогите сделать!!!!
Ответить
|
Страница: 1 |
Поиск по форуму