мне нужна вот такая программа "численное дифференцирования в известных точках"
у меня есть как бы сама программа на паскале, вот код:
Код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | PROGRAM DIF1 (INPUT,OUTPUT);
CONST N=5;
K=1;
L=5;
VAR Y: ARRAY [1..N] OF REAL;
R: ARRAY [1..5] OF REAL;
H,Z,S:REAL;
J,I2,I1,I:INTEGER;
BEGIN
FOR I:=1 TO N DO READ (X[i]);
READLN;
READLN(H);
READLN(Z);
CASE K OF
1: BEGIN R[1]:=1; R[2]:=-0.5; R[3]:=1/3; R[4]:=-0.25; R[5]:=0.2;
2: BEGIN R[0]:=1; R[2]:=1; R[3]:=-1; R[4]:=11/12; R[5]:=-5/6;
END;
S:=0;
FOR J:=1 TO L DO
BEGIN
I2:=N-J;
IF I2 < > 1 THEN
BEGIN
FOR I1:=1 TO I2 DO Y[I1]:=Y[I1+1]-Y[I1];
S:=S+Y[i]*R[i]
END:
S:=S/H;
IF K=2 THEN S:=S/H;
WRITE (S);
END.
|
и есть алгоритм
вот что у меня вышло написать на Delphi
по этому всему:
Код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids;
type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
StringGrid1: TStringGrid;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
procedure Button1Click(Sender: TObject);
private
public
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
Function y(x:real):real;
begin
y:=x*(2*x);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
k,x:real;
y: array [1..5] of real;
r: array [1..5] of real;
h,z,s:real;
j,i1,i2,i,n,l:integer;
begin
k:=strtoint(edit1.Text);
l:=strtoint(edit2.Text);
h:=strtoint(edit3.Text);
if k=1 then
r[1]:=1;r[2]:=-0.5;r[3]:=1/3;r[4]:=-0.25;r[5]:=0.2;
if k=2 then
r[1]:=0;r[2]:=1;r[3]:=-1;r[4]:=11/12;r[5]:=-5/6;
s:=0;
for j:=1 to l do
begin
i2:=n-j;
if i2 <> 1 then
begin
for i:=1 to i2 do
y[i1]:=y[i1+1]-y[i1];
s:=s+y[i]*r[i];
s:=s/h;
if k=2 then s:=s/h;
end;
end;
end;
end.
|
помогите мне сделать эту программу, срочно она мне нужна, если кто то сделает мне ее полностью то будет вознаграждение по средствам WebMoney!
Надеюсь на понимание!