Programmeren (2IP05) 2007-2008, Blok C, Eindopdracht, Aanvulling

28 jan. 2008, Bovengrens op aantal punten
Er is geen grens gesteld aan het aantal punten in een 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.)

27 jan. 2008, onschuldige compiler `Note'
Bij inzenden in Peach worden uw 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 used
Deze `Note' kan genegeerd worden.

22 jan. 2008, afhankelijkheden tussen bestanden en types
X -> Y betekent hieronder dat X afhangt van Y. De nummers tussen haakjes corresponderen met onderstaande plan.
  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)

19 jan. 2008, TAction vereist "gewone" procedure
De procedurele parameter van het type TAction in PointSets.pas vereist dat de actuele parameter een "gewone" procedure is en niet een methode van een class.
Goed:
procedure DrawLayer1(AVector: TVector);
  ...
Fout:
procedure TForm1.DrawLayer1(AVector: TVector);
  ...

18 jan. 2008, een plan
Voor degenen die wat meer houvast willen volgt hier een mogelijk plan:
  1. Binaire bomen implementeren in PointSets.pas. (Alle methodes van TPointSet blijven leeg.)
  2. Binaire bomen testen met TreeViewer.pas en zelf aangepaste versie van TreeTester.dpr.
  3. TPointSet implementeren in PointSets.pas.
  4. GUI in Main.pas en Main.dfm opbouwen (in stapjes); dit is tevens een test voor TPointSet.

16 jan. 2008, TreeViewer.out_expected
Dit bestand bevat uitvoer van twee runs. Dat had er maar één moeten zijn (de laatste).

11 jan. 2008, PointSets.pas
De juiste definities van 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 <> nil
Zie ook slide 20 van college week C5.


Opmerkingen over deze pagina zijn welkom