Определение параметров регрессионной зависимости полной фактической себестоимости от общехозяйственных и общепроизводственных расходов
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
µгрессивной(регрессивного анализа) зависимости полной фактической себестоимости от общехозяйственных и общепроизводственных расходов.
Данная программа выполняет следующие функции:
1)Чтение данных из файла;
2)Расчет параметров регрессивной зависимости;
)Вывод результата расчетов на экран;
Минимальный состав технических средств для успешной работы программы:
центральный процессор Intel Pentium III и выше;
цветной 17-ти дюймовый монитор SVGA, поддерживающий разрешение 1024x768;
512 Мб оперативной памяти;
2 Мб свободного места на жёстком диске;
манипулятор типа мышь, клавиатура.
Для работы программы в папке с программой должны находиться следующие файлы:
файл приложения Regress_Jhukov.exe;
файл с входными данными Regress_Jhukov.ini.
Для запуска программы на исполнение необходимо запустить на выполнение файл Regress_Jhukov.exe.
После запуска на экране появляется главное окно программы (рис 1).
Рисунок 1. Главное окно программы, вкладка Исходные данные
В главном окне программы показаны данные считанные из файла Regress_Jhukov.ini, а именно Название райпо, Полная фактическая себестоимость (Х) и Общехозяйственные и общепроизводственные расходы (У).
При нажатии на кнопку Далее >> происходит расчет параметров зависимости и переключение на вкладку Результаты промежуточных расчетов (рис 2). Так же расчет параметром можно произвести либо нажав горячую клавишу F3, либо меню Файл пункт Расчитать.
регресс зависимость расчет приложение
Рисунок 2. Вкладка Результаты промежуточных расчетов
После нажатия на кнопку Далее >> открывается последняя вкладка содержащая результаты расчетов. (рис 3).
Рисунок 3. Вкладка Результаты расчетов
Пример заполнения файла данных Regress_Jhukov.ini (рис. 4) можно посмотреть открыв меню Справка и выбрав пункт Пример файла, либо нажав горячую клавишу F2.
Рисунок 4. Пример заполнения файла данных Regress_Jhukov.ini
Выйти из программы можно 4 способами:
- Кнопка Выход в нижнем правом углу окна программы;
- Выпадающее меню Файл пункт Выход;
- Горячая клавиша F4;
- Кнопка с крестиком в верхнем правом углу окна программы.
БЛОК-СХЕМЫ
Рисунок 1 - Обобщенная схема алгоритма
Для вычисления среднего значения фактических массивов x и y надо два раза обратиться к алгоритму SR с разными параметрами. Тогда схема схемы алгоритма блока: А-В будет иметь вид, изображенный на рисунке 2.
Рисунок 2 - Алгоритм вычисления среднего значения элементов массива
Рисунок 3 - Алгоритм вычисление средних значений массивов x и y
Рисунок 4 - Алгоритм вычисления дисперсии
Рисунок 5 - Алгоритм вычисления среднеквадратических отклонений
Рисунок 6 - Алгоритм вычисления коэффициента парной корреляции
ТЕКСТ ПРОГРАММЫ
#include
#pragma hdrstop
#include "Unit1.h"
#include "Unit2.h"
#include "Unit3.h"
//---------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"*Form1;
//---------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{}
//---------------------------------------------------------__fastcall TForm1::N5Click(TObject *Sender)
{->Close();
}
//---------------------------------------------------------rasch ()
{x;y;n, xsum, ysum, xs, ys;qx, qy, r, wx, wy;=0;=0;=0;=0;sumy;sumx;=0;
=0;=0;=0;=0;=16;str, str1;(unsigned int i=0; i< 16; i++)
{=Form1->Memo2->Lines->Strings[i];= StrToFloat(str);+=x; // suma elementov x=Form1->Memo3->Lines->Strings[i];= StrToFloat(str1);+=y; // suma elementov y
}=(xsum/n); // srednee xxsumer=SimpleRoundTo(xs,-3);=(ysum/n); // srednee yysumer=SimpleRoundTo(ys,-3);->Label11->Caption=xsumer ;->Label12->Caption=ysumer ;(unsigned int i=0; i<16; i++)
{=Form1->Memo2->Lines->Strings[i];= StrToFloat(str);=Form1->Memo3->Lines->Strings[i];= StrToFloat(str1);+= pow((x-xsumer),2);+= pow((y-ysumer),2);
}=((1/(n-1))*(sumx));qxsum = SimpleRoundTo(qx,-3);->Label13->Caption=qxsum ; //дисперсия Х
float qx1;=0;=sqrt(qx); //отклонение Х
double qxsum1 = SimpleRoundTo(qx1,-3);->Label15->Caption=qxsum1 ;=((1/(n-1))*(sumy));qysum = SimpleRoundTo(qy,-3);->Label14->Caption=qysum; //дисперсия Уqy1;=0;=sqrt(qy);qysum1 = SimpleRoundTo(qy1,-3);->Label16->Caption=qysum1; //отклонение У(unsigned int i=0; i<16; i++)
{=Form1->Memo2->Lines->Strings[i];= StrToFloat(str);=Form1->Memo3->Lines->Strings[i];= StrToFloat(str1);+= ((x-xsumer)*(y-ysumer));
}=(wx/((n-1)*qxsum1*qysum1));r1;=0;=SimpleRoundTo(r,-3);->Label17->Caption=r1;->Label18->Caption = "Расчеты удачно произведены";
//----РАБОТА С ПЕРВОЙ ЗАВИСИМОСТЬЮa0, a1, d, d1, d2, f, yr, f1;
a0=0; a1=0; d=0; d1=0; d2=0; f=0; f1=0;(unsigned int i=0; i<16; i++)
{=Form1->Memo2->Lines->Strings[i];= StrToFloat(str);+=pow(((x*x)/(exp(1/x))),2);
}(unsigned int i=0; i<16; i++)
{=Form1->Memo2->Lines->Strings[i];= StrToFloat(str);+=((x*x)/(exp(1/x)));
}(unsigned int i=0; i<16; i++)
{=Form1->Memo2->Lines->Strings[i];= StrToFloat(str);=Form1->Memo3->Lines->Strings[i];= StrToFloat(str1);+=((x*x)/(exp(1/x)))*y;
}= n*d1- pow(d2,2); // d в первой регрессии= (ysum*d1-d2*f)/d; // a0 в первой регрессии= (n*f-d2*ysum)/d; // a1 в первой регрессии
yr=0;qs, q;=0;=0;(unsigned int i=0; i<16; i++)
{=Form1->Memo2->Lines->Strings[i];= StrToFloat(str);=Form1->Memo3->Lines->Strings[i];
y = StrToFloat(str1);= a0 + a1*((x*x)/(exp(1/x))); //значения результата по регрессионным зависимостям
qs+= pow((y+yr),2);stryr=FormatFloat("0.000",yr);->Memo6->Lines->Add(stryr);
}= (1/(n-1))*qs; //остаточные дисперсии
f1=qysum/q; //коэффициенты Фишера
Form1->Memo4->Lines->Add(d);->Memo4->Lines->Add(a0);->Memo4->Lines->Add(a1);->Memo4->Lines->Add(q);->Memo4->Lines->Add(f1);
//----РАБОТА СО ВТОРОЙ ЗАВИСИМОСТЬЮa_0, a_1, d_, d_1, d_2, f_, y_r, f_1;
a_0=0;_1=0;_=0;_1=0;_2=0;_=0;_1=0;(unsigned