Главная страница

Пояснительная записка к курсовой работе по курсу Вычислительная техника и алгоритмические языки


Скачать 0.85 Mb.
НазваниеПояснительная записка к курсовой работе по курсу Вычислительная техника и алгоритмические языки
Дата26.03.2021
Размер0.85 Mb.
Формат файлаdocx
Имя файлаPoyasnitelnaya_zapiska1.docx
ТипПояснительная записка
#188528
страница6 из 7
1   2   3   4   5   6   7

6.2 Основной файл Source.cpp



#include "Header.h"
int main()

{

setlocale(LC_ALL, "russian");

char menu;

Data data = {NULL,NULL,0}; // Массив данных

float a = 0; // Коэффициенты для линейной функции

float b = 0; // Коэффициенты для линейной функции

float a_1 = 0; // Коэффициенты для логарифмической функции

float b_1 = 0; // Коэффициенты для логарифмической функции

float a_2 = 0; // Коэффициенты для квадратичной функции

float b_2 = 0; // Коэффициенты для квадратичной функции

float c_2 = 0; // Коэффициенты для квадратичной функции

float Y[8]; // Теоретические значения

ofstream out("result.txt");

bool file_1, file_2, file_3; // Переменные для записи данных в файл

file_1 = file_2 = file_3 = true;

do

{

mainMenu();

menu = _getch();

switch (menu)

{

case '1': // Ввдон данных с клавиатуры

data = enterData(data);

break;
case '2': // Ввод данных с файла

data = readFile(data);

break;

case '3': // Линейная зависимость. Коэффициент кореляции.

system("cls");

linearDependence(data, &a, &b);

cout << "Коэффициент a = " << a << endl;

cout << "Коэффициент b = " << b << endl;

for (int i = 0; i < data.N; i++)

{

Y[i] = (a * data.U[i] + b);

}

cout << "Коэффициент корреляция r = " << coefCorrelation(data, a, b) << endl;

cout << "Ср. квадратичное отклонение S = " << S(data, Y) << endl;

cout << "Относительная ошибка A = " << A(data, Y) << endl;

cout << "Прознозное значение p для 0,78U = " << a * 0.78 + b << endl;

cout << "Прознозное значение p для 0,93U = " << a * 0.93 + b << endl;

cout << "Прознозное значение p для 0,98U = " << a * 0.98 + b << endl;

cout << "Прознозное значение p для 1,15U = " << a * 1.15 + b << endl;

cout << "Y теор.";

for (int i = 0; i < data.N; i++)

{

cout << "\t" << data.p[i];

}

cout << endl;

cout << "Y ан.";

for (int i = 0; i < data.N; i++)

{

cout << "\t" << Y[i];

}

_getch();
// Запись в файл

if (file_1)

{

out << "\n\nЗависимость №1: " << endl;

out << "Коэффициент a = " << a << endl;

out << "Коэффициент b = " << b << endl;

out << "Коэффициент корреляция r = " << coefCorrelation(data, a, b) << endl;

out << "Ср. квадратичное отклонение S = " << S(data, Y) << endl;

out << "Относительная ошибка A= " << A(data, Y) << endl;

out << "Прознозное значение p для 0,78U = " << a * 0.78 + b << endl;

out << "Прознозное значение p для 0,93U = " << a * 0.93 + b << endl;

out << "Прознозное значение p для 0,98U = " << a * 0.98 + b << endl;

out << "Прознозное значение p для 1,15U = " << a * 1.15 + b << endl;

out << "Y теор.";

for (int i = 0; i < data.N; i++)

{

out << "\t" << data.p[i];

}

out << endl;

out << "Y ан.";

for (int i = 0; i < data.N; i++)

{

out << "\t" << Y[i];

}

file_1 = false;

}

break;

case'4': // Логарифмическая

system("cls");

for (int i = 0; i < data.N; i++)

{

data.U[i] = log(data.U[i]);

}

linearDependence(data, &a_1, &b_1);

for (int i = 0; i < data.N; i++)

{

data.U[i] = exp(data.U[i]);

}

cout << "Коэффициент a = " << a_1 << endl;

cout << "Коэффициент b = " << b_1 << endl;

for (int i = 0; i < data.N; i++)

{

Y[i] = a_1 * log(data.U[i]) + b_1;

}

cout << "Индекс корреляция R = " << indexCorrelation(data, Y) << endl;

cout << "Ср. квадратичное отклонение S = " << S(data, Y) << endl;

cout << "Относительная ошибка A = " << A(data, Y) << endl;

cout << "Прознозное значение p для 0,78U = " << a_1 * log(0.78) + b_1 << endl;

cout << "Прознозное значение p для 0,93U = " << a_1 * log(0.93) + b_1 << endl;

cout << "Прознозное значение p для 0,98U = " << a_1 * log(0.98) + b_1 << endl;

cout << "Прознозное значение p для 1,15U = " << a_1 * log(1.15) + b_1 << endl;

cout << "Y теор.";

for (int i = 0; i < data.N; i++)

{

cout << "\t" << data.p[i];

}

cout << endl;

cout << "Y ан.";

for (int i = 0; i < data.N; i++)

{

cout << "\t" << Y[i];

}
_getch();
// Запись в файл

if (file_2)

{

out << "\n\nЗависимость №2: " << endl;

out << "Коэффициент a = " << a_1 << endl;

out << "Коэффициент b = " << b_1 << endl;

for (int i = 0; i < data.N; i++)

{

Y[i] = a_1 * log(data.U[i]) + b_1;

}

out << "Индекс корреляция R = " << indexCorrelation(data, Y) << endl;

out << "Ср. квадратичное отклонение S = " << S(data, Y) << endl;

out << "Относительная ошибка A = " << A(data, Y) << endl;

out << "Прознозное значение p для 0,78U = " << a_1 * log(0.78) + b_1 << endl;

out << "Прознозное значение p для 0,93U = " << a_1 * log(0.93) + b_1 << endl;

out << "Прознозное значение p для 0,98U = " << a_1 * log(0.98) + b_1 << endl;

out << "Прознозное значение p для 1,15U = " << a_1 * log(1.15) + b_1 << endl;

out << "Y теор.";

for (int i = 0; i < data.N; i++)

{

out << "\t" << data.p[i];

}

out << endl;

out << "Y ан.";

for (int i = 0; i < data.N; i++)

{

out << "\t" << Y[i];

}

file_2 = false;

}

break;

case '5': // Квадратичная зависимость

system("cls");

quadratic(data, &a_2, &b_2, &c_2);

for (int i = 0; i < data.N; i++)

{

Y[i] = a_2 + b_2 * data.U[i] + c_2 * pow(data.U[i], 2);

}

cout << "Коэффициент a = " << a_2 << endl;

cout << "Коэффициент b = " << b_2 << endl;

cout << "Коэффициент c = " << c_2 << endl;

cout << "Индекс корреляция R = " << indexCorrelation(data, Y) << endl;

cout << "Ср. квадратичное отклонение S =" << S(data, Y) << endl;

cout << "Относительная ошибка A =" << A(data, Y) << endl;

cout << "Прознозное значение p для 0,78U = " << a_2 + b_2 * 0.78 + c_2 * pow(0.78, 2) << endl;

cout << "Прознозное значение p для 0,93U = " << a_2 + b_2 * 0.93 + c_2 * pow(0.93, 2) << endl;

cout << "Прознозное значение p для 0,98U = " << a_2 + b_2 * 0.98 + c_2 * pow(0.98, 2) << endl;

cout << "Прознозное значение p для 1,15U = " << a_2 + b_2 * 1.15 + c_2 * pow(1.15, 2) << endl;

cout << "Y теор.";

for (int i = 0; i < data.N; i++)

{

cout << "\t" << data.p[i];

}

cout << endl;

cout << "Y ан.";

for (int i = 0; i < data.N; i++)

{

cout << "\t" << Y[i];

}

_getch();
// Запись в файл

if (file_3)

{

out << "\n\nЗависимость №3: " << endl;

out << "Коэффициент a = " << a_2 << endl;

out << "Коэффициент b = " << b_2 << endl;

out << "Коэффициент c = " << c_2 << endl;

out << "Индекс корреляция R = " << indexCorrelation(data, Y) << endl;

out << "Ср. квадратичное отклонение S =" << S(data, Y) << endl;

out << "Относительная ошибка A =" << A(data, Y) << endl;

out << "Прознозное значение p для 0,78U = " << a_2 + b_2 * 0.78 + c_2 * pow(0.78, 2) << endl;

out << "Прознозное значение p для 0,93U = " << a_2 + b_2 * 0.93 + c_2 * pow(0.93, 2) << endl;

out << "Прознозное значение p для 0,98U = " << a_2 + b_2 * 0.98 + c_2 * pow(0.98, 2) << endl;

out << "Прознозное значение p для 1,15U = " << a_2 + b_2 * 1.15 + c_2 * pow(1.15, 2) << endl;

out << "Y теор.";

for (int i = 0; i < data.N; i++)

{

out << "\t" << data.p[i];

}

out << endl;

out << "Y ан.";

for (int i = 0; i < data.N; i++)

{

out << "\t" << Y[i];

}

file_3 = false;

}

break;

case '0':

break;

default:

break;

}

}

while (menu != '0');
out.close();
return 0;

}

1   2   3   4   5   6   7


написать администратору сайта