- •Макроэкономика
- •212005, Г. Могилев, пр. Мира, 43
- •Содержание
- •1 Область применения
- •2 Нормативные ссылки
- •3 Общие положения
- •4 Структура курсовой работы
- •5 Правила оформления курсовой работы
- •6 Критерии оценки курсовой работы
- •7 Примерная тематика курсовых работ
- •Приложение а Образец оформления исходных текстов
Приложение а Образец оформления исходных текстов
(рекомендуемое)
01 procedure TfrmMain.btnRunClick(Sender: TObject);
02 type
03 massiv = array [1..50] of real;
04 var
05 mpc, h: real;
06 t, k: integer;
07 y, c, i, a, yF, D: massiv;
08 begin
09 a[1] := StrToFloat(edCa1.Text);
10 a[2] := StrToFloat(edCa2.Text);
11 mpc := StrToFloat(edMPC.Text);
12 h := StrToFloat(edh.Text);
13 t := StrToInt(edt.Text);
14 y[1] := a[1] / (1 - mpc);
15 c[1] := mpc * y[1];
16 c[2] := mpc * y[1];
17 y[2] := c[1] + a[2];
18 i[1] := 0;
19 i[2] := 0;
20 D[1] := -1 * StrToFloat(edD.Text);
21 if cbGrowth.Checked = true then
22 D[2] := D[1] * power(1 + StrToFloat(edx.Text),2)
23 else
24 D[2] := D[1];
25 yF[1] := StrToFloat(edyF.Text);
26 if cbGrowth.Checked = true then
27 yF[2] := yF[1] * power(1 + StrToFloat(edx.Text),2)
28 else
29 yF[2] := yF[1];
30 if cbMin.Checked = false then
31 for k := 3 to t + 1 do
32 begin
33 c[k] := mpc * y[k - 1];
34 a[k] := a[2];
35 i[k] := h * (y[k - 1] - y[k - 2]);
36 y[k] := a[k] + c[k] + i[k];
37 end
37 else
39 if cbGrowth.Checked = true then
40 for k := 3 to t + 1 do
41 begin
42 c[k] := mpc * y[k - 1];
43 a[k] := a[2] * power(1 + StrToFloat(edx.Text),k);
44 D[k] := StrToFloat(edD.Text) *
45 power(1 + StrToFloat(edx.Text),k);
46 yF[k] := StrToFloat(edyF.Text) *
47 power(1 + StrToFloat(edx.Text),k);
48 if h * (y[k - 1] - y[k - 2]) >= -1 * D[k] then
49 i[k] := h * (y[k - 1] - y[k - 2])
50 else
51 i[k] := -1 * D[k];
52 if a[k] + c[k] + i[k] <= yF[k] then
53 y[k] := a[k] + c[k] + i[k]
54 else
55 y[k] := yF[k];
56 end
57 else
58 for k := 3 to t + 1 do
59 begin
60 c[k] := mpc * y[k - 1];
61 a[k] := a[2];
62 D[k] := StrToFloat(edD.Text);
63 yF[k] := StrToFloat(edyF.Text);
64 if h * (y[k - 1] - y[k - 2]) >= -1 * D[k] then
65 i[k] := h * (y[k - 1] - y[k - 2])
66 else
67 i[k] := -1 * D[k];
68 if a[k] + c[k] + i[k] <= yF[k] then
69 y[k] := a[k] + c[k] + i[k]
70 else
71 y[k] := StrToFloat(edyF.Text);
72 end;
73 StringGrid.RowCount := t + 2;
74 Chart.Series[0].Clear;
75 Chart.Series[1].Clear;
76 Chart.Series[2].Clear;
77 Chart.Series[3].Clear;
78 Chart.Series[4].Clear;
79 Chart.Series[5].Clear;
80 Chart.Series[1].Active := cbI.Checked;
81 Chart.Series[2].Active := cbC.Checked;
82 Chart.Series[3].Active := cbD.Checked;
83 Chart.Series[4].Active := cbyF.Checked;
84 Chart.Series[5].Active := cbA.Checked;
85 for k := 1 to t + 1 do
86 begin
87 Chart.Series[0].AddXY(k,y[k],'',clRed);
88 Chart.Series[1].AddXY(k,i[k],'',clGreen);
89 Chart.Series[2].AddXY(k,c[k],'',clYellow);
90 Chart.Series[3].AddXY(k,-D[k],'',clBlue);
91 Chart.Series[4].AddXY(k,yF[k],'',clWhite);
92 Chart.Series[5].AddXY(k,a[k],'',clGray);
93 StringGrid.Cells[0,k] := IntToStr(k-1);
94 StringGrid.Cells[1,k] := IntToStr(round(y[k]));
95 StringGrid.Cells[2,k] := IntToStr(round(c[k]));
96 StringGrid.Cells[3,k] := IntToStr(round(i[k]));
97 StringGrid.Cells[4,k] := IntToStr(round(a[k]));
98 end;
99 end;