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
... стоимости на 8 процентных пункта, доли затрат на технологические инновации по отношению к объему валового регионального продукта - на 9 % [36]. 3 Развитие инновационной системы предприятий как средство борьбы с экономическим кризисом 3.1 Организация инновационной деятельности и НИОКР на ОАО «Нижнекамскшина» ОАО «Нижнекамскшина» как самостоятельная юридическая единица, существует с 1971 ...
... и ряда межведомственных документов [3]. 15-16 июня 2009 года премьер-министр Индии Манмохан Сингх принял участие в саммитах ШОС (Шанхайская организация сотрудничества ) и БРИК (Бразилия, Россия, Индия и Китай) в Екатеринбурге. 2-6 сентября 2009 года Россию с первым государственным визитом посетила президент Индии Пратибха Девисингх Патил. В Москве Пратибха Патил провела переговоры с президентом ...
... собой процесс, потому что также состоит из серии взаимосвязанных действий. Процесс управления является общей суммой всех функций. Процесс управления (менеджмент) имеет четыре взаимосвязанные функции: планирование, организация, мотивация и контроль. планирование организация мотивация контроль планирование. Функция планирования предполагает решение о ...
... и освоением Сахалинского шельфа. Внимание американского Правительства к Российскому Дальнему Востоку отражало не только общее потепление российско-американских отношений, но и специфические региональные (на уровне Западного побережья США и всего Тихоокеанского ареала) интересы США. Дальневосточный регион представлял определенный интерес для США по целому ряду причин: Дальний Восток России – это ...
0 комментариев