Реферат: Анализ экономических показателей Японии 1960-1992 гг.

Государственный Университет Управления

Им. СергоОрджоникидзе

Курсовойпроект

покомпьютерной подготовке

Выполнила студентка

Специальности«Мировая экономика»

II курса

КолобековаАлла

РуководительАленичев А. В.

Москва

1998 год

ЗАДАНИЕ

на курсовой проект

Общеезадание:

     Составить средствами Visual Basic и Microsoft  Access комплекс программ, работающих в режимедиалога с пользователем, включая:

·        Алгоритм решения задачи

·        Таблицы Microsoft Access

·        Формы документов Visual Basic

·        Собственно программы.

Объяснительная запискадолжна включать:

·        Титульный лист

·        Задание на курсовой проект

·        Введение

·        Анализ постановки задачи

·        Алгоритм

·        Таблицы, формы, тексты программ и структуры файлов

·        Результаты решения задачи

·        Заключение

·        Список литературы

·        Оглавление.

Сроки выполнения курсовогопроекта:

·        Срок представления проекта руководителю – 14 декабря 1998 года

·        Время защиты работы – 28 декабря 1998 года.

Практическое задание:

     Создать таблицу в MicrosoftAccess сполями:

·        Цена на нефть

·        Потребление нефти в Японии

·        Размер ВВП

·        Объем промышленного производства

·        Внешнеторговый баланс

·        Доход на душу населения

    Заполнитьтаблицу данными по годам с 1960 по 1992 и разработать запрос для нахожденияданных в зависимости от цены на нефть.

   Разработать форму и программу в VisualBasic,позволяющую считывать эти записи, вычислять средние значения за 4-летниепериоды и заносить эти средние значения в файл.

    Разработать форму и программу в VisualBasic,позволяющую считывать этот файл, вычислять размер ВВП, темпы его изменения инаходить период максимального прироста и периоды, дающие 50% прироста.

     Разработать форму и программу в VisualBasic,сортирующую данные по цене на нефть, и посмотреть, есть ли зависимость этогопараметра с темпами изменения размера ВВП.

      Проанализировать полученные результаты исделать выводы.

Введение

       В последнеевремя возрос интерес к экономико-политической жизни общества в целом, чтопредполагает интерес как по отношению ко всему миру в целом, так и к отдельнымстранам, чьи опыт и знания могут быть не только полезными, но и крайне важнымив развитии тех или иных государств. В особенности знания такого рода важны длястран, чья экономика находится на стадии развития, а экономические отношениякак внутри страны, так и на мировом рынке носят слабо выраженный характер посравнению с такими странами, как США, Япония и другие. Знания об этихгосударствах являются основой экономики слаборазвитых стран, а их опыт вомногом может помочь в решении неизбежно возникающих проблем.

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

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

        В данномкурсовом проекте на примере данных о Японии показана динамика отдельныхэкономических показателей и их взаимосвязь.

       В Microsoft Access эти данныезаносятся в виде таблиц, отражающих статистические сведения о Японии за периодс 1960 по 1992 года. 32-летний период является достаточным для выявлениязакономерностей в динамике того или иного показателя, а также для установлениязависимости между показателями, если таковая существует. Данные по Япониивключают в себя:

1.     

2.    

3.    

4.    

5.    

6.    

     Далее, спомощью Visual Basic проводитсяанализ имеющихся данных, их группировка по признаку, указанному в задании, атакже нахождение средних значений данных за четырехлетние периоды, начиная с1960 года. Средние величины делают более удобным сравнение и анализ информации,так как показывают определенную тенденцию в изменении того или иногопоказателя. Затем, с помощью средств Visual Basic определяются темпы изменения показателей по заданию,а также находится период максимального прироста определенного показателя ипериоды, дающие 50% прироста. Это проводится для того, чтобы определить, вкаком периоде за 62 года  прироствнутреннего валового продукта был наибольшим, то есть в какой период экономикаЯпонии развивалась наиболее активно, чтобы впоследствии было возможно выявитьпричины такого роста и устранить факторы, препятствующие как развитию экономикив целом, так и замедляющие рост экономических показателей  в конкретной области.   

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

      Длятого, чтобы иметь возможность оперировать данными о Японии, представленными втаблице Microsoft Access, необходимо, чтобы эти данные могли бытьотображенными в Visual Basic. Это возможно, благодаря тому, что обе этипрограммы (Microsoft Access и Visual Basic)  являются продуктами компании Microsoft®,и Visual Basic предполагает возможность установления связи сданными, размещенными в таблицах Microsoft Access.

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

       Имеются данные по Японии за период с 1960 по 1992 года, представляющиесобой сводную таблицу в Microsoft Access. Данные взяты изстатистических справочников. Для занесения данных в MicrosoftAccess необходимосоздать новую базу данных, затем таблицу в ней и последовательно ввести всеимеющиеся данные по Японии в режиме конструктора (рис.1), заполняя строки сименами полей и типом соответствующих данных. Имена полей в данном случае –название экономических показателей за 32-летний период, а так как все данныечисловые, то это будет отражено в соответствующих строках с типом данных. Позавершении формирования макета исходной таблицы, необходимо открытьполучившуюся таблицу и ввести все имеющиеся данные за каждый год всоответствующие графы таблицы (рис.2).

