WPO 8

In dit WPO zullen we de basis leren van gestructureerd programmeren. Tot hier toe werd alle code in de event-handler van een button geplaatst. Echter is deze techniek niet geschikt om grotere programma's te schrijven. In wat volgt zullen we de code opdelen in kleinere fragementen die we in procedures en functies zullen onderbrengen. In WPO 8 zullen we de procedures zien. In WPO 9 volgen de functies.

Procedures zijn methoden die toelaten om veelgebruikte code onder te brengen onder eenzelfde naam (bv. tekenRechthoek). Procedures bestaan uit 4 grote delen:

Hieronder wordt een voorbeeld van een procedure weergegeven.

// start a procedure with void // than after a space follows the name of the procedure // open the round brackets and write the arguments private void tekenDriehoek(int x1, int y1, int x2, int y2, int x3, int y3,Color kleur) { Line ln = new Line(); ln.Stroke = new SolidColorBrush(kleur); ln.StrokeThickness = 1; ln.X1 = x1; ln.Y1 = y1; ln.X2 = x2; ln.Y2 = y2; cvsDraw.Children.Add(ln); ln = new Line(); ln.Stroke = new SolidColorBrush(kleur); ln.StrokeThickness = 1; ln.X1 = x2; ln.Y1 = y2; ln.X2 = x3; ln.Y2 = y3; cvsDraw.Children.Add(ln); ln = new Line(); ln.Stroke = new SolidColorBrush(kleur); ln.StrokeThickness = 1; ln.X1 = x3; ln.Y1 = y3; ln.X2 = x1; ln.Y2 = y1; cvsDraw.Children.Add(ln); }

Bovenstaande procedure kan aangeroepen worden zoals afgebeeld in onderstaand codefragment.

// call the procedure as follows (draw 3 triangles) tekenDriehoek(0,0,100,100,0,100,Colors.Black); tekenDriehoek(200,200,250,200,100,100,Colors.Red); tekenDriehoek(500,600,250,250,400,400,Colors.Yellow);

Een procedure laat dus toe om gelijkaardige code te parametriseren en onder te brengen onder 1 naam (naam van de procedure). Procedures worden daarna vanop verschillende plaatsen in het programma opnieuw opgeroepen. Deze techniek laat toe om codeduplicatie te vermijden. Bovendien wordt op die manier gekende en geverifieerde code beschikbaar gemaakt in de rest van een programma terwijl dat fouten t.g.v. codeduplicatie vermeden worden.