Type Vector = Array [0..640] of Real;
Var XE, YE: Vector;
al, bl, h: Real;
Ne, i: Integer;
Function f (x: Real): Real;
Begin f:= x * Sin (x) End;
BEGIN { }
Writeln ('Bi - : Ne '); Readln (Ne);
Writeln ('i i al bl ( )');
Readln (al, bl);
h:= (bl - al) / (Ne-1); { h -> i f }
XE[0]:= al;
For i:= 0 to Ne - 1 do
Begin
YE [i]:= f (Xe [i]);
XE [i + 1]:= Xe[i] + h
End;
Thart .
. Chart
Chart TeeChartSTD. . Fast Line. Chart 3D 3 Dimension , . Legend Visible. Titles :
Series Format Border. ' , . ϳ , , OK . Close. , , .
:
, , . , , TForm1.FormCreate.
Unit1.pas
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, TeeProcs, TeEngine, Chart, Series;
type
TForm1 = class(TForm)
Chart1: TChart;
Button1: TButton;
Series1: TLineSeries;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
n,i: integer;
al,bl,h: real;
xe,ye: array[1..100] of real;
implementation
{$R *.dfm}
function f(x: real): real;
begin
f:= x*x-4;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Chart1.Series[0].Clear;
n:= 100;
al:= -20;
bl:= 30;
h:= (bl-al)/n;
xe[1]:= al;
for i:=1 to n do
begin
ye[i]:= f(xe[i]);
xe[i+1]:= xe[i] + h;
end;
for i:=1 to n do
begin
Chart1.Series[0].AddXY(xe[i],ye[i],' ',clRed);
end;
end;
end.
Delphi.
-:
Program
{$APPTYPE CONSOLE}
Uses
Label .
|
|
Const
Type
Var
Procedure .
Function
Begin
< >
End.
:
function l(xk,yk,xr,yr:real):real; //
begin
l:=sqrt(sqr(xr-xk)+sqr(yr-yk))
end;
function p(ak,ar,at:real):real; //
begin
p:=(ak+ar+at)*0.5
end;
function s(pk,ar,at,aq:real):real;//
begin
s:=sqrt(pk*(pk-ar)*(pk-at)*(pk-aq))
end;
Var x1,y1,x2,y2,x3,y3,x4,a1,a2,a3,a4,a5,a6,y4,p1,p2,p3,p4,s1,s2,s3,s4,E,ss:real;
begin
writeln('x1,y1,x2,y2,x3,y3,x4,y4,E');
readln(x1,y1,x2,y2,x3,y3,x4,y4,E);
a1:=l(x1,y1,x2,y2);
a2:=l(x1,y1,x3,y3);
a3:=l(x2,y2,x3,y3);
a4:=l(x1,y1,x4,y4);
a5:=l(x2,y2,x4,y4);
a6:=l(x3,y3,x4,y4);
p1:=p(a1,a2,a3);
s1:=s(p1,a1,a2,a3);
p2:=p(a1,a4,a5);
s2:=s(p2,a1,a4,a5);
p3:=p(a2,a4,a6);
s3:=s(p3,a2,a4,a6);
p4:=p(a3,a5,a6);
s4:=s(p4,a3,a5,a6);
ss:=s2+s3+s4;
if abs(s1-ss)<=Eps then
writeln('to4ka nalegiTb Trukytnuky');
if abs(s1-ss)>E then
writeln('to4ka ne nalegiTb Trukytnuky');
readln;
end.