Объект Свойство Значение Label1 Caption Моя первая программа



бет9/23
Дата25.09.2023
өлшемі1.52 Mb.
#478523
түріПрограмма
1   ...   5   6   7   8   9   10   11   12   ...   23
Лабораторные

type Tfunc = function (x: real): real;

  1. В части реализации напишите следующую функцию реализации метода Чебышева вычисления интеграла

function integral(f: Tfunc; a,b: real; n: integer): real;
var
xi: array [1..9] of real;
x: real;
i: integer;
begin
case n of
3:begin xi[1]:=0.707107; xi[2]:=0; xi[3]:=-0.707107; end;
4:begin xi[1]:=0.794654; xi[2]:=0.187592; xi[3]:=-0.187592; xi[4]:=-0.794654; end;
5:begin xi[1]:=0.832498; xi[2]:=0.374541; xi[3]:=0; xi[4]:=-0.374541; xi[5]:=-0.832498; end;
6:begin xi[1]:=0.866247; xi[2]:=0.422519; xi[3]:=0.266635; xi[4]:=-0.26635; xi[5]:=-0.422519; xi[6]:=-0.866247; end;
7:begin xi[1]:=0.883862; xi[2]:=0.529657; xi[3]:=0.323912; xi[4]:=0; xi[5]:=-0.323912; xi[6]:=-0.529657; xi[7]:=-0.883862; end;
9:begin xi[1]:=0.911589; xi[2]:=0.601019; xi[3]:=0.528762; xi[4]:=0.167906; xi[5]:=0; xi[6]:=-0.167906; xi[7]:=-0.528762; xi[8]:=-0.601019; xi[9]:=-0.911589; end;
end;
Result:=0
for i:=1 to n do
begin
x:=(b+a)/2+((b-a)/2)*xi[i];
Result:=Result+f(x);
end;
Result:=((b-a)/n)*Result;
end;

  1. Напишите функцию от которой будет вычисляться интеграл

function int(x: real): real;
begin
Result:=sin(x);
end;

  1. Теперь напишите реализацию события нажатия на кнопку

procedure TForm1.Button1Click(Sender: TObject);
var
a,b: real;
n: integer;
begin
a:=StrToFloat(Edit1.Text);
b:=StrToFloat(Edit2.Text);
n:=StrToInt(Edit3.Text);
Memo1.Clear;
Memo1.Lines.Add('s='+FloatToStrF(integral(int,a,b,n),ffgeneral,7,2));
end;

  1. Проверьте программу в работе


Достарыңызбен бөлісу:
1   ...   5   6   7   8   9   10   11   12   ...   23




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет