на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Разработка программного обеспечения для решения уравнений с одной переменной методом Ньютона (касательных)
сли (a*ln(b*n) *(-a/sqr(n))) > 0 то

mass [i]: =n;

code_of: =1;

иначе

вывод

number: =0; code_of: =0;

если (code_of = 1) то

выполнять

x1: =mass [i] -a*ln(b*mass [i]) /

(a/mass [i]);

root: =Abs (x1-mass [i]);

i: =i+1;

mass [i]: =x1;

пока (root < E);

если (x1 < m) или (x1 > n) то

вывод

number: =0; code_of: =0;

вывод

Рисунок 5.4 - Алгоритм решения уравнения вида y(x) =aЧln(bЧx) (продолжение)

5.7.2. Алгоритм нахождения корня уравнения y(x) =aЧx2+bЧx+c

Алгоритм решения уравнения вида y(x) =aЧx2+bЧx+c приводится на рисунке 5.5.

выполнять

ввод

если (a = 0) и (b = 0) и (c = 0) то

вывод

number: =0;

иначе

выполнять

i: =1;

если (a*sqr(m) +b*m+c) *(2*a) >= 0 то

mass [i]: =m;

code_of: =1;

иначе

Рисунок 5.5 - Алгоритм решения уравнения вида y(x) =aЧx2+bЧx+c

если (a*sqr(n) +b*n+c) *(2*a) >= 0 то

mass [i]: =n;

code_of: =1;

иначе

вывод

number: =0; code_of: =0;

если (code_of = 1) то

выполнять

x1: =mass [i] -((a*sqr(mass [i]) +

b*mass [i] +c) /(2*a*mass [i] +b));

root: =Abs (x1-mass [i]);

i: =i+1;

mass [i]: =x1;

пока (root < E);

если (x1 < m) или (x1 > n) то

вывод

number: =0; code_of: =0;

вывод

Рисунок 5.5 - Алгоритм решения уравнения вида y(x) =aЧx2+bЧx+c (продолжение)

Алгоритмы решения уравнений рис.5.4 и рис.5.5 соответствуют procedure equation_1 и procedure equation_2 в программе соответственно.

6. КОМПЛЕКТАЦИЯ И ЗАГРУЗКА ПРОГРАММЫ

6.1. Комплектация

Папка my_stuff, в которой содержится:

- RUOP. exe - основной файл программы;

- help. asc - файл с методологической информацией;

- m_n. txt - файл, содержащий значения промежутков m и n;

- a_b_c. txt - файл, содержащий значения параметров a, b, c;

- E. txt - файл, содержащий значение погрешности E;

- egavga. bgi - файл для работы с графикой;

- keyrus. com - файл для работы с русским языком;

- trip. chr - файл, содержащий русский шрифт.

6.2. Порядок инсталляции и запуск программы

Требуется скопировать папку my_stuff с содержащимися в ней файлами в папку “c: \temp\”. Для запуска программы необходимо запустить файл RUOP. exe, расположенный в папке my_stuff.

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

7. ТЕСТОВЫЕ ПРИМЕРЫ

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

Тестовые примеры для решения уравнения вида y(x) =a*ln(b*x) приводятся в таблице 6.1.

Таблица 7.1. Тестовые примеры для уравнения вида y(x) =a*ln(b*x)

m

n

a

b

E

Результат

1

10

1

0.5

0.01

2

-20

-0.01

9

-2

0.01

-0.2

9

14

100

1

0.01

Уравнение не имеет корней

Тестовые примеры для решения уравнения вида y(x) =a*x^2+b*x+c приводятся в таблице 6.2.

Таблица 7.2. Тестовые примеры для уравнения вида y(x) =a*x^2+b*x+c

m

n

a

b

c

E

Результат

-10

10

5

29

3

0.01

-0.1054

-10

10

0

4

10

0.01

-2.5

5

20

5

29

4

0.01

Уравнение не имеет

