Анализ средствами Visual Basic и Microsoft Access

Страница: 5/10

j = 1

For i = 1 To 8

q(j) = a1(i + 1) / a1(i)

j = j + 1

Next i

Это введет в массив q(j) значения отношений прироста ВВП последующего периода к предыдущему. Для вычисления значения прироста ВВП, составляющего 50%, введем следующий код:

For i = 1 To 7

If q(i) = 1.5 Then

per = i

T3.Text = q(i)

Else

T3.Text = " ----------------------------"

T4.Text = "НЕТ"

End If

Next i

В данном коде переменная per является счетчиком, который позволит определить период прироста ВВП в 50%. Эта часть кода позволяет найти значение прироста ВВП в 50%, если таковое имеется, и вывести его в третье текстовое поле. В противном случае в третьем текстовом поле появится прочерк, а в четвертом поле, отражающем период данного прироста, появится надпись “нет”. Для определения периода, давшего прирост ВВП в 50%, введем следующий код:

If per = 1 Then

T4.Text = "1964 - 1967 гг."

End If

If per = 2 Then

T4.Text = "1968 - 1971 гг."

End If

If per = 3 Then

T4.Text = "1972 - 1975 гг."

End If

If per = 4 Then

T4.Text = "1976 - 1979 гг."

End If

If per = 5 Then

T4.Text = "1980 - 1983 гг."

End If

If per = 6 Then

T4.Text = "1984 - 1987 гг."

End If

If per = 7 Then

T4.Text = "1988 - 1991 гг."

End If

Эта часть кода определяет и выводит в четвертое текстовое поле период, в котором прирост ВВП составил 50%.

Согласно заданию, следующая часть работы должна выполняться в другой, третьей форме. Поэтому во второй форме необходимо создать командную кнопку, позволяющую перейти к третьей форме после выполнения всех необходимых операций во второй форме. Сначала создадим еще одну форму в нашем проекте и в окне свойств в графе Caption установим для нее значение ‘Сортировка данных по цене на нефть’.

ЗАМЕТИМ, что до того, как все операции во второй форме будут осуществлены, перейти в третью форму будет невозможным из-за того, что в командные кнопки 1 и 2 введены коды, предусматривающие определенный порядок в использовании кнопок. Так в процедуру Form_Load () введен код, делающий недоступными все командные кнопки:

Command1.Enabled = False

Command2.Enabled = False

Command3.Enabled = False

Для активизации каждой кнопки необходимо выполнить определенные действия, предусмотренные программой. Так, например, выбор пользователем файла для записи средних значений данных делает доступной первую командную кнопку, так как в процедуру File1_Click () введен код:

Command1.Enabled = True

После выполнения операций, предусмотренных кодом первой кнопки, вторая кнопка становится доступной, так как в процедуру Command1_Click () введен код:

Command2.Enabled = True

И так далее.

Для того, чтобы третья командная кнопка осуществляла переход к третьей форме, в процедуру Command3_Click () необходимо ввести следующий код:

Form2.Hide

Form3.Show

Этот код скрывает вторую форму и делает видимой третью форму.

В третьей форме, согласно заданию, необходимо провести сортировку данных о Японии по цене на нефть. Для этого необходимо, во-первых, считать данные, которые будут сортироваться. Для этого в первой форме в процедуру Command2_Click () введем код, позволяющий считывать данные из текстовых полей и заносить их в вспомогательный файл, названный ‘data1’:

Open "data1" For Output As #1

For i = 1 To 32

Write #1, mag(i), mas(i), ma(i), maq(i), maw(i), mar(i), maz(i)

Next i

Close #1

Прежде чем проводить сортировку данных, необходимо считать их из вспомогательного файла. Для этого создадим в третьей форме командную кнопку с названием ‘Сортировка данных по цене на нефть’ и в процедуру Command1_Click () введем следующий код:

Open "data1" For Input As #1

For i = 1 To 32

Input #1, mag(i), mas(i), ma(i), maq(i), maw(i), mar(i), maz(i)

Next i

Close #1

После того, как данные из вспомогательного файла будут считаны, необходимо провести их сортировку по цене на нефть. Это значит, что значения цены на нефть будут располагаться по возрастанию, а все остальные значения показателей будут отображаться соответственно этим значениям.

Для того, чтобы после запуска программы при нажатии кнопки происходила сортировка, необходимо в процедуру

Command1_Click () ввести следующий код:

10 pr = True

i = 1

20 If ma(i) > ma(i + 1) Then

buf = ma(i)

buf1 = mag(i)

buf2 = mas(i)

buf3 = maq(i)

buf4 = maw(i)

buf5 = mar(i)

buf6 = maz(i)

ma(i) = ma(i + 1)

mag(i) = mag(i + 1)

mas(i) = mas(i + 1)

maq(i) = maq(i + 1)

maw(i) = maw(i + 1)

mar(i) = mar(i + 1)

maz(i) = maz(i + 1)

ma(i + 1) = buf

mag(i + 1) = buf1

mas(i + 1) = buf2

maq(i + 1) = buf3

maw(i + 1) = buf4

mar(i + 1) = buf5

maz(i + 1) = buf6

pr = False

End If

Реферат опубликован: 17/03/2008