TPointSet
object.
Onze tests van het GUI zullen echter niet meer dan 104 (tien duizend)
punten gebruiken.
(Het oog heeft al genoeg aan zo'n duizend punten.)
Vectors.pas
en
PointSet.pas
gecompileerd samen met onze testomgeving
points_experiment0.pp
.
Deze testomgeving geeft aanleiding tot de boodschap:
points_experiment0.pp(13,5) Note: Local variable "dummy" is assigned but never used points_experiment0.pp(21,5) Note: Local variable "dummy" is assigned but never usedDeze `Note' kan genegeerd worden.
TYPES FILES --------- ----------------------------------- PointsExperiment.dpr TreeTester.dpr (2) | | V | TForm1 (4) }-in- Main.pas (4) V | | Treeviewer.pas (2) V | | TPointSet (3) \ | | | | | | V | | | TBST (1) | | | | | V V V }-in------ PointSets.pas TBinTree (1) | | | | | V | | PNode | | TNode / | | | V V TVector }-in------- Vectors.pas | V Real (voorgedefinieerd)
TAction
vereist "gewone" procedure
TAction
in PointSets.pas
vereist dat de actuele parameter
een "gewone" procedure is en niet een methode van een class
.
procedure DrawLayer1(AVector: TVector); ...
procedure TForm1.DrawLayer1(AVector: TVector); ...
PointSets.pas
.
(Alle methodes van TPointSet
blijven leeg.)
TreeViewer.pas
en
zelf aangepaste versie van TreeTester.dpr
.
TPointSet
implementeren in PointSets.pas
.
Main.pas
en Main.dfm
opbouwen
(in stapjes); dit is tevens een test voor TPointSet
.
TreeViewer.out_expected
PointSets.pas
ListOf
en SetOf
in PointSets.pas
luiden:
// ListOf(t: TBinTree) is defined recursively by // (Base) [ ], if t = nil (empty list) // (Step) ListOf(t^.FLeft) ++ [t^.FVector] ++ ListOf(t^.FRight), if t <> nil // SetOf(t: TBinTree) is defined recursively by // (Base) [ ], if t = nil (empty set) // (Step) SetOf(t^.FLeft) Union [t^.FVector] Union SetOf(t^.FRight), if t <> nilZie ook slide 20 van college week C5.