<img src="/cache/referats/11358/image002.jpg" v:shapes="_x0000_s1111">
      Таблица с исходными данными врежимеконструктора выглядит следующим образом:                                                      Рис. 1

Таблица, получившаяся после ввода данных о Японии,имеет следующий вид:

 Послесоздания таблицы в Microsoft Access необходимо разработать запрос для нахожденияданных в зависимости от цены на нефть. Для этого надо создать запрос и в режимеконструктора (рис.3) ввести необходимые поля, а также имя таблицы, данные изкоторой используются в запросе, затем ввести условие сортировки, если этонеобходимо (по возрастанию, по убыванию) и условие отбора данных из исходнойтаблицы.

<img src="/cache/referats/11358/image004.jpg" v:shapes="_x0000_s1110">
       Запрос в режиме конструктора будетвыглядеть следующим образом:                                                                                    Рис. 3

Готовый запрос будет иметь следующий вид:

      На этомзаканчивается часть работы, выполняемая в MicrosoftAccess, иначинается непосредственное создание программы в VisualBasic, котораявыполняла бы необходимые по условию задачи операции над данными, размещенными втаблицах Microsoft Access.

       

     В Visual Basic начинаем новый проект,выбирая в меню NewFile пункт New Project. Выделяем первую форму и в окне Properties в графе Caption устанавливаем для первой формы название ‘Считывание данных инахождение средних значений’,при этом имя первой формы – Form1.

     В первойформе создаем элемент DataControl с именем Data1.В окнесвойств в графе Caption устанавливаем название ‘Исходные данные’. В графе Connect  - значение Access. В графе DatabaseName указываем путь к файлу,содержащему таблицу Microsoft Access. В графе RecordSource указываем название таблицы Microsoft Access, содержащей исходные данные по Японии.

    Затем впервой форме создаем 7 элементов TextBox – текстовых полей – по количеству столбцов в исходнойтаблице. Над каждым текстовым полем размещаем элементы Label – метки, содержащие названия каждого столбца. Вданном случае это год, размер ВВП, цены на нефть, размер потребления нефти,размер внешнеторгового оборота, объем промышленного производства и доход надушу населения. У каждого текстового поля в окне свойств в графе DataSource устанавливаемзначение Data1, а в графе DataField – выбираем название тогостолбца исходной таблицы, который отображает данное текстовое поле. Так впервом текстовом поле будет значение ‘Год’, во втором – ‘Размер ВВП’ ит. д.

      Такимобразом, мы установили связь Visual Basic с таблицей в Microsoft Access.

       Посредством этой связи мы можемосуществлять считывание данных из таблицы для выполнения необходимых операций,предусмотренных заданием. При запуске программы в текстовых полях будутотображаться данные таблицы Microsoft Access, а, используя стрелки наэлементе Data1, можно производитьпрокрутку данных, так чтобы они последовательно появлялись в текстовых полях.Для того, чтобы после запуска программы пользователь не мог ввести в текстовыеполя никакую информацию, то есть для «защиты» текстовых полей от постороннихзаписей, необходимо в процедуру Text1_Change () ввести следующий код:

