Смекни!
smekni.com

Анализ экономических показателей Японии 1960-1992 гг. Компьютерная подготовка в ГУУ. 2 курс. (стр. 3 из 6)

T1.Enabled = False

T2.Enabled = False

T1 и T2 – соответственно названия первого и второго текстовых полей.

Создадим 2 аналогичных текстовых поля для вывода значений прироста ВВП, составляющего 50%, и периода с таковым приростом ВВП.

В процедуру Command2_Click() введем код для нахождения периода и значения максимального прироста ВВП:

Max = 0

For i = 1 To 7

If t(i) > Max Then

Max = t(i)

p = i

End If

Next i

T1.Text = Max

Эта часть кода определяет значение максимального прироста и выводит его в первое текстовое поле. Переменная p является счетчиком, с помощью которого мы определяем период максимального прироста ВВП:

If p = 1 Then

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

End If

If p = 2 Then

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

End If

If p = 3 Then

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

End If

If p = 4 Then

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

End If

If p = 5 Then

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

End If

If p = 6 Then

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

End If

If p = 7 Then

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

End If

Эта часть кода анализирует значение переменной p и, в зависимости от ее значения выводит во второе текстовое поле данные о периоде максимального прироста.

Если прирост ВВП составляет 50%, это означает, что отношение значения ВВП последующего периода к значению ВВП предыдущего периода составляет 1.5. Поэтому для определения прироста ВВП в 50% и периода, дающего такой прирост, необходимо рассчитать отношение прироста ВВП последующего периода к предыдущему по всем периодам. Чтобы сделать это, введем в процедуру Command2_Click () следующий код:

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

i = i + 1

If i = 32 Then

GoTo 30

Else

GoTo 20

End If

30 If pr = False Then

GoTo 10

Else

GoTo 200

End If

200 End Sub

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

После проведения сортировки данных по цене на нефть, необходимо вывести эти сортированные данные в списки. Для этого в третьей форме создадим семь списков (по количеству показателей), в которых будут отображаться сортированные данные. Над ними разместим семь меток с названиями соответствующих списков: «Год», «Размер ВВП» и т. д. Для отображения в списках сортированных данных необходимо создать в третьей форме вторую командную кнопку, для которой в окне свойств в графе Caption установим значение Вывод сортированных данных. Чтобы сделать эту кнопку недоступной до проведения сортировки, в процедуру Form_Load () добавим код:

Command2.Enabled = False

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

Command2.Enabled = True

Command1.Enabled = False

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

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

For i = 1 To 32

List1.List(i - 1) = mag(i)

List2.List(i - 1) = mas(i)

List3.List(i - 1) = ma(i)

List4.List(i - 1) = maq(i)

List5.List(i - 1) = maw(i)

List6.List(i - 1) = mar(i)

List7.List(i - 1) = maz(i)

Next i

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

Form3.Hide

Form1.Show для первого переключателя и

Form3.Hide

Form2.Show для второго переключателя.

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

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

Исходя из соображений логики, можно сделать некоторые предварительные заключения. Япония – страна с высоким уровнем развития, занимающая одну из передовых позиций на мировом рынке. Но, как известно, она испытывает недостаток в ресурсах, имеющихся в ее владении, поэтому вынуждена импортировать их из других стран. Что касается нефти, которая крайне важна для любой страны, Япония закупает ее у различных государств, в том числе и у России. Внутренний валовой продукт включает в себя государственные расходы на все покупки ресурсов, а, значит, и нефти. И хотя можно проследить зависимость между размером ВВП и величиной цены на нефть, делать выводы о прямой пропорциональности цены на нефть размеру ВВП, скорее всего, нельзя, так как необходимо принимать во внимание множество прочих факторов, оказывающих влияние на экономическое состояние страны, индикатором которого является внутренний валовой продукт. А потому можно сказать, что, вероятно, на каком-либо небольшом отрезке времени будет наблюдаться прямая зависимость цены на нефть от размера ВВП, но возможны также периоды, где эта зависимость будет обратной. Для более полного анализа необходимо иметь сведения о большом количестве экономических показателей и принимать во внимание даже такие факторы, как ситуация в обществе, войны, природные катаклизмы, положение в других странах и во всем мире в целом.