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, чтобы придать им желаемый внешний вид.

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

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


АЛГОРИТМ


Ввод данных в массивы из

текстовых полей



Вычисление средних значений

данных и ввод средних

значений в массивы




Вывод средних значений

данных в списки




Запись средних значений в

файл, выбранный

пользователем




Переход ко второй форме




Считывание данных из файла




Нахождение ВВП, темпов его

изменения и вывод данных

в списки



Нахождение периода max

прироста и прироста в 50%




Вывод в текстовые поля

значений и периодов

max прироста ВВП и в 50%



Переход к третьей форме




Сортировка данных по

цене на нефть




Вывод сортированных

данных в список





Переход к первой Переход ко второй

форме форме




В курсовом проекте были приведены коды для отдельных элементов управления. Ниже даются тексты программ с комментариями для более полного восприятия.


ДЛЯ ПЕРВОЙ ФОРМЫ:

Dim mas(40) As Single

Dim mag(40) As Single

Dim ma(40) As Single

Dim maq(40) As Single

Dim maz(40) As Single

Dim mar(40) As Single

Dim maw(40) As Single

Dim j, i As Integer

Dim h(10) As Single

Dim q(10) As Single

Dim w(10) As Single

Dim r(10) As Single

Dim p(10) As Single

Dim x(10) As Single


Private Sub Command1_Click()

Data1.Recordset.MoveFirst 'Переходит к первой строке данных

MsgBox "Эта кнопка выведет средние значения данных за 4-летние периоды, начиная с 1960 года!" ‘Выдает сообщение о кнопке’

For i = 1 To 32 'Ввод данных в массивы из текстовых полей

mag(i) = Text1.Text

mas(i) = Text2.Text

ma(i) = Text3.Text

maq(i) = Text4.Text

maw(i) = Text5.Text

mar(i) = Text6.Text

maz(i) = Text7.Text

Data1.Recordset.MoveNext 'Переходит к следующей строке данных

Next i

j = 1

For i = 1 To 32 Step 4 'Вычисление средних значений по данным и ввод их в массивы

h(j) = (mas(i) + mas(i + 1) + mas(i + 2) + mas(i + 3)) / 4

q(j) = (ma(i) + ma(i + 1) + ma(i + 2) + ma(i + 3)) / 4

w(j) = (maq(i) + maq(i + 1) + maq(i + 2) + maq(i + 3)) / 4

p(j) = (maz(i) + maz(i + 1) + maz(i + 2) + maz(i + 3)) / 4

r(j) = (mar(i) + mar(i + 1) + mar(i + 2) + mar(i + 3)) / 4

x(j) = (maw(i) + maw(i + 1) + maw(i + 1) + maw(i + 3)) / 4

j = j + 1

Next i

For i = 1 To 8 'Вывод средних значений в списки

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

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

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

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

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

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

Next i

Dir1.Enabled = True ‘Делает доступным DirListBox

Drive1.Enabled = True ‘Делает доступным DriveListBox

File1.Enabled = True ‘Делает доступным FileListBox

Command1.Enabled = False 'Делает кнопку нахождения ср. значений недоступной

Label14.Visible = True ‘Делает видимой метку с сообщением

End Sub


Private Sub Command2_Click()

Open File1 For Output As #1 'Открывает файл, выбранный пользователем

For i = 1 To 8 'Записывает данные в файл

Write #1, h(i), q(i), w(i), p(i), r(i), x(i)

Next i

Close #1 'Закрывает файл

Open "data1" For Output As #1 'Создает вспомогательный файл "data1"

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 'Закрывает файл "data1"

Command2.Enabled = False 'Делает кнопку записи данных в файл недоступной после записи

Command3.Enabled = True 'Делает доступной кнопку перехода в др. форму

End Sub


Private Sub Command3_Click()

Form1.Hide 'Скрывает 1 форму

Form2.Show 'Показывает 2 форму

Command1.Enabled = True 'Делает доступной кнопку нахождения средних значений


End Sub

Private Sub Dir1_Change()

