ВУЗ:
Составители:
Рубрика:
65
Пример 4.2.1. Модификация программы из задачи 3.1.
program TestDynamicVector;
{$APPTYPE CONSOLE}
uses UnitDynamicVector in 'UnitDynamicVector.pas',
UnitNumber in 'UnitNumber.pas',
UnitWhole in 'UnitWhole.pas',
UnitRational in 'UnitRational.pas',
UnitRGBColor in 'UnitRGBColor.pas';
procedure Test(v1, v2: DynamicVector);
var v3, v4: DynamicVector; p: Number;
begin
WriteLn('v1: '+v1.AsString); WriteLn('v2: '+v2.AsString);
v1.SetDim(5); WriteLn('v1 after v1.SetDim(5): '+v1.AsString);
v2.SetDim(5); WriteLn('v2 after v2.SetDim(5): '+v2.AsString);
v3:=v1.Plus(v2); WriteLn('v3 after v3:=v1.Plus(v2): '+v3.AsString);
v1.Add(v2); WriteLn('v1 after v1.Add(v2): '+v1.AsString);
if v1.IsEqual(v3)
then WriteLn('v1 is equal to v3')
else WriteLn('v1 is not equal to v3');
v4:=DynamicVector.CreateOfType(v2.GetCompType); v4.SetDim(5);
v4.Assign(v2); WriteLn('v4 after v4.Assign(v2): '+v4.AsString);
v4.Subtract(v1);
WriteLn('v2 after v4.Subtract(v1): '+v2.AsString);
WriteLn('v4 after v4.Subtract(v1): '+v4.AsString);
p:=v2.ScalarProduct(v4);
WriteLn('v2.ScalarProduct(v4): '+p.AsString);
p.Destroy; v3.Destroy; v4.Destroy;
end;
var v1, v2: DynamicVector;
w: Whole; r: Rational; c: RGBColor; i: Integer;
begin
v1:=DynamicVector.CreateOfType(Whole); v1.SetDim(9);
v2:=DynamicVector.CreateOfType(Whole); v2.SetDim(7);
w:=Whole.Create;
for i:=1 to 9 do begin w.SetValue(i); v1.SetComp(i, w); end;
for i:=1 to 7 do begin w.SetValue(i+1); v2.SetComp(i, w); end;
Test(v1, v2);
w.Destroy; v1.Destroy; v2.Destroy; WriteLn;
v1:=DynamicVector.CreateOfType(Rational); v1.SetDim(9);
v2:=DynamicVector.CreateOfType(Rational); v2.SetDim(7);
r:=Rational.Create;
for i:=1 to 9 do begin
r.SetNum(i); r.SetDen(i+1); v1.SetComp(i, r);
end;
Пример4.2.1. М од ификац ия програм м ы из з ад ачи 3.1. program TestDynamicVector; {$APPTYPE CONSOLE} uses UnitDynamicVector in 'UnitDynamicVector.pas', UnitNumber in 'UnitNumber.pas', UnitWhole in 'UnitWhole.pas', UnitRational in 'UnitRational.pas', UnitRGBColor in 'UnitRGBColor.pas'; procedure Test(v1, v2: DynamicVector); var v3, v4: DynamicVector; p: Number; begin WriteLn('v1: '+v1.AsString); WriteLn('v2: '+v2.AsString); v1.SetDim(5); WriteLn('v1 after v1.SetDim(5): '+v1.AsString); v2.SetDim(5); WriteLn('v2 after v2.SetDim(5): '+v2.AsString); v3:=v1.Plus(v2); WriteLn('v3 after v3:=v1.Plus(v2): '+v3.AsString); v1.Add(v2); WriteLn('v1 after v1.Add(v2): '+v1.AsString); if v1.IsEqual(v3) then WriteLn('v1 is equal to v3') else WriteLn('v1 is not equal to v3'); v4:=DynamicVector.CreateOfType(v2.GetCompType); v4.SetDim(5); v4.Assign(v2); WriteLn('v4 after v4.Assign(v2): '+v4.AsString); v4.Subtract(v1); WriteLn('v2 after v4.Subtract(v1): '+v2.AsString); WriteLn('v4 after v4.Subtract(v1): '+v4.AsString); p:=v2.ScalarProduct(v4); WriteLn('v2.ScalarProduct(v4): '+p.AsString); p.Destroy; v3.Destroy; v4.Destroy; end; var v1, v2: DynamicVector; w: Whole; r: Rational; c: RGBColor; i: Integer; begin v1:=DynamicVector.CreateOfType(Whole); v1.SetDim(9); v2:=DynamicVector.CreateOfType(Whole); v2.SetDim(7); w:=Whole.Create; for i:=1 to 9 do begin w.SetValue(i); v1.SetComp(i, w); end; for i:=1 to 7 do begin w.SetValue(i+1); v2.SetComp(i, w); end; Test(v1, v2); w.Destroy; v1.Destroy; v2.Destroy; WriteLn; v1:=DynamicVector.CreateOfType(Rational); v1.SetDim(9); v2:=DynamicVector.CreateOfType(Rational); v2.SetDim(7); r:=Rational.Create; for i:=1 to 9 do begin r.SetNum(i); r.SetDen(i+1); v1.SetComp(i, r); end; 65
Страницы
- « первая
- ‹ предыдущая
- …
- 63
- 64
- 65
- 66
- 67
- …
- следующая ›
- последняя »