Слау методом гауса для численных методов

Автор работы: Пользователь скрыл имя, 03 Декабря 2012 в 18:44, курсовая работа

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

Целью работы над данным курсовым проектом является написание программного продукта для решения систем линейных уравнений. Метод Гаусса. Программный продукт должен выводить на экран теоретическую информацию по теме "Системы линейных алгебраических уравнений. Метод Гаусса", давать возможность решать системы линейных уравнений, а также предоставлять необходимый справочный материал по требованию пользователя.

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

Введение
1. Постановка задачи
1.1 Цель разработки
1.2 Область применения
1.3 Актуальность разработки ПП
1.4 Входные данные
1.5 Выходные данные
1.6 Схема информационных потоков
2. Решение систем линейных алгебраических уравнений методом гаусса
2.1 Основные понятия
2.2 Метод Гаусса. Исключение неизвестных
2.3 Однородная СЛАУ
3. Алгоритм решения задачи
3.1 Водные данные
3.3 Входные данные
3.4 Алгоритм
4. Проектирование интерфейса
5. Описание программной реализации
5.1 Функционально-логическая схема программы
5.2 Описание процедур и функций
5.3 Описание структур и форматов
6. Комплект поставки и порядок установки
7. Тестирование программы
Выводы
Список использованных источников
Приложение А
Приложение Б

Файлы: 1 файл

Курсовая и рамки.doc.docx

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

Меню интерфейса состоит из 5 пунктов каждому из которых соответствует своя цифра:

пункт вида "1 - Теория", означает, что для вызова теоретической  информации нужно нажать клавишу 1;

пункт вида "2 - Пример", означает, что для вызова примера решения  СЛАУ методом Гаусса нужно нажать клавишу 2;

пункт вида "3 - Решение", означает, что для вызова диалогового окна, где будет предложено пользователю ввести свои коэффициенты для решении СЛАУ, нужно нажать клавишу 3;

пункт вида "4 - Справка", означает, что для вызова справочной информации нужно нажать клавишу 4;

пункт вида "5 - Выход", означает, что для выхода из программы нужно  нажать клавишу 1;

Статусная строка отображает информацию следующего вида:

подсказки пользователю, относительно дальнейших действий: " Нажмите номер  пункта меню", "Для перехода укажите  номер страницы (от 1 до 6), "Для  возврата в меню нажмите Esc, для вывода справки нажмите 0", "Для возврата назад нажмите 1".

 

5. Описание программной реализации

5.1 Функционально-логическая схема  программы

Данная схема отражает укрупненный  алгоритм работы программы с учетом интерфейсных решений (см. рисунок 5.1).

Вначале происходит прорисовка главного окна программы, в результате чего на экран выводятся 5 пунктов главного меню. Если выбрана первый пункт (1 - Теория), то происходит вывод теоретической  информации на экран. Если выбрана второй пункт меню (2 - Пример) - вывод примера решения СЛАУ на экран. Если выбрана третий пункт (3 - Решение) - происходит решение СЛАУ методом Гаусса. Если выбран четвертый пункт (4 - Справка) - на экран выводится справочная информация по методу Гаусса. Если выбран пятый пункт (5 - Выход) - происходит полный выход из программы. Если не выбран ни один пункт меню, на экране ничего не происходит.

Рис.5.1 Функционально - логическая схема программы

Процедура LoadFile (Name: string); - открывает текстовые файлы.

Name - имя открываемого файла.

Процедура menu; - выводит на экран главное меню.

Процедура menuTeorii; - выводит на экран файл с меню для теории.

Процедура menuSpravki; - выводит на экран файл с меню для справки.

Процедура menuPrimera; - выводит на экран файл с меню для примера.

Процедура Spravka (var : char); - выводит на экран справочную информацию.

 - номер открываемой страницы.

Процедура Teoria ( var : char); - выводит на экран теоретическую информацию.

 - номер открываемой страницы.

Процедура Grafik ( : real); - выводит на экран график.

- коэффициенты матрицы.

Процедура Vvod (var x: real; var code: integer); - процедура для ввода вещественного числа.

 - вещественное число,

соde - переменная ошибки.

Процедура Vvod1 (var : integer); - процедура для ввода целого числа.

 - целое число;

Процедура Rewenie; - решение СЛАУ.

Процедура Primer - выводит на экран примеры решения СЛАУ методом Гаусса.

Процедура Vuxod - выводит пользователя из программы.

5.3 Описание структур и форматов

В исходном текстовом файле хранится информация в следующем формате (разделитель между элементами матрицы - один или несколько пробелов):

(размер матрицы)

(элементы матрицы).

Пример исходного файла:

 

4

1 5 2 3 5

1 5 6 9 4

1 4 5 6 4

3 6 5 4 8

 

6. Комплект поставки и порядок  установки

В комплект поставки входят следующие  файлы:

EGAVGA. BGI - файл драйвера графического  режима;

GRAPH. TRU-модуль графического режима;

“menu. txt" - главное меню интерфейса;

“Text1. txt", “Text2. txt”, “Text3. txt", “Text4. txt”, “Text5. txt", “Text6. txt" - теоретический материал.

“Primer1. txt”, “Primer2. txt”, “Primer3. txt”, “Primer4. txt" - примеры решения СЛАУ.

“SPRAVKA1. txt" - справочный материал.

OSNOVN2 - весь программный продукт.

Чтобы установить программу на ПК, необходимо просто скопировать папку  с программой, в которой содержатся все вышеупомянутые файлы, на диск, с которого пользователь хочет вести  работу. Чтобы начать работу с программой, необходимо запустить файл OSNOVN2.

 

7. Тестирование программы

 

Для тестирования программы разработчик  решил несколько СЛАУ вручную, а  потом ввел в программу такие  же коэффициенты как и для ручного просчета. Вот что получилось:

1) Исходная матрица:

1 1 1

2 2 1

Преобразованная матрица:

1 1 1

0 0 - 1

Решений нет. Ответ программы совпадает  с ручным просчетом.

2) Исходная матрица:

1 1 2

1 - 1 0

Преобразованная матрица:

1 1 2

0 2 2

Вектор ответов:

х [1] = 1

х [2] = 1

Ответ программы совпадает с  ручным просчетом.

 

Выводы

 

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

Достоинства данного метода, а также  программы состоят в том, что  с их помощью можно решать систем линейных уравнений, а также вычислять  неизвестные переменные, не затрачивая времени на вычисления.

Недостатком данного ПП является то, что программа может иметь мелкие погрешности.

Если же говорить об интерфейсе программы, то следует отметить его простоту и легкость использования, поэтому  с программой способен работать даже человек, который впервые имеет  дело с компьютерами.

после доработки программы, ПП можно  будет использовать на производстве.

Также следует отметить, что во время написания курсового проекта, ……. основы языка Turbo Pascal 7.0.

 

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

 

1. Турбо Паскаль 7.0/ Алексеев  Е.Р., Чесноков О.В. - М.: НТ Пресс, 2004. - 320с

2. Марченко А.И., Марченко Л.А.  Программирование в среде Тurbo Рascal 7.0. - 6-е изд. стереотип. _Юбилейное - К.: ВЕК++, 2000 - 127с. э

3. Петренко И.В., Беда Е.Н. Лекции  и практикум по линейной алгебре:  Учебное э пособие. - Донецк: ИПИИ "Наука 1 освіта"; 2005. - 76с.

4. Культин Н.Б. Программирование в Turbo Pasсal 7.0 и Delphi / Второе издание, переработанное и дополненное. - СПб.: БХВ - Санкт Петербург, 1999. - 416 с., ил.

 

Приложение А

 

ТЕХНИЧЕСКОЕ ЗАДАНИЕ

А.1. Общие сведения

Основанием для разработки курсовой работы "Метод Гаусса" является задание, выданное   …….. Плановый срок начала работы: 1 сентября 2012 г.

Курсовая работа выполняется согласно графику, приведенному в таблице  А.1.

 

Таблица А.1. - График выполнения курсовой работы

Этапы работы

Срок выполнения

Постановка задачи: определение требований к программному комплексу.

15.02-22.02

Составление технического задания.

22.02-01.03

Разработка методов решения задачи.

01.03-08.03

Разработка алгоритма функционирования программы.

15.03

Определение структур входных и выходных данных, алгоритмов работы модулей. Описание входных и выходных данных.

22.03 - 29.03

Написание программы.

05.04-19.04

Отладка программы.

19.04-26.04

Тестирование программы.

26.04-03.05

Написание пояснительной записки.

03.05-17.05

Защита курсовой работы

29.05


 

А.2. Назначение и цели создания программы

Курсовая работа предназначена  для помощи в обучении решения  систем алгебраических уравнений методом  Гаусса. Проект может быть использован  в общеобразовательных школах учениками старших классов, а также студентами математических специальностей высших учебных заведений.

А.З. Требования к программному продукту

А.3.1 Требования к программному продукту в целом;

В целом к ПП предоставляются  такие требования:

интуитивно - понятый интерфейс

наличие меню;

наличие контекстных подсказок  для текущих и возможных действий пользователя

вывод подсказок при вводе данных;

предоставление справочной информации по методу Гаусса, причем исходная информация должна храниться во внешних файлах.

решение задач в рамках метода Гаусса. Предоставление пользователю возможности  получить решение для конкретных входных данных с выводом результатов  на экран и сохранением в файл.

использование графических средств при решении задач или предоставлении теоретического материала по методу Гаусса.

А.3.2 Требования к задачам и функциям, выполняемым программой;

исходная матрица должна вводиться  как с клавиатуры, так и из текстового файла;

для СЛАУ второго ранга должно выводиться графическое решение.

пользователю должна быть предоставлена  справочная информация по методу Гаусса;

результаты вычисления должны выводиться на экран и сохраняться в текстовый  файл;