File1 = Dir1 ‘Отображает в FileListBox файлы, содержащиеся в DirListBox

End Sub


Private Sub Drive1_Change()

ChDrive Drive1 ‘Меняет диск

Dir1 = Drive1 ‘Отображает в DirListBox каталоги диска, указанного в DriveListBox

ChDir Dir1 ‘Меняет каталог

End Sub


Private Sub File1_Click()

Command2.Enabled = True 'Делает кнопку записи данных в файл доступной

End Sub


Private Sub Form_Load()

Label14.Visible = False ‘Делает невидимой метку с сообщением

Dir1.Enabled = False ‘Делает недоступным DirListBox

Drive1.Enabled = False ‘Делает недоступным DriveListBox

File1.Enabled = False ‘Делает недоступным FileListBox

Command2.Enabled = False 'Делает кнопку записи данных в файл недоступной

Command3.Enabled = False 'Делает недоступной кнопку перехода в др. форму

MsgBox "Привет! Добро пожаловать в Visual Basic!" 'Выдает сообщение ‘Выдает приветственное сообщение

End Sub


Private Sub Text1_Change()

Text1.Enabled = False 'Делает текстовое поле недоступным

End Sub


Private Sub Text2_Change()

Text2.Enabled = False 'Делает текстовое поле недоступным

End Sub


Private Sub Text3_Change()

Text3.Enabled = False 'Делает текстовое поле недоступным

End Sub


Private Sub Text4_Change()

Text4.Enabled = False 'Делает текстовое поле недоступным

End Sub


Private Sub Text5_Change()

Text5.Enabled = False 'Делает текстовое поле недоступным

End Sub


Private Sub Text6_Change()

Text6.Enabled = False 'Делает текстовое поле недоступным

End Sub


Private Sub Text7_Change()

Text7.Enabled = False 'Делает текстовое поле недоступным

End Sub


ДЛЯ ВТОРОЙ ФОРМЫ:

Dim q(10) As Single

Dim t(10) As Single

Dim p As Integer

Dim per As Integer

Dim i, j As Integer

Dim a1(50) As Single

Dim a2(10) As Single

Dim a3(10) As Single

Dim a4(10) As Single

Dim a5(10) As Single

Dim a6(10) As Single


Private Sub Command1_Click()

Open File1 For Input As #1 'Открывает файл

For i = 1 To 8 'Считывает данные в массивы

Input #1, a1(i), a2(i), a3(i), a4(i), a5(i), a6(i)

L1.List(i - 1) = a1(i) 'Выводит в список данные о ВВП

Next i

Close #1 'Закрывает файл

j = 1

For i = 1 To 8

t(j) = a1(i + 1) - a1(i) 'Рассчет прироста ВВП

j = j + 1

Next i

For i = 1 To 7 ' Выводит данные о приросте в список

L2.List(i - 1) = t(i)

Next i

Command1.Enabled = False 'Делает недоступной кнопку вывода данных о приросте

Command2.Enabled = True 'Делает доступной кнопку нахождения max прироста

End Sub


Private Sub Command2_Click()

Max = 0 'Нахождение max прироста

For i = 1 To 7

If t(i) > Max Then

Max = t(i)

p = i 'Счетчик

End If

Next i

T1.Text = Max 'Выводит значение max прироста в текст. поле

If p = 1 Then 'Определяет период max прироста и выводит его в текст. поле

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

j = 1

For i = 1 To 8

q(j) = a1(i + 1) / a1(i) 'Рассчет отношения ВВП последующего периода к ВВП предыдущего периода

j = j + 1

Next i

For i = 1 To 7 'Находит и выводит в текст. поле период прироста в 50%, если такой имеется

If q(i) = 1.5 Then

per = i 'Счетчик

T3.Text = q(i)

Else

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

T4.Text = "НЕТ"

End If

Next i

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

Command1.Enabled = False ‘Делает недоступной кнопку нахождения ВВП

Command2.Enabled = False 'Делает недоступной кнопку рассчета max прироста

Command3.Enabled = True 'Делает доступной кнопку перехода в др. форму

End Sub


Private Sub Command3_Click()

Form2.Hide 'Скрывает 2 форму

Form3.Show 'Показывает 3 форму

Command1.Enabled = True ' Делает доступной кнопку рассчета прироста ВВП

End Sub


Private Sub Dir1_Change()

File1 = Dir1

End Sub


Private Sub Drive1_Change()

ChDrive Drive1

Dir1 = Drive1

ChDir Dir1

End Sub


Private Sub File1_Click()

Label7.Visible = False ‘Делает невидимой метку с собщением

Command1.Enabled = True ‘Делает доступной кнопку нахождения прироста ВВП

Drive1.Enabled = False ‘Делает недоступным DribeListBox

Dir1.Enabled = False ‘Делает недоступным DirListBox

End Sub


Private Sub Form_Load()

Command1.Enabled = False ‘Делает недоступной кнопку нахождения прироста ВВП

T1.Enabled = False 'Делает недоступными текст. поля

T2.Enabled = False

T3.Enabled = False

T4.Enabled = False

Command2.Enabled = False 'Делает недоступной кнопку рассчета max прироста

Command3.Enabled = False 'Делает недоступной кнопку перехода в др. форму

End Sub


ДЛЯ ТРЕТЬЕЙ ФОРМЫ:


Dim maq(40) As Single

Dim mag(40) As Single

Dim ma(40) As Single

Dim mas(40) As Single

Dim maz(40) As Single

Dim mar(40) As Single

Dim maw(40) As Single

Dim buf1 As Single

Dim buf2 As Single

Dim buf3 As Single

Dim buf4 As Single

Dim buf5 As Single

Dim buf6 As Single

Dim buf As Single


Private Sub 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

Command2.Enabled = False 'Делает недоступной кнопку вывода сортированных данных

End Sub


Private Sub Command1_Click()

Command1.Enabled = False ‘Делает недоступной кнопку сортировки

MsgBox "Эта кнопка проведет сортировку данных по возрастанию цены на нефть!" ‘Вывод сообщения

Command1.Enabled = True 'Делает доступной кнопку вывода сортированных данных

Open "data1" For Input As #1 'Открывает файл "data1"

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

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 'Переход на 30 строку

Else

GoTo 20 'Переход на 20 строку

End If


Информация о работе «Анализ экономических показателей Японии 1960-1992 гг. Компьютерная подготовка в ГУУ. 2 курс.»
Раздел: Информатика, программирование
Количество знаков с пробелами: 44855
Количество таблиц: 0
Количество изображений: 0

Похожие работы

Скачать
159031
4
8

... стоимости на 8 процентных пункта, доли затрат на технологические инновации по отношению к объему валового регионального продукта - на 9 % [36]. 3 Развитие инновационной системы предприятий как средство борьбы с экономическим кризисом   3.1 Организация инновационной деятельности и НИОКР на ОАО «Нижнекамскшина» ОАО «Нижнекамскшина» как самостоятельная юридическая единица, существует с 1971 ...

Скачать
206022
1
17

... и ряда межведомственных документов [3]. 15-16 июня 2009 года премьер-министр Индии Манмохан Сингх принял участие в саммитах ШОС (Шанхайская организация сотрудничества ) и БРИК (Бразилия, Россия, Индия и Китай) в Екатеринбурге. 2-6 сентября 2009 года Россию с первым государственным визитом посетила президент Индии Пратибха Девисингх Патил. В Москве Пратибха Патил провела переговоры с президентом ...

Скачать
102317
1
0

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

Скачать
153269
1
0

... и освоением Сахалинского шельфа. Внимание американского Правительства к Российскому Дальнему Востоку отражало не только общее потепление российско-американских отношений, но и специфические региональные (на уровне Западного побережья США и всего Тихоокеанского ареала) интересы США. Дальневосточный регион представлял определенный интерес для США по целому ряду причин: Дальний Восток России – это ...

0 комментариев


Наверх