Модель IS-LM равновесие в экономике

Автор работы: Пользователь скрыл имя, 03 Декабря 2010 в 00:33, Не определен

Описание работы

Цель данной работы – анализ взаимодействия реального сектора экономики(товарных рынков) и денежного рынка.

Файлы: 1 файл

Модель IS-LM, равновесие в экономике (ЭУП).doc

— 512.00 Кб (Скачать файл)

Пересечение кривых равновесия товарного (IS) и денежного (LM) рынков дает единственные значения величины ставки процента R (равновесная ставка процента) и уровня дохода Y (равновесный уровень дохода), обеспечивающие одновременное равновесие на этих двух рынках.

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

Список  использованных источников

1.Агапова  Т.А., Серегина С.Ф. Макроэкономика.-М., «Дис», 1997

2.Ивашковский С.Н. Макроэкономика: учебник. -3-е изд.,2004

3. Плотницкий М.И., Лобкович Э.И. Макроэкономика.-М.,2002

4.Селищев А.С. Макроэкономика.-С-Пб, «Питер», 2000

 

Приложение  А

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

     Unit1.cpp

include <vcl.h>

#pragma hdrstop 

#include "Unit1.h"

#include "Unit2.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

        : TForm(Owner)

{

}

//--------------------------------------------------------------------------- 

void __fastcall TForm1::Button2Click(TObject *Sender)

{

Close();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)

{

double r, Y;

PageControl1->ActivePage = TabSheet2;

MyObject.I = StrToFloat(Edit1->Text);

MyObject.T = StrToFloat(Edit2->Text);

MyObject.G = StrToFloat(Edit3->Text);

MyObject.b = StrToFloat(Edit4->Text);

MyObject.c = StrToFloat(Edit5->Text);

MyObject.d = StrToFloat(Edit6->Text);

MyObject.M = StrToFloat(Edit7->Text);

MyObject.k = StrToFloat(Edit8->Text);

MyObject.n = StrToFloat(Edit9->Text);

if((MyObject.b<1)&&(MyObject.d != 0)&&(MyObject.n != 0))

{

Y = MyObject.MetodNewtona();

r = MyObject.M*(1/MyObject.n)+(MyObject.k/MyObject.n)*Y;

Label12->Caption = FloatToStrF(r,ffFixed,10,2);

Label13->Caption = FloatToStrF(Y,ffFixed,10,2);

Series1->Clear();

Series2->Clear();

for( int i = Y - 1000; i<Y+1000; i++)

   {

    Series1->AddXY(i, MyObject.LM(i),"",clTeeColor);

    Series2->AddXY(i, MyObject.IS(i),"",clTeeColor);

   }

}

else { 

if(MyObject.b>1)

   ShowMessage("Вводимое значение b должно быть неотрицательным числом меньшим 1");

   if(MyObject.d == 0)

       ShowMessage("Вводимое значение d не  должно равняться нулю");

       if(MyObject.n == 0)

       ShowMessage("Вводимое значение n не  должно равняться нулю");

  }

}

           Unit1h

#ifndef Unit1H

#define Unit1H

//---------------------------------------------------------------------------

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include <ComCtrls.hpp>

#include <Chart.hpp>

#include <ExtCtrls.hpp>

#include <Series.hpp>

#include <TeEngine.hpp>

#include <TeeProcs.hpp>

//---------------------------------------------------------------------------

class TForm1 : public TForm

{

__published: // IDE-managed Components

        TPageControl *PageControl1;

        TTabSheet *TabSheet1;

        TTabSheet *TabSheet2;

        TGroupBox *GroupBox1;

        TEdit *Edit1;

        TEdit *Edit2;

        TEdit *Edit3;

        TEdit *Edit4;

        TEdit *Edit5;

        TEdit *Edit6;

        TLabel *Label1;

        TLabel *Label2;

        TLabel *Label3;

        TLabel *Label4;

        TLabel *Label5;

        TLabel *Label6;

        TGroupBox *GroupBox2;

        TEdit *Edit7;

        TEdit *Edit8;

        TEdit *Edit9;

        TLabel *Label7;

        TLabel *Label8;

        TLabel *Label9;

        TButton *Button1;

        TButton *Button2;

        TChart *Chart1;

        TLineSeries *Series1;

        TLineSeries *Series2;

        TLabel *Label10;

        TLabel *Label11;

        TLabel *Label12;

        TLabel *Label13;

        void __fastcall Button2Click(TObject *Sender);

        void __fastcall Button1Click(TObject *Sender);

private: // User declarations

public:  // User declarations

        __fastcall TForm1(TComponent* Owner);

};

//---------------------------------------------------------------------------

extern PACKAGE TForm1 *Form1;

//---------------------------------------------------------------------------

#endif 

     Unit2.cpp

//---------------------------------------------------------------------------

#pragma hdrstop 

#include "Unit2.h"

#include "Unit1.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#include<math.h>

MyClass MyObject;

//----------------------------------------------------------------

double MyClass::MetodNewtona()

{

double x = 0, Y, Y1;

Y = Func(x);

Y1 = (Func(x + 0.01) - Func(x - 0.01))/(2*0.01);

while(fabs(Y)>0.0001)

  {

   x = x - Y/Y1;

   Y = Func(x);

   Y1 = (Func(x + 0.01) - Func(x - 0.01))/(2*0.01);

  }

  return x;

}

//------------------------------------------------------------------------

double MyClass::Func(double x)

{

return M*1/n - (c + I)/d + b/d*T - 1/d*G + x*(k/n + (1 - b)/d);

}

//-------------------------------------------------------------------------

double MyClass::LM(double x)

{

  return M*1/n+k/n*x;

}

//--------------------------------------------------------------------------- 

double MyClass::IS(double x)

{

return (c + I)/d - b/d*T + 1/d*G - (1 - b)/d*x;

 }

//---------------------------------------------------------------------------

         Unit2.h

#ifndef Unit2H

#define Unit2H

//--------------------------------------------------------------

class MyClass{

  public:

    double M, n, k, I, T, G, b, c, d;

    MyClass()

    {M = 0; n = 0; k = 0; I = 0; T = 0; G = 0; b = 0; c = 0; d = 0;}

    ~MyClass()

        {M = 0; n = 0; k = 0; I = 0; T = 0; G = 0; b = 0; c = 0; d = 0;}

    double MetodNewtona();

    double Func(double x);

    double LM(double x);

    double IS(double x);

 };

extern MyClass MyObject;

//---------------------------------------------------------------

#endif 
 
 
 

Информация о работе Модель IS-LM равновесие в экономике