А.3.3 Требование к программному обеспечению  Требованиями ПО:

ОС МS Windows XP Professional;

наличие Турбо Паскаль.

А.3.4 Требования к техническому обеспечению

Для нормального функционирования программного продукта на машине требуется:

процессор АВМ Аt1оn;

операционная память (не менее 64 кб);

клавиатура;

свободное дисковое пространство (не менее 128 мб);

А.3.5 Требование к организационному обеспечению Требования к ОО:

пояснительная записка;

приложения:

техническое задание;

руководство пользователя;

экранные формы;

тексты программ;

результаты работы.

 

Приложение Б

 

РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ

Данный программный продукт  предназначен для помощи в обучении систем алгебраических уравнений методом  Гауcса. Программа может быть использована в общеобразовательных школах учениками старших классов, а также студентами математических специальностей высших учебных заведений.

Для того, чтобы войти в пункт "Теория" в окне меню нужно нажать цифру "1". Этот пункт служит для того, чтоб пользователь смог ознакомиться с теоретической стороной решения СЛАУ. Теория состоит из шести страниц, каждую из которых можно вывести на экран путем нажатием соответствующей страницы от 1 до 6. Для вывода на экран справки из пункта "Теория" нажмите цифру "0". Для возврата в главное меню нажмите "ESC".

Для того чтобы войти в пункт "Пример" в окне меню нужно нажать цифру "2". Этот пункт состоит  из трех страниц, каждую из которых  можно вывести на экран путем  нажатия соответствующей цифры  от 1 до 3. Для вызова справки нажмите  цифру "7". Для выхода в главное  меню нажмите "Esc".

Для того, чтобы войти в пункт "Решение" в окне меню нужно нажать цифру "3". Далее следуйте подсказкам внизу экрана. Для вызова справки нажмите цифру "0". Для выхода в главное меню нажмите "Esc".

Для того, чтобы войти в пункт "Справка" в окне меню нужно нажать цифру "4". Для выхода в главное меню нажмите "Esc".

Для того, чтобы выйти из программы в окне меню нужно нажать цифру "5".

 

Приложение В

 

ЭКРАННЫЕ ФОРМЫ

На рисунок В.1 отображено главное  меню текстового интерфейса.

На рисунке В.2 отображено окно теории.

На рисунке В.3 отображено окно справочной информации.

На рисунке В.4 отображено окно примера  решения СЛАУ.

 

Рисунок В.1 Главное меню

 

Рисунок В.2 Теория

 

Рисунок В.3 Справка

 

Рисунок В.4 Пример

 

Приложение  Г

 

РЕЗУЛЬТАТЫ РАБОТЫ ПРОГРАММЫ

На рисунке Г.5 отображено окно решения  матрицы на первом шаге. На рисунке  Г.6 отображено окно решения матрицы  на втором шаге и преобразованная  матрица, а также вектор ответов.

 

Рисунок Г.5 Решение на первом шаге

 

Рисунок Г.6 Ответы

 

Приложение Д

 

ЛИСТИНГ ПРОГРАММЫ

uses Crt, graph;

Var ch: char;

const Nmax=100;

Procedure LoadFile (Name: string);

Var f: text; S: string; code: integer;

Begin

assign (f,Name);

{$I-}

reset (f);

code: =Ioresult;

if code<>0 then

writeln ('Ошибка. Файл не найден! ')

else begin {clrscr}

gotoxy (1,3);

textcolor (10);

TextBackground (0);

while not eof (f) do

begin

readln (f,S);

writeln (S);

end;

close (f);

end;

End;

Procedure menu;

Begin

TextBackground (0);

clrscr;

LoadFile ('A: MENU. txt');

textcolor (9);

TextBackground (0);

gotoxy (1,23);

writeln ('-----------------------------------------------------------------');

gotoxy (1,24);

writeln ('Нажмите номер пункта меню');

end;

procedure menuTeorii;

begin

clrscr;

textcolor (9);

TextBackground (0);

gotoxy (1,23);

writeln ('------------------------------------------------------------------------');

gotoxy (1,24);

writeln ('Для перехода укажите номер страницы (от 1 до 6). ');

writeln ('Для возврата в меню нажмите Esc. Для вывода справки нажмите цифру 0. ');

end;

procedure menuSpravki;

begin

clrscr;

textcolor (9);

TextBackground (0);

gotoxy (1,23);

writeln ('------------------------------------------------------------------------');

gotoxy (1,24);

writeln ('Для возврата назад нажмите "1". ');

writeln ('Для возврата в меню нажмите (Esc). ');

end;

procedure menuPrimera;

begin

clrscr;

textcolor (9);

TextBackground (0);

gotoxy (1,23);

writeln ('------------------------------------------------------------------------');

gotoxy (1,24);

writeln ('Для перехода укажите номер страницы (от 1 до 4). ');

writeln ('Для вывода справки нажмите "0". Для входа в меню нажмите (Esc). ');

Информация о работе Слау методом гауса для численных методов