Решение систем линейных уравнений методом Крамера

Автор работы: Пользователь скрыл имя, 25 Декабря 2014 в 14:19, курсовая работа

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

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

Содержание работы

Введение
2
1 Теоретическая часть
4
1.1 Технология разработки программных средств
4
1.2 Алгоритмизация и программирование
7
1.2.1 История развития алгоритмических языков
7
1.2.2 Основные функции технологии программирования
7
1.2.3 История создания С++
12
1.3 Основы теории и синтаксиса языка программирования С++
15
1.3.1 Синтаксис языка С++
15
1.3.2 Правила записи программы на языке С++
15
1.3.3 Правила формального описания синтаксиса языка программирования
17
2 Практическая часть
18
2.1 Решение систем линейных уравнений методом Крамера
18
2.2 Пример решения системы линейных уравнений методом Крамера
20
2.2.1 Техническое задание на учебный программный продукт
20
2.2.2 Алгоритм решения задачи
21
2.2.3 Список используемых идентификаторов
21
2.2.4 Инструкция по использованию программы
21
2.2.5 Минимальная конфигурация
21
2.2.6 Назначение ПО
22
2.2.7 Документация на учебный программный продукт
22
Заключение
24
Литература

Файлы: 1 файл

Курсовая работа (Захватаев Сергей АиУ-12)(1) (Восстановлен).docx

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Приложение А

Блок-схема алгоритма решения системы линейных уравннеий методом крамера

 

 

 

Приложение Б

/*//////////////////////////////////////////////////////////////////////////////////////

Выполнил: Захватаев Сергей, студент гр. А и У - 12 КГИУ.   ////

Цель программы: программа находит неизвестные линейных уравнений по правилу Крамера ////

/*//////////////////////////////////////////////////////////////////////////////////

 

 

#include <iostream>

#include <conio.h>

#include <Windows.h>

 

using namespace std;

 

int main ()

{

setlocale (LC_ALL, "Russian");

system("color F2");

 

double A1, B1, C1, S1, A2, B2, C2, S2, A3, B3, C3, S3, x, y, z;

double GOpred, Opred1, Opred2, Opred3;

char answer = '31';

 

cout << "\t\t***Расчет линейных уравнений по методу Крамера***"<<endl<<endl;

cout << "Система линейных уравнений имеет вид:\n\tA1x + B1y + C1z = S1\n\tA2x + B2y + C2z = S2\n\tA3x + B3y + C3z = S3\n\n";

 

while(answer == '1')

{

cout << "Введите переменные уравнений:\n";

cout << "A1= ";cin >> A1;cout << "B1= ";cin >> B1;cout << "C1= ";cin >> C1;cout << "S1= ";cin >> S1;

cout << "A2= ";cin >> A2;cout << "B2= ";cin >> B2;cout << "C2= ";cin >> C2;cout << "S2= ";cin >> S2;

cout << "A3= ";cin >> A3;cout << "B3= ";cin >> B3; cout << "C3= ";cin >> C3;cout << "S3= ";cin >> S3;

 

GOpred = ( ( (A1*B2*C3) + (A2*B3*C1) + (B1*C2*A3) )  -  ( (C1*B2*A3) + (B3*C2*A1) + (A2*B1*C3) ) );

Opred1 = ( ( (S1*B2*C3) + (S2*B3*C1) + (B1*C2*S3) )  -  ( (C1*B2*S3) + (B3*C2*S1) + (S2*B1*C3) ) );

Opred2 = ( ( (A1*S2*C3) + (A2*S3*C1) + (S1*C2*A3) )  -  ( (C1*S2*A3) + (S3*C2*A1) + (A2*S1*C3) ) );

Opred3 = ( ( (A1*B2*S3) + (A2*B3*S1) + (B1*S2*A3) )  -  ( (S1*B2*A3) + (B3*S2*A1) + (A2*B1*S3) ) );

 

x = Opred1/GOpred;

y = Opred2/GOpred;

z = Opred3/GOpred;

 

if (GOpred == 0)

{

cout << "Данное уравнение не может быть решено методом Крамера, попробуйте использовать метод Гаусса"<<endl;

cout << "Продолжить? [да = 1, нет = 0] ";

system("color F6");

cin >> answer;

if (answer=='1')

system("color F2");

else system("color 84");

 continue;

}

else

{

cout << "Главный определитель = " << GOpred << endl<<endl;

cout << "1 определитель = " << Opred1 << endl;

cout << "2 определитель = " << Opred2 << endl;

cout << "3 определитель = " << Opred3 << endl;

cout << "x = " << x << endl;

cout << "y = " << y << endl;

cout << "z = " << z << endl;

 

cout << "Продолжить? [да = 1, нет = 0] ";

system("color F6");

cin >> answer;

if (answer=='1')

{

system("color F2");

continue;

}

else system("color 84");

 

{

HANDLE hStdout = GetStdHandle (STD_OUTPUT_HANDLE);

 

SetConsoleTextAttribute(hStdout, BACKGROUND_BLUE +

BACKGROUND_INTENSITY +

FOREGROUND_BLUE +

FOREGROUND_RED  +

FOREGROUND_GREEN +

 FOREGROUND_INTENSITY);

 

 

const char Snow = 15;

 

CONSOLE_SCREEN_BUFFER_INFO csbi;

 

GetConsoleScreenBufferInfo (hStdout, &csbi);

 

const int WindowWidth = csbi.srWindow.Right -csbi.srWindow.Left + 1;

const int WindowHeight = csbi.srWindow.Bottom -csbi.srWindow.Top + 1;

 

for (int i = 0; i < WindowWidth * WindowHeight; i=i+1)

cout << ' ';

 

COORD orig = {0,0};

 

SetConsoleCursorPosition (hStdout, orig);

 

COORD snowflakes[1000];

 

for (int i = 0; i < WindowWidth; i++)

{

snowflakes [i].X = i;

snowflakes [i].Y = rand() % WindowHeight;

}

 

while (true)

{

for (int i = 0; i < WindowWidth; i++)

{

SetConsoleCursorPosition (hStdout, snowflakes[i]);

cout << ' ';

 

snowflakes[i].Y++;

if (snowflakes[i].Y == WindowHeight)

snowflakes[i].Y = 0;

 

SetConsoleCursorPosition (hStdout, snowflakes[i]);

cout << Snow;

}

SetConsoleCursorPosition (hStdout, orig);

Sleep (100);

 

}

system ("pause");

return 0;

}

}

}

getch();

return 0;

}

 

 


Информация о работе Решение систем линейных уравнений методом Крамера