_WELCOMETO Radioland

Главная Схемы Документация Студентам Программы Поиск Top50  
Поиск по сайту



Навигация
Главная
Схемы
Автоэлектроника
Акустика
Аудио
Измерения
Компьютеры
Питание
Прог. устройства
Радио
Радиошпионаж
Телевидение
Телефония
Цифр. электроника
Другие
Добавить
Документация
Микросхемы
Транзисторы
Прочее
Файлы
Утилиты
Радиолюб. расчеты
Программирование
Другое
Студентам
Рефераты
Курсовые
Дипломы
Информация
Поиск по сайту
Самое популярное
Карта сайта
Обратная связь

Студентам


Студентам > Курсовые > Анализ средствами Visual Basic и Microsoft Access

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

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

     Но может случиться так, что после запуска пользователь осуществит нажатие один или несколько раз на элемент Data1 до того, как нажать на командную кнопку. Это приведет к сбою программы, потому что в данном случае в коде, приведенном выше, запись, находящаяся в текстовом поле будет восприниматься как первая, а так как записей всего 32, то это приведет к невозможности завершения цикла. Чтобы избежать этого, перед данным кодом поместим строку:

           Data1.Recordset.MoveFirst

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

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

   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

j – переменная; массивы h(j), q(j), w(j), p(j), r(j) и x(j) – соответственно массивы, содержащие средние значения данных за периоды с 1960 по 1963 год, с 1964 по 1967 год и т. д.

     Запись For i = 1 To 32 Step 4 означает, что в каждый последующий массив ввод данных будет производиться с элемента, номер которого на 4 больше номера первого элемента предшествующего массива, то есть в первый массив – с первого по четвертый элемент, во второй – с пятого (номер которого на 4 больше номера первого) по восьмой и т. д. до 32.

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

      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 

После запуска программы при нажатии командной кнопки в списках появятся средние значения данных за 4-летние периоды, начиная с 1960 года.

       Согласно заданию, после рассчета средних значений, необходимо занести их в файл. Для удобства пользователя сделаем так, чтобы он имел возможность сам выбирать тот файл, в который будут занесены средние значения. Для этого разместим в первой форме элементы DriveListBox, DirListBox и FileListBox, отображающие соответственно диск, каталог и файл для записи данных. С помощью этих элементов пользователь после запуска программы выберет файл для записи средних значений данных. После того, как он сделает это, необходимо произвести запись в файл, указанный пользователем, средних значений показателей, рассчитанных до этого. Создадим командную кнопку, при нажатии на которую средние значения записывались бы в файл. Для нее в окне свойств в графе Caption установим значение ‘Запись средних значений в файл’. Введем в процедуру 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 

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

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

Form1.Hide

Form2.Show

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

       Согласно заданию, во второй форме необходимо считать файл со средними значениями показателей. Для того, чтобы сделать это, надо, чтобы пользователь указал файл, в который записаны эти данные. Для этого используем элементы DriveListBox, DirListBox и FileListBox. Разместим их во второй форме рядом с меткой, объясняющей пользователю, что он должен указать файл со средними значениями. После того, как пользователь сделает это, необходимо считать данные из файла. Для этого создадим командную кнопку, для которой в окне свойств в графе Caption введем значение ‘Считывание данных из файла, определение ВВП и темпов его изменения’.  Как видно из названия кнопки, с ее помощью мы будем определять размер ВВП и находить темпы его изменения, что также требуется в задании.

       Для того, чтобы считать данные из файла, указанного пользователем, необходимо ввести в процедуру 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

 

 Строка L1.List(i - 1) = a1(i) обеспечивает вывод в список, размещенный во второй форме, значений ВВП.

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

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

Запись L2.List(i - 1) = t(i) выводит во второй список, размещенный в форме, данные о приросте ВВП.

      Согласно заданию, далее необходимо рассчитать период максимального прироста и период, дающий 50% прироста ВВП. Чтобы определить, какие это периоды, создадим во второй форме командную кнопку, для которой в окне свойств в графе Caption Установим значение ‘Нахождение периода max прироста и периода прироста в 50%’.  Создадим 2 текстовых поля, первое из которых будет отображать размер максимального прироста ВВП, а второе – период такого прироста. Чтобы сделать эти текстовые поля недоступными для ввода информации во время работы программы,  в процедуру Form_Load введем коды:

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