ВУЗ:
Составители:
Рубрика:
54
if not(result.comp[i] is result.comptype)
then raise Exception.Create('Invalid Operation');
// результат работы метода Minus должен иметь требуемый тип
end;
end
else raise Exception.Create('Invalid Operation');
end;
procedure DynamicVector.Add(v: DynamicVector);
var i: Integer;
begin
if Length(self.comp)=Length(v.comp) then
for i:=0 to Length(self.comp)-1 do self.comp[i].Add(v.comp[i])
else raise Exception.Create('Invalid Operation');
end;
procedure DynamicVector.Subtract(v: DynamicVector);
var i: Integer;
begin
if Length(self.comp)=Length(v.comp) then
for i:=0 to Length(self.comp)-1 do self.comp[i].Subtract(v.comp[i])
else raise Exception.Create('Invalid Operation');
end;
function DynamicVector.ScalarProduct(v: DynamicVector): Number;
var i: Integer; temp: Number;
begin
if Length(self.comp)=Length(v.comp)
then begin
result:=self.comptype.Create;
for i:=0 to Length(self.comp)-1 do begin
temp:=self.comp[i].Dot(v.comp[i]); // приведение типа удалено
result.Add(temp);
temp.Destroy;
end;
end
else raise Exception.Create('Invalid Operation');
end;
function DynamicVector.IsEqual(v: DynamicVector): Boolean;
var i: Integer;
begin
if Length(self.comp)=Length(v.comp) then begin
result:=true;
for i:=0 to Length(self.comp)-1 do
if not(self.comp[i].IsEqual(v.comp[i])) then result:=false;
end
else result:=false;
end;
if not(result.comp[i] is result.comptype)
then raise Exception.Create('Invalid Operation');
// результат работы метода Minus должен иметь требуемый тип
end;
end
else raise Exception.Create('Invalid Operation');
end;
procedure DynamicVector.Add(v: DynamicVector);
var i: Integer;
begin
if Length(self.comp)=Length(v.comp) then
for i:=0 to Length(self.comp)-1 do self.comp[i].Add(v.comp[i])
else raise Exception.Create('Invalid Operation');
end;
procedure DynamicVector.Subtract(v: DynamicVector);
var i: Integer;
begin
if Length(self.comp)=Length(v.comp) then
for i:=0 to Length(self.comp)-1 do self.comp[i].Subtract(v.comp[i])
else raise Exception.Create('Invalid Operation');
end;
function DynamicVector.ScalarProduct(v: DynamicVector): Number;
var i: Integer; temp: Number;
begin
if Length(self.comp)=Length(v.comp)
then begin
result:=self.comptype.Create;
for i:=0 to Length(self.comp)-1 do begin
temp:=self.comp[i].Dot(v.comp[i]); // приведение типа удалено
result.Add(temp);
temp.Destroy;
end;
end
else raise Exception.Create('Invalid Operation');
end;
function DynamicVector.IsEqual(v: DynamicVector): Boolean;
var i: Integer;
begin
if Length(self.comp)=Length(v.comp) then begin
result:=true;
for i:=0 to Length(self.comp)-1 do
if not(self.comp[i].IsEqual(v.comp[i])) then result:=false;
end
else result:=false;
end;
54
Страницы
- « первая
- ‹ предыдущая
- …
- 52
- 53
- 54
- 55
- 56
- …
- следующая ›
- последняя »