Text1.Enabled = False

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

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

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

                                          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

    i – переменная,mag(i), mas(i), ma(i), maq(i), maw(i), mar(i) иmaz(i) –соответственно массивы со значениями года, размера ВВП, цены на нефть, размерапотребления нефти, размера ВТО, объема промышленного производства и размеромдохода на душу населения.  Запись Data1.Recordset.MoveNextозначает, что после выполнения считывания данных за первый год Data1 передвинетданные в текстовых полях на одну вперед и считывание будет проводиться уже заследующий год и т. д.

     Но может случиться так, что после запуска пользовательосуществит нажатие один или несколько раз на элемент 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)

      Nexti 

После запуска программы при нажатии командной кнопкив списках появятся средние значения данных за 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

Form3.Show

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

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

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

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

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

       

АЛГОРИТМ

<img src="/cache/referats/11358/image005.gif" v:shapes="_x0000_s1041">Ввод данных в массивы из

<img src="/cache/referats/11358/image006.gif" v:shapes="_x0000_s1082"><img src="/cache/referats/11358/image007.gif" v:shapes="_x0000_s1080">текстовых полей

<img src="/cache/referats/11358/image008.gif" v:shapes="_x0000_s1091">                                          

<img src="/cache/referats/11358/image009.gif" v:shapes="_x0000_s1042">

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

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

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

<img src="/cache/referats/11358/image010.gif" v:shapes="_x0000_s1092">


<img src="/cache/referats/11358/image011.gif" v:shapes="_x0000_s1044">

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

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

<img src="/cache/referats/11358/image008.gif" v:shapes="_x0000_s1093">


<img src="/cache/referats/11358/image012.jpg" v:shapes="_x0000_s1046">

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

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

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

<img src="/cache/referats/11358/image013.gif" v:shapes="_x0000_s1094">


<img src="/cache/referats/11358/image015.jpg" v:shapes="_x0000_s1048">

<img src="/cache/referats/11358/image016.gif" v:shapes="_x0000_s1089"><img src="/cache/referats/11358/image017.gif" v:shapes="_x0000_s1088">Переход ко второй форме

<img src="/cache/referats/11358/image018.gif" v:shapes="_x0000_s1095">


<img src="/cache/referats/11358/image019.gif" v:shapes="_x0000_s1050">

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

<img src="/cache/referats/11358/image013.gif" v:shapes="_x0000_s1096"> <img src="/cache/referats/11358/image020.gif" v:shapes="_x0000_s1087"> <img src="/cache/referats/11358/image021.gif" v:shapes="_x0000_s1079">


<img src="/cache/referats/11358/image022.gif" v:shapes="_x0000_s1052">

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

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

в списки

<img src="/cache/referats/11358/image010.gif" v:shapes="_x0000_s1097">


<img src="/cache/referats/11358/image023.gif" v:shapes="_x0000_s1054">

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

<img src="/cache/referats/11358/image024.gif" v:shapes="_x0000_s1085">прироста и прироста в 50%

<img src="/cache/referats/11358/image018.gif" v:shapes="_x0000_s1098">


<img src="/cache/referats/11358/image025.gif" v:shapes="_x0000_s1056">

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

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

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

<img src="/cache/referats/11358/image026.gif" v:shapes="_x0000_s1076"> <img src="/cache/referats/11358/image027.gif" v:shapes="_x0000_s1099">


<img src="/cache/referats/11358/image015.jpg" v:shapes="_x0000_s1058">

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

<img src="/cache/referats/11358/image028.gif" v:shapes="_x0000_s1100">


<img src="/cache/referats/11358/image030.jpg" v:shapes="_x0000_s1063">

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

цене на нефть

<img src="/cache/referats/11358/image031.gif" v:shapes="_x0000_s1101">


<img src="/cache/referats/11358/image033.jpg" v:shapes="_x0000_s1065">

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

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

<img src="/cache/referats/11358/image034.gif" v:shapes="_x0000_s1071 _x0000_s1102 _x0000_s1103 _x0000_s1104"> <img src="/cache/referats/11358/image035.gif" v:shapes="_x0000_s1108">


<img src="/cache/referats/11358/image036.jpg" v:shapes="_x0000_s1068"><img src="/cache/referats/11358/image037.jpg" v:shapes="_x0000_s1069">

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

                         форме                                             форме

<img src="/cache/referats/11358/image038.gif" v:shapes="_x0000_s1074 _x0000_s1075"> <img src="/cache/referats/11358/image039.gif" v:shapes="_x0000_s1107 _x0000_s1109">


 

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

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

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     'Делает кнопкунахождения ср. значений н

еще рефераты
Еще работы по компьютерам и переферийным устройствам