При введении в программу данных, не отвечающих требованиям типу, будет появляться сообщение "Ошибка ввода", пока не будут введены правильные данные, соответствующие требованиям программы.

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

При введении в программу данных, отвечающих требованиям, будут появляться сопроводительные сообщения (советы) по дальнейшим вариантам продолжения.

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

ВЫВОДЫ

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

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

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

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

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

ПЕРЕЧЕНЬ ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

1. Фаронов В.В. "Turbo Pascal 7.0. Начальный курс": учебное пособие. - М.: Кнорус, 2006. - 576 с.

2. Сухарёв М. Turbo Pascal 7.0. Теория и практика программирования. - СПб: "Наука и техника", 2003. - 576 с.

3. Методические указания по оформлению студенческих работ для студентов специальностей 080403 "Программное обеспечение автоматизированных систем", 080404 "Интеллектуальные системы принятия решений", 050103 "Экономическая кибернетика"; Утверждено на заседании учёного совета ДонГИИИ протокол № 7 от 23.02. 2004 г. - Донецк: ДонГИИИ, 2004, 46 с.

Приложение А

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

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

Полное название программного продукта: "Численные методы. Решение уравнений с одной переменной методом Ньютона (касательных)". Её условное обозначение РУОП. Работа выполняется студентом 1-го курса Донецкого государственного института искусственного интеллекта (ДонГИИИ), факультета СКИТ, группы СУА-05, Николаевым Алексеем Сергеевичем.

Основанием для разработки РУОП является задание, выданное кафедрой Программного обеспечения интеллектуальных систем (ПОИС).

Плановый срок начала работы: 17 февраля 2006 года.

Дата защиты работы: 22 мая 2006 года.

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

Данная программа создана как учебное пособие для студентов высших учебных заведений и для учащихся математических классов среднеобразовательных школ. Позволяет решать уравнения вида y(x) =aЧln(bЧx) и y(x) =ax2+bx+c методом Ньютона (касательных).

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

А.3.1. Общие требования

Программа должна выполнять следующие требования:

1) решать два вида уравнений: y(x) =aЧln(bЧx) и y(x) =ax2+bx+c методом Ньютона (касательных);

2) поддержку графического меню, состоящего из пяти пунктов:

- помощь и справочная информация;

- y(x) =aЧln(bЧx);

- y(x) =aЧx^2+bЧx+c;

- построение графика;

- выход;

3) по вводимым значениям промежутков уравнения и по вводимым значениям коэффициентов уравнения:

- вычислять корень уравнения в зависимости от вводимых данных;

- выстраивать график уравнения, отмечая, на оси абсцисс, промежуточные корни уравнения, выводить значение корня уравнения.

А.3.2. Функциональные требования

Для реализации программного продукта необходимо разработать:

1) поддержку файлов, предоставление возможности решать пользователю самому, вводить начальные данные из файла или с клавиатуры, необходимость сохранения данных и полученных результатов в файлы;

2) систему справочной информации по реализуемому в РУОП методу Ньютона.

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

Рекомендуемые характеристики аппаратных средств:

- КПУ: i486;

- ОЗУ: 4 мб;

- видеоадаптер VGA, EGA;

- монитор: VGA, EGA;

- клавиатура;

- свободное дисковое пространство - около 100 килобайт.

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

Для успешной загрузки программы требуется наличие операционной системы MS DOS 6.0.

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

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

Приложение Б

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

Главное меню появляется после титульного листа. Меню состоит из пяти пунктов. Скроллинг осуществляется клавишами "z" и "x". Вход в подменю осуществляется клавишей "Enter".

В пункте "Справка" содержится методологическая информация по методу Ньютона.

В пункте "y(x) =a*ln(b*x)" осуществляется решение уравнения y(x) =a*ln(b*x) по вводимым параметрам, промежуткам и погрешности. В пункте осуществляется загрузка данных из файлов и сохранение данных в файлы по желанию пользователя.

В пункте "y(x) =a*x^2+b*x+c" осуществляется решение уравнения y(x) =a*x^2+b*x+c по вводимым параметрам, промежуткам и погрешности. В пункте осуществляется загрузка данных из файлов и сохранение данных в файлы по желанию пользователя.

В пункте "Построение графика" осуществляется построение графика по вводимым в уравнение данным.

В пункте "Выход" осуществляет выход из программы.

Приложение В

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

Рисунок В.1 - Заставка, титульная страница

Рисунок В.2 - Меню

Рисунок В.3 - Общий вид окна "y(x) =a*ln(b*x)"

Рисунок В.4 - Общий вид окна "y(x) =a*x^2+b*x+c"

Рисунок В.5 - График функции y(x) =1*ln(0.5*x) на промежутке [1; 10]

Рисунок В.6 - График функции y(x) =5*sqr(x) +29*x+3 на промежутке [-10; 10]

Приложение Г

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

program Restorant;

uses CRT, Graph;

var a, b, c, m, n: real;

number, i: byte;

mass: array [1. . 20] of real;

{***************************************************************************}

procedure title;

begin

textcolor(2);

writeln (' Министерство образования Украины');

writeln (' Донецкий государственный институт искусственного интеллекта');

writeln;

writeln (' Кафедра ПОИС');

writeln;

writeln;

writeln (' Курсовая работа');

writeln (' По курсу "АЯ и П"');

writeln (' На тему: "Решение нелинейных уравнений методом Ньютона');

writeln (' (методом секущих)" ');

writeln;

writeln;

writeln (' Выполнил: ');

writeln (' Студент группы СУА-05');

writeln (' Николаев А.С. ');

writeln (' Проверил: ');

writeln (' cт. преп. кафедры ПОИС');

writeln (' Бычкова Е.В. ');

writeln (' асс. кафедры ПОИС');

writeln (' Волченко E. B. ');

writeln;

writeln (' 2005');

writeln;

writeln;

textcolor (red);

writeln ('Нажмите "Ввод" для продолжения"');

textcolor (lightgray); Readln;

end;

{***************************************************************************}

procedure pro; FORWARD;

{***************************************************************************}

procedure graphica;

var d, r, e: integer;

begin

d: =detect;

InitGraph (d, r, '');

e: =GraphResult;

if e <> grOK then WriteLn (GraphErrorMsg (e)) else pro;

end;

{***************************************************************************}

procedure setka (yn: integer; y2: real);

var x, y, cross, dcross: integer;

lx, ly, dlx, dly: real;

st: string;

begin

If abs (m) < abs (n) then

dlx: =Abs (n/6.25) else dlx: =Abs (m/6.25);

dly: =y2/((yn-110) /40);

dcross: =0;

lx: =6*dlx;

SetColor (LightGray);

For cross: = 1 to 7 do

begin

Str (lx: 0: 1, st);

If lx >=0 then

OutTextXY (535-dcross, yn+7, st) else

OutTextXY (525-dcross, yn+7, st);

lx: =lx-2*dlx;

dcross: =dcross+80;

end;

x: =80;

Repeat

SetLineStyle (DottedLn, 0, NormWidth);

Line (x, yn-3, x, 110); Line (x, yn+3, x, 360);

SetLineStyle (SolidLn, 0, NormWidth);

Line (x, yn-3, x, yn+3);

x: =x+40;

Until x = 600;

ly: =0;

y: =yn;

Repeat

If ly > 0 then

begin

Line (317, y, 323, y);

Str (ly: 0: 1, st);

OutTextXY (295, y+7, st);

end;

ly: =ly+dly;

SetLineStyle (DottedLn, 0, NormWidth);

Line (323, y, 570, y); Line (70, y, 317, y);

SetLineStyle (SolidLn, 0, NormWidth);

y: =y-40;

Until (y < 110);

Страницы: 1, 2, 3



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.