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

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

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

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


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


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


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

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


II
курса


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


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


Москва


1998 год


ЗАДАНИЕ

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


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


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


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


· Таблицы Microsoft Access


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


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


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


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


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


· Введение


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


· Алгоритм


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


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


· Заключение


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


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


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


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


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


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

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


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


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


· Размер ВВП


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


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


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


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


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


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


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


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


Введение



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


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


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


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


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


1. размер внутреннего валового продукта, который является одним из самых распространенных показателей, характеризующих экономическое состояние страны;


2. величину цены на нефть за каждый год из 32-летнего периода;


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

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


Таблица с исходными данными в

режиме конструктора

выглядит следующим образом: Рис. 1


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


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


Запрос в режиме конструктора будет выглядеть следующим образом: Рис. 3


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


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


В Visual Basic

начинаем новый проект, выбирая в меню New File
пункт 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)


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 = Fa

lse


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


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


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


АЛГОРИТМ


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


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




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


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


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






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


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






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


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


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






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






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










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


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


в списки






Нахождение периода 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


30 If pr = False Then


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


Else


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


End If


200 End Sub



Private Sub Form_Load()


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


End Sub



Private Sub Option1_Click()


MsgBox "Перейти к первой форме?" ‘

Выдает сообщение


Form3.Hide 'Скрывает 3 форму


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


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


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


End Sub



Private Sub Option2_Click()


MsgBox "Перейти ко второй форме?" ‘

Выдает сообщение


Form3.Hide 'Скрывает 3 форму


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


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


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


End Sub


Ниже приводятся формы, как они выглядят в режиме проектирования, то есть до запуска программы.


ПЕРВАЯ ФОРМА



ВТОРАЯ ФОРМА



ТРЕТЬЯ ФОРМА



Далее приводятся формы в режиме Run, то есть после запуска программы.


ПЕРВАЯ ФОРМА


1.
После рассчета средних значений данных за 4-летние периоды:


2.
После выбора файла и записи в него данных:



ВТОРАЯ ФОРМА


1.
После считывания данных, определения ВВП и темпов его изменения:



2.
После нахождения периода максимального прироста и прироста в 50%:



ТРЕТЬЯ ФОРМА


1.После проведения сортировки:



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


1.
Файл, выбранный пользователем для записи средних значений данных:


0.8843492, 14.05, 1621.173, 2244, 49.9, 238652.5


1.250556, 14.425, 1693.65, 3841, 68.65, 260827.3


1.786277, 14.65, 1858.58, 6714.5, 79.575, 280061.8


2.117049, 14.675, 1966.193, 11439.5, 91.8, 248772.3


2.23297, 14.1, 2244.097, 17332, 110.6, 259894.3


2.364754, 17.275, 2533.115, 22487.75, 117.525, 242344.5


2.543809, 16.2, 2736.063, 27369.25, 123.875, 283233.3


3.258096, 17.025, 3509.732, 34186.75, 129.5, 389459.5


2.
Вспомогательный файл, содержащий данные обо всех показателях:


1960, 0.639305, 13.9, 1675.8, 228641, 45.8,1784


1961, 0.89425, 13.8, 1604.68, 248690, 47.3, 2136


1962, 0.925417, 13.9, 1604.67, 269742, 50.6, 2341


1963, 1.078425, 14.6, 1599.54, 228589, 55.9, 2715


1964, 1.098361, 14.4, 1603.6, 260713, 62.1, 3118


1965, 1.116758, 14.3, 1709.31, 238643, 69.5, 3423


1966, 1.294576, 14.4, 1711.7, 278317, 72.2, 3999


1967, 1.49253, 14.6, 1749.99, 305310, 70.8, 4824


1968, 1.598053, 14.4, 1805.4, 285305, 74.9, 5407


1969, 1.703083, 15.1, 1845.5, 270136, 78.3, 6329


1970, 1.853208, 14.5, 1879.75, 268371, 80.7, 7246


1971, 1.990764, 14.6, 1903.67, 294670, 84.4, 7876


1972, 2.078247, 14.4, 1899.9, 263478, 91.6, 8972


1973, 2.095748, 15.2, 1956.87 ,240537 ,93.9 ,10694


1974, 2.099347, 14.6, 1940.14 ,235925, 95.6 ,12495


1975, 2.194853, 14.5, 2067.86 ,250537, 86.1 ,13597


1976, 2.157347, 14.5, 2194.66 ,235925, 120.4, 15134


1977, 2.19576, 14.7, 2542.8, 270537, 103.5, 16664


1978, 2.293102, 12.3, 2157.43 ,246942, 105.8, 18125


1979, 2.285671, 14.9, 2081.5, 262578, 112.7, 19405


1980, 2.319454, 15.7, 2518.64, 243670, 114.9, 20960


1981, 2.365859, 15.5, 2520.8, 237387, 115.3, 22081


1982, 2.376982, 22.1, 2487.35, 214535, 117.2, 23033


1983, 2.39672, 15.8, 2605.67, 250934, 122.7, 23877


1984, 2.403722, 16, 2636.81, 270762, 124.6, 25412


1985, 2.418689, 16.2, 2642.3, 273300, 120.5, 26926


1986, 2.430957, 16.7, 2689.94, 306617, 124.9, 27959


1987, 2.92187, 15.9, 2975.2, 315571, 125.5, 29180


1988, 2.897231, 16.8, 3015.75, 335559, 126.8, 30929


1989, 2.990416, 17.1, 4545, 378700, 130.1, 32978


1990, 3.418921, 17.3, 3203.58, 452271, 131.7, 35368


1991, 3.725814, 16.9, 3274.6, 464879, 129.4, 37472


1992, 3.780530, 17.6, 3332.48, 523851, 135.9, 39330


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


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




1.
Мур
М., Фернандес Дж. Н.
“ Изучи сам Visual Basic 4
сегодня
” -
Минск, 1997 г.


2.

Энциклопедический словарь
” – М., 1962 г.


3.

Япония в цифрах

. Статистический справочник – М., 1967 г.


4.

Япония

. Статистический ежегодник – М., 1960-1989


гг.



Оглавление


1.
Задание на курсовой проект…………………….1


2.
Введение………………………………………….2-3


3.
Анализ постановки задачи…………………….3-4


4.
Формирование таблицы в
Microsoft Access…4-6


5.
Формирование запроса
в Microsoft Access…..7-8


6.
Создание проекта в
Visual Basic и установление


связи с
Microsoft Access………………………….9


7.
Создание элементов управления и кодов к ним


· В первой форме……………………………10-12


· Во второй форме…………………………..13-16


· В третьей форме……………………………17-20


8.
Предварительный анализ………………………..20


9.
Алгоритм………………………………………..21-22


10.
Тексты программ:


· Для первой формы………………………..23-26


· Для второй формы………………………..26-29


· Для третьей формы……………………….30-32


11.Внешний вид форм в режиме проектирования:


· Первой формы…………………………………33


· Второй формы…………………………………34


· Третьей формы………………………………..35


12.Внешний вид форм в режиме
Run:


· Первой формы……………………………..36-37


· Второй формы……………………………..38-39


· Третьей формы……………………………….40


13.Структура файлов……………………………40-41


14.Заключение……………………………………….42


15.Список литературы………………………………43

Сохранить в соц. сетях:
Обсуждение:
comments powered by Disqus

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

Слов:8757
Символов:74098
Размер:144.72 Кб.