Автор работы: Пользователь скрыл имя, 30 Сентября 2009 в 14:05, Не определен
7 типовых заданий
procedure rasschot;
var
Form1: TForm1;
y0,a,b:real;
implementation
{$R *.dfm}
procedure rasschot; //процедура расчёта и вывода
var h,x,y,ynext,fxy,fpol,ytheor,
i,n:integer;
begin
Form1.Series1.Clear;
Form1.Series2.Clear;
Form1.Series3.Clear;
Form1.Series4.Clear;
Form1.Series5.Clear;
//...
n:=5;
h:=(b-a)/n;
y:=y0;
for
i:=0 to n do begin
x:=i*h;
fxy:=f(x,y);
ynext:=y+h*fxy;
ytheor:=thy(x);
Form1.Series2.AddXY(x,y);
Form1.StringGrid1.RowCount:=i+
Form1.StringGrid1.Cells[0,i+1]
Form1.StringGrid1.Cells[1,i+1]
Form1.StringGrid1.Cells[2,i+1]
Form1.StringGrid1.Cells[3,i+1]
Form1.StringGrid1.Cells[4,i+1]
Form1.StringGrid1.Cells[5,i+1]
y:=ynext;
end;
n:=10;
h:=(b-a)/n;
y:=y0;
for i:=0 to n do begin
x:=i*h;
fxy:=f(x,y);
ynext:=y+h*fxy;
ytheor:=thy(x);
Form1.Series3.AddXY(x,y);
Form1.StringGrid3.RowCount:=i+
Form1.StringGrid3.Cells[0,i+1]
Form1.StringGrid3.Cells[1,i+1]
Form1.StringGrid3.Cells[2,i+1]
Form1.StringGrid3.Cells[3,i+1]
Form1.StringGrid3.Cells[4,i+1]
Form1.StringGrid3.Cells[5,i+1]
y:=ynext;
end;
n:=5;
h:=(b-a)/n;
y:=y0;
for i:=0 to n do begin
x:=i*h;
fxy:=f(x,y);
ypol:=y+h/2*fxy;
xpol:=x+h/2;
fpol:=f(xpol,ypol);
ynext:=y+h*fpol;
ytheor:=thy(x);
Form1.Series4.AddXY(x,y);
Form1.StringGrid2.RowCount:=i+
Form1.StringGrid2.Cells[0,i+1]
Form1.StringGrid2.Cells[1,i+1]
Form1.StringGrid2.Cells[2,i+1]
Form1.StringGrid2.Cells[3,i+1]
Form1.StringGrid2.Cells[4,i+1]
Form1.StringGrid2.Cells[5,i+1]
Form1.StringGrid2.Cells[6,i+1]
y:=ynext;
end;
n:=10;
h:=(b-a)/n;
y:=y0;
for i:=0 to n do begin
x:=i*h;
fxy:=f(x,y);
ypol:=y+h/2*fxy;
xpol:=x+h/2;
fpol:=f(xpol,ypol);
ynext:=y+h*fpol;
ytheor:=thy(x);
Form1.Series1.AddXY(x,ytheor);
Form1.Series5.AddXY(x,y);
Form1.StringGrid4.RowCount:=i+
Form1.StringGrid4.Cells[0,i+1]
Form1.StringGrid4.Cells[1,i+1]
Form1.StringGrid4.Cells[2,i+1]
Form1.StringGrid4.Cells[3,i+1]
Form1.StringGrid4.Cells[4,i+1]
Form1.StringGrid4.Cells[5,i+1]
Form1.StringGrid4.Cells[6,i+1]
y:=ynext;
end;
function thY(tx:real):real; //рассчёт значений теоретической функции
begin
result:=tx*tx*exp(-tx*tx)/2;
end;
function f(fx,fy:real):real;
begin
result:=fx*exp(fx*fx)-2*fx*fy;
end;
procedure TForm1.FormCreate(Sender: TObject); //задание начальных значений и вывод статических надписей
begin
y0:=0;
a:=0;
b:=1;
StringGrid1.Cells[0,0]:=' i'; //вывод статических надписей
StringGrid1.Cells[1,0]:=' x(i)'; //...
StringGrid1.Cells[2,0]:=' y(i)'; //...
StringGrid1.Cells[3,0]:=' f(x,i)'; //...
StringGrid1.Cells[4,0]:=' y(i+1)'; //...
StringGrid1.Cells[5,0]:=' y(i)
теор.';
//...
StringGrid2.Cells[0,0]:=' x(i)'; //...
StringGrid2.Cells[1,0]:=' y(i)'; //...
StringGrid2.Cells[2,0]:='f(x,
StringGrid2.Cells[3,0]:=' y(i+1/2)';
StringGrid2.Cells[4,0]:='f(x(
StringGrid2.Cells[5,0]:=' y(i+1)';
StringGrid2.Cells[6,0]:=' y(i)
теор.';
StringGrid3.Cells[0,0]:=' i';
StringGrid3.Cells[1,0]:=' x(i)';
StringGrid3.Cells[2,0]:=' y(i)';
StringGrid3.Cells[3,0]:=' f(x,i)';
StringGrid3.Cells[4,0]:=' y(i+1)';
StringGrid3.Cells[5,0]:=' y(i)
теор.';
StringGrid4.Cells[0,0]:=' x(i)';
StringGrid4.Cells[1,0]:=' y(i)';
StringGrid4.Cells[2,0]:='f(x,
StringGrid4.Cells[3,0]:=' y(i+1/2)';
StringGrid4.Cells[4,0]:='f(x(
StringGrid4.Cells[5,0]:=' y(i+1)';
StringGrid4.Cells[6,0]:=' y(i) теор.';
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
rasschot;
end;
end.
Заключение.
Выполнив данную курсовую работу, я приобрел навыки в работе с Delphi 7. Так же научился работать с компонентами, которые были использованы для создания программ.
Delphi
7 является гибким и
мощным средством для
создания приложений
с удобным графическим
интерфейсом под современные
операционные системы
Windows.
Cписок
использованной литературы.
Delphi 7. Пособие для студентов/ А.В. Маткаримов.- Саяногорск, 2006 964с.