Мегаобучалка Главная | О нас | Обратная связь


Руководство программиста



2016-01-05 256 Обсуждений (0)
Руководство программиста 0.00 из 5.00 0 оценок




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

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

Если не заполнить хоть одно значение, вылезет предупреждение.

После запуска программы будет происходить:

1) Выбор пункта меню.

2) Переход к основной части программы.

3) Ввод данных запроса

4) Обработка запроса

5) Выдача результатов решения на экран

6) Выход

 

Руководство оператора

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

При запуске программы выводится форма, в которой осуществляется выбор метода численного решение алгебраических уравнений, имеющая следующий вид:

 

При выборе метода выводится форма имеющая следующий вид:

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

 

 

Если не вести хоть одно поля для ввода данных и нажать на решение появиться предупреждение, имеющий следующий вид:

При нажатии на кнопку “ОК” программа автоматически переходит обратно.

Когда ведены все значение нужна нажать кнопку решить.

Расчеты сводиться в таблицу и выводиться ответ:

Так же есть кнопка очистить поля для набора значений.

 

Интерпретация и анализ результатов решения

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


 

Заключение

 

Список используемой литературы

 

Лекции по предметам «Базы Данных» и «ТРПП», «Численные методы»


Приложения

Приложение 1

Листинг программы

unit Unit1;

 

interface

 

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, jpeg, ExtCtrls,mmsystem;

 

type

TForm1 = class(TForm)

Image1: TImage;

Image2: TImage;

Image3: TImage;

Image4: TImage;

Image5: TImage;

procedure Image1Click(Sender: TObject);

procedure Image5Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

Form1: TForm1;

 

implementation

 

uses Unit2;

 

{$R *.dfm}

 

procedure TForm1.Image1Click(Sender: TObject);

begin

PlaySound('D:\learning\prog\Image\1.wav',0,SND_ASYNC);

end;

 

procedure TForm1.Image5Click(Sender: TObject);

begin

horcas.show;

end;

 

end.

 

 

unit Unit2;

 

interface

 

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Grids, jpeg, ExtCtrls, ToolWin, ComCtrls;

 

type

Thorcas = class(TForm)

Panel1: TPanel;

Panel2: TPanel;

Panel3: TPanel;

Button1: TButton;

Button2: TButton;

StringGrid1: TStringGrid;

Edit4: TEdit;

Edit5: TEdit;

Edit6: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Edit7: TEdit;

Edit1: TEdit;

Label1: TLabel;

Label2: TLabel;

Edit8: TEdit;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

procedure FormCreate(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

horcas: Thorcas;

x4,x5,x6,x7:real;

 

implementation

 

uses Unit1;

 

{$R *.dfm}

function f(var x:real):real;

begin

f:= x4*x*x*x+x5*x*x+x6*x+x7;

end;

function f1(var x:real):real;

begin

f1:= 3*x*x-x5*x+x6; {первая производная}

end;

function f2(var x:real):real;{вторая производная}

begin

f2:=6*x-x6;

end;

 

procedure Thorcas.FormCreate(Sender: TObject);

begin

with Stringgrid1 do

begin

RowCount:=2;

ColCount:=6;

DefaultColWidth:=100;

Width:=630;

Cells[0,0]:='Номер шага';

Cells[1,0]:='Xi левое';

Cells[2,0]:='Xi правое';

Cells[3,0]:='Xiп - Xiл';

Cells[4,0]:='F(Xiл)';

Cells[5,0]:='F(Xiп)';

end;

end;

 

procedure Thorcas.Button1Click(Sender: TObject);

var a,b:real;

e:real;

x1,x2:real;

k:integer;

begin

if (Edit2.Text='') or (Edit3.Text='') or (Edit4.Text='') or (Edit5.Text='') or (Edit6.Text='') or (Edit7.Text='') or (Edit8.Text='') then

begin

Application.MessageBox('Для решение уравнения должно быть заполнено все значения','Предупреждение',mb_OK);

Exit;

end;

x4:=StrToFloat(Edit4.Text);

x5:=StrToFloat(Edit5.Text);

x6:=StrToFloat(Edit6.Text);

x7:=StrToFloat(Edit7.Text);

a:=StrToFloat(Edit2.Text);

b:=StrToFloat(Edit3.Text);

e:=StrToFloat(Edit8.Text);

k:=0;

StringGrid1.Cells[0,k+1]:=IntToStr(k);

StringGrid1.Cells[1,k+1]:=FloatToStrF(a,ffFixed,4,1);

StringGrid1.Cells[2,k+1]:=FloatToStrF(b,ffFixed,4,1);

StringGrid1.Cells[3,k+1]:=FloatToStrF(b-a,ffFixed,4,1);

StringGrid1.Cells[4,k+1]:=FloatToStrF(F(a),ffFixed,4,1);

StringGrid1.Cells[5,k+1]:=FloatToStrF(F(b),ffFixed,4,1);

repeat

k:=k+1;

if f1(a)*f2(a)>0 then

begin

x1:=a-(f(a)*(b-a))/(f(b)-f(a));

x2:=x1-(f(x1)*(b-x1)/(f(B)-f(x1)));

a:=x2;

end

else

begin

x1:=b-(f(b)*(b-a))/(f(b)-f(a));

x2:=x1-f(x1)*(x1-a)/(f(x1)-f(a));

b:=x2;

end;

StringGrid1.RowCount:=StringGrid1.RowCount+1;

StringGrid1.Cells[0,k]:=IntToStr(k-1);

StringGrid1.Cells[1,k]:=FloatToStrF(x1,ffFixed,7,4);

StringGrid1.Cells[2,k]:=FloatToStrF(x2,ffFixed,7,4);

StringGrid1.Cells[3,k]:=FloatToStrF(x2-x1,ffFixed,7,4);

StringGrid1.Cells[4,k]:=FloatToStrF(F(x1),ffFixed,7,4);

StringGrid1.Cells[5,k]:=FloatToStrF(F(x2),ffFixed,7,4);

until abs(x2-x1)<=e;

Edit1.Text:='Корень = '+FloatToStrF(x2,ffFixed,7,3);

end;

 

procedure Thorcas.Button2Click(Sender: TObject);

var

i:integer;

begin

Edit1.Text:='';

Edit2.Text:='';

Edit3.Text:='';

Edit4.Text:='';

Edit5.Text:='';

Edit6.Text:='';

Edit7.Text:='';

Edit8.Text:='';

for i:=1 to StringGrid1.RowCount do

StringGrid1.Rows[i].Clear;

end;

 

end.

 

Приложение 2



2016-01-05 256 Обсуждений (0)
Руководство программиста 0.00 из 5.00 0 оценок









Обсуждение в статье: Руководство программиста

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние...
Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация...
Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (256)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.005 сек.)