Автор работы: Пользователь скрыл имя, 05 Декабря 2011 в 16:37, курсовая работа
В курсовом проекте рассмотрена автоматизация решений алгебраических уравнений. Автоматизация решений алгебраических уравнений методом половинного деления основана на нахождении абсолютной погрешности приближения и выявлении условий окончания итерационного процесса на каком-либо шаге при вычислении корня с точностью.
Введение
1.Общая часть
1.1 Постановка задачи
1.2 Описание математической модели
1.3 Обоснование и описание метода реализации
2.Специальная часть
2.1 Описание алгоритма
2.2 Описание программы
2.3 Руководство системного программиста
2.4 Руководство программиста
2.5 Руководство оператора
2.6 Интерпретация и анализ результатов
Заключение
Список используемой литературы
Приложение
1.Листинг программы
2.Результат решения программы 3.Контрольный пример
Panel3.Visible:=true;
end;
Exit:
krr1:=kr1;
krr2:=kr2;
end;
procedure TForm1.Panel1Click(Sender: TObject);
begin
Button2.Enabled:=true;
Button3.Enabled:=true;
Button4.Enabled:=true;
Button5.Enabled:=true;
Button7.Enabled:=true;
panel1.Color:=clYellow;
panel2.Color:=clWindow;
panel3.Color:=clWindow;
a1:=StrToFloat(edit5.Text);
b1:=StrToFloat(edit6.Text);
p1:=1;
p2:=0;
p3:=0;
end;
procedure TForm1.Panel2Click(Sender: TObject);
begin
Button2.Enabled:=true;
Button3.Enabled:=true;
Button4.Enabled:=true;
Button5.Enabled:=true;
Button7.Enabled:=true;
panel2.Color:=clYellow;
panel1.Color:=clWindow;
panel3.Color:=clWindow;
a1:=StrToFloat(edit7.Text);
b1:=StrToFloat(edit8.Text);
p1:=0;
p2:=1;
p3:=0;
end;
procedure TForm1.Panel3Click(Sender: TObject);
begin
Button2.Enabled:=true;
Button3.Enabled:=true;
Button4.Enabled:=true;
Button5.Enabled:=true;
Button7.Enabled:=true;
panel3.Color:=clYellow;
panel2.Color:=clWindow;
panel1.Color:=clWindow;
a1:=StrToFloat(edit9.Text);
b1:=StrToFloat(edit10.Text);
p1:=0;
p2:=0;
p3:=1;
end;
procedure TForm1.Button6Click(Sender: TObject);
Label GR;
label Rg;
begin
if (kr1=0) and (kr2=0) or (kr1=kr2) then begin
Application.MessageBox(PChar('
goto Rg;
end;
Series1.Clear;
Series2.Clear;
Series3.Clear;
if kr1<kr2 then begin
kx:=kr1;
kx2:=kr2;
end;
if kr1>kr2 then begin
kx:=kr2;
kx2:=kr1;
end;
GR:
kx:=kx+0.001;
ky:=a*(kx*kx*kx)+b*(kx*kx)+c*
kfx:=3*a*(kx*kx)+2*b*kx+c;
kfx2:=(6*a*kx)+2*b;
Series1.AddXY(kx,ky,'',clRed);
Series2.AddXY(kx,kfx,'',
Series3.AddXY(kx,kfx2,'',
if kx<=kx2 then goto GR;
Rg:
end;
procedure TForm1.Edit5Click(Sender: TObject);
begin
edit5.Color:=clLime;
kr1:=StrToFloat(edit5.text);
if edit6.Color<>clred then edit6.Color:=clWhite;
if edit7.Color<>clred then edit7.Color:=clWhite;
if edit10.Color<>clred then edit10.Color:=clWhite;
if edit8.Color<>clred then edit8.Color:=clWhite;
if edit9.Color<>clred then edit9.Color:=clWhite;
end;
procedure TForm1.Edit6Click(Sender: TObject);
begin
edit6.Color:=clLime;
kr1:=StrToFloat(edit6.text);
if edit5.Color<>clred then edit5.Color:=clWhite;
if edit7.Color<>clred then edit7.Color:=clWhite;
if edit10.Color<>clred then edit10.Color:=clWhite;
if edit9.Color<>clred then edit9.Color:=clWhite;
if edit8.Color<>clred then edit8.Color:=clWhite;
end;
procedure TForm1.Edit7Click(Sender: TObject);
begin
edit7.Color:=clLime;
kr1:=StrToFloat(edit7.Text);
if edit5.Color<>clred then edit5.Color:=clWhite;
if edit6.Color<>clred then edit6.Color:=clWhite;
if edit10.Color<>clred then edit10.Color:=clWhite;
if edit9.Color<>clred then edit9.Color:=clWhite;
if edit8.Color<>clred then edit8.Color:=clWhite;
end;
procedure TForm1.Edit8Click(Sender: TObject);
begin
edit8.Color:=clLime;
kr1:=StrToFloat(edit8.text);
if edit5.Color<>clred then edit5.Color:=clWhite;
if edit7.Color<>clred then edit7.Color:=clWhite;
if edit10.Color<>clred then edit10.Color:=clWhite;
if edit9.Color<>clred then edit9.Color:=clWhite;
if edit6.Color<>clred then edit6.Color:=clWhite;
end;
procedure TForm1.Edit9Click(Sender: TObject);
begin
edit9.Color:=clLime;
kr1:=StrToFloat(edit9.Text);
if edit5.Color<>clred then edit5.Color:=clWhite;
if edit7.Color<>clred then edit7.Color:=clWhite;
if edit10.Color<>clred then edit10.Color:=clWhite;
if edit6.Color<>clred then edit6.Color:=clWhite;
if edit8.Color<>clred then edit8.Color:=clWhite;
end;
procedure TForm1.Edit10Click(Sender: TObject);
begin
edit10.Color:=clLime;
kr1:=StrToFloat(edit10.text);
if edit5.Color<>clred then edit5.Color:=clWhite;
if edit7.Color<>clred then edit7.Color:=clWhite;
if edit6.Color<>clred then edit6.Color:=clWhite;
if edit9.Color<>clred then edit9.Color:=clWhite;
if edit8.Color<>clred then edit8.Color:=clWhite;
end;
procedure TForm1.Edit5DblClick(Sender: TObject);
begin
kr2:=strtofloat(edit5.Text);
edit5.Color:=Clred;
if edit6.Color<>clLime then edit6.Color:=clWhite;
if edit7.Color<>clLime then edit7.Color:=clWhite;
if edit8.Color<>clLime then edit8.Color:=clWhite;
if edit9.Color<>clLime then edit9.Color:=clWhite;
if edit10.Color<>clLime then edit10.Color:=clWhite;
end;
procedure TForm1.Edit6DblClick(Sender: TObject);
begin
kr2:=strtofloat(edit6.Text);
edit6.Color:=Clred;
if edit5.Color<>clLime then edit5.Color:=clWhite;
if edit7.Color<>clLime then edit7.Color:=clWhite;
if edit8.Color<>clLime then edit8.Color:=clWhite;
if edit9.Color<>clLime then edit9.Color:=clWhite;
if edit10.Color<>clLime then edit10.Color:=clWhite;
end;
procedure TForm1.Edit7DblClick(Sender: TObject);
begin
kr2:=strtofloat(edit7.Text);
edit7.Color:=Clred;
if edit6.Color<>clLime then edit6.Color:=clWhite;
if edit5.Color<>clLime then edit5.Color:=clWhite;
if edit8.Color<>clLime then edit8.Color:=clWhite;
if edit9.Color<>clLime then edit9.Color:=clWhite;
if edit10.Color<>clLime then edit10.Color:=clWhite;
end;
procedure TForm1.Edit8DblClick(Sender: TObject);
begin
kr2:=strtofloat(edit8.Text);
edit8.Color:=Clred;
if edit6.Color<>clLime then edit6.Color:=clWhite;
if edit7.Color<>clLime then edit7.Color:=clWhite;
if edit5.Color<>clLime then edit5.Color:=clWhite;
if edit9.Color<>clLime then edit9.Color:=clWhite;
if edit10.Color<>clLime then edit10.Color:=clWhite;
end;
procedure TForm1.Edit9DblClick(Sender: TObject);
begin
kr2:=strtofloat(edit9.Text);
edit9.Color:=Clred;
if edit6.Color<>clLime then edit6.Color:=clWhite;
if edit7.Color<>clLime then edit7.Color:=clWhite;
if edit8.Color<>clLime then edit8.Color:=clWhite;
if edit5.Color<>clLime then edit5.Color:=clWhite;
if edit10.Color<>clLime then edit10.Color:=clWhite;
end;
procedure TForm1.Edit10DblClick(Sender: TObject);
begin
kr2:=strtofloat(edit10.Text);
edit10.Color:=Clred;
if edit6.Color<>clLime then edit6.Color:=clWhite;
if edit7.Color<>clLime then edit7.Color:=clWhite;
if edit8.Color<>clLime then edit8.Color:=clWhite;
if edit9.Color<>clLime then edit9.Color:=clWhite;
if edit5.Color<>clLime then edit5.Color:=clWhite;
end;
procedure TForm1.Button7Click(Sender: TObject);
label breed;
label pr;
label EX;
begin
if (p1=0) and (p2=0) and (p3=0) then begin
e:=StrToFloat(Edit11.Text);
bolt:=0;
a11:=a1;
b11:=b1;
breed:
if b11>a11 then begin
fp11:=3*a*(b11*b11)+2*b*b11+c;
fp12:=(6*a*b11)+2*b;
b11:=b11-e;
fp21:=3*a*(b11*b11)+2*b*b11+c;
fp22:=(6*a*b11)+2*b;
if (fp11*fp21)<0 then begin
bolt:=1;
b11:=b11+e;
goto pr;
end;
if (fp12*fp22)<0 then begin
bolt:=1;
b11:=b11+e;
goto pr;
end;
goto breed;
end;
pr:
if bolt=1 then begin
Application.MessageBox(PChar('
if p1=1 then begin
edit5.Text:=FloatToStr(b11);
end;
if p2=1 then begin
edit7.Text:=FloatToStr(b11);
end;
if p3=1 then begin
edit9.Text:=FloatToStr(b11);
end;
end;
a1:=b11;
if bolt=0 then
Application.MessageBox(PChar('
EX:
edit9.Color:=clWindow;
edit10.Color:=clwindow;
edit7.Color:=clWindow;
edit8.Color:=clwindow;
edit5.Color:=clWindow;
edit6.Color:=clwindow;
kr1:=krr1;
kr2:=krr2;
end;
procedure TForm1.Button2Click(Sender: TObject);
Label Q;
begin
a11:=a1;
b11:=b1;
s:=1;
e:=StrToFloat(Edit11.Text);
Q: if Abs(b11-a11)>e then begin
c1:=(a11+b11)/2;
s:=s+1;
fc:=a*(c1*c1*c1)+b*(c1*c1)+c*
fa:=a*(a11*a11*a11)+b*(a11*
Информация о работе Автоматизация решения алгебраических уравнений. Метод половинного деления