end.
Мұнда, SumV процедурасы екі векторды қосу, SubV – азайту, MulV –векторды санға көбейту амалдарын орындаса, ModV функциясы вектордың модулін, ал ScMulV – екі вектордың скаляр көбейтіндісін табады. Осы модульді пайдалану арқылы оңай шешілетін бір есептің программасын құрайық.
Есеп. Егер векторлары координаталарымен анықталған болса, және векторларының арасындағы бұрышты есептеңдер. Мұнда, – берілген сандар.
Unit Ugol;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Vector;
type
TForm1 = class(Tform)
Button1: TButtom;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Edit7: TEdit;
Edit8: TEdit;
Edit9: TEdit;
Edit10: TEdit;
Label1: TLabel;
private
( Private declarations )
public
( Public declarations )
end;
var Form1: TForm1;
a, b, c, d, m, n: vect;
ax, ay, az, bx, by, bz, m1, m2, n1, n2: real;
implementation
{$R *.DFM}
procedure Tform1.Button1Click(Sender: TObject);
var
ur, ug: real;
begin
ax:= StrToFloat(Edit1.Text);
ay:= StrToFloat(Edit2.Text);
az:= StrToFloat(Edit3.Text);
bx:= StrToFloat(Edit4.Text);
by:= StrToFloat(Edit5.Text);
bz:= StrToFloat(Edit6.Text);
m1:= StrToFloat(Edit7.Text);
m2:= StrToFloat(Edit8.Text);
n1:= StrToFloat(Edit9.Text);
n2:= trToFloat(Edit10.Text);
MulV(m1,a,c); MulV(m2,b,d); SumV(c,d,m);
MulV(n1,a,c); MulV(n2,b,d); SubV(c,d,n);
ur:=argtan(sqrt(sqr(ModY(m)*ModY(n))/sqr(ScMulV(m,n)) - 1);
ug:=ur*180/Pi;
Label1.Caption:=’Угол равен: ‘+FloatToStr(Round(ug*100)/100));
end;
end.
Достарыңызбен бөлісу: |