Разработка классов на языке Object Pascal. Соколов Е.В. - 36 стр.

UptoLike

Составители: 

36
function RVector.Plus(v: RVector): RVector;
var i: Integer;
begin
result:=RVector.CreateEmpty;
for i:=1 to Dim do
result.comp[i]:=self.comp[i].Plus(v.comp[i]) as Rational;
end;
function RVector.Minus(v: RVector): RVector;
var i: Integer;
begin
result:=RVector.CreateEmpty;
for i:=1 to Dim do
result.comp[i]:=self.comp[i].Minus(v.comp[i]) as Rational;
end;
procedure RVector.Add(v: RVector);
var i: Integer;
begin for i:=1 to Dim do self.comp[i].Add(v.comp[i]); end;
procedure RVector.Subtract(v: RVector);
var i: Integer;
begin for i:=1 to Dim do self.comp[i].Subtract(v.comp[i]); end;
function RVector.ScalarProduct(v: RVector): Rational;
var i: Integer;
begin
result:=Rational.Create;
for i:=1 to Dim do result.Add(self.comp[i].Dot(v.comp[i]));
end;
function RVector.GetLength: Real;
var i: Integer;
begin
result:=0;
for i:=1 to Dim do
result:=result+sqr(self.comp[i].GetNum/self.comp[i].GetDen);
result:=sqrt(result);
end;
function RVector.IsEqual(v: RVector): Boolean;
var i: Integer;
begin
result:=true;
for i:=1 to Dim do
if not(self.comp[i].IsEqual(v.comp[i])) then result:=false;
end;
procedure RVector.Assign(v: RVector);
var i: Integer;
begin for i:=1 to Dim do self.comp[i].Assign(v.comp[i]); end;
function RVector.GetComp(i: Integer): Rational;
function RVector.Plus(v: RVector): RVector;
var i: Integer;
begin
  result:=RVector.CreateEmpty;
  for i:=1 to Dim do
     result.comp[i]:=self.comp[i].Plus(v.comp[i]) as Rational;
end;
function RVector.Minus(v: RVector): RVector;
var i: Integer;
begin
  result:=RVector.CreateEmpty;
  for i:=1 to Dim do
     result.comp[i]:=self.comp[i].Minus(v.comp[i]) as Rational;
end;
procedure RVector.Add(v: RVector);
var i: Integer;
begin for i:=1 to Dim do self.comp[i].Add(v.comp[i]); end;
procedure RVector.Subtract(v: RVector);
var i: Integer;
begin for i:=1 to Dim do self.comp[i].Subtract(v.comp[i]); end;
function RVector.ScalarProduct(v: RVector): Rational;
var i: Integer;
begin
  result:=Rational.Create;
  for i:=1 to Dim do result.Add(self.comp[i].Dot(v.comp[i]));
end;
function RVector.GetLength: Real;
var i: Integer;
begin
  result:=0;
  for i:=1 to Dim do
     result:=result+sqr(self.comp[i].GetNum/self.comp[i].GetDen);
  result:=sqrt(result);
end;
function RVector.IsEqual(v: RVector): Boolean;
var i: Integer;
begin
  result:=true;
  for i:=1 to Dim do
     if not(self.comp[i].IsEqual(v.comp[i])) then result:=false;
end;
procedure RVector.Assign(v: RVector);
var i: Integer;
begin for i:=1 to Dim do self.comp[i].Assign(v.comp[i]); end;
function RVector.GetComp(i: Integer): Rational;



                                  36