De Modula-2 rechthoek procedure is als volgt gedefinieerd:
De Modula-2 ellips procedure is als volgt gedefinieerd:
PROCEDURE Ellipse ( x0,y0:CARDINAL;
-- center
a,b :CARDINAL; -- semi-axes
c :CARDINAL; -- color
fill :BOOLEAN ); -- whether filled
Start met dit programmaskelet (deze staat ook hier Bomen.mod):
<* WOFF + *>
MODULE Bomen;
FROM IO IMPORT RdChar, WrChar, WrStr, RdStr, WrLn, RdKey,
RdLn, RdCard, WrCard, RdInt, WrInt, RdReal, WrReal;
FROM Graph IMPORT Init, Rectangle, Ellipse;
FROM Graph IMPORT _clrBROWN, _clrWHITE, _clrGRAY, _clrLIGHTBLUE,
_clrGREEN;
CONST AANTAL = 10;
TYPE
(* 1. maak type BoomRc *)
PROCEDURE TekenBoom(boom: BoomRc);
BEGIN
(* 1 teken de gegeven boom *)
END TekenBoom;
(* 4 bereken boomvolume procedure *)
VAR
x:CHAR;
boom: BoomRc;
i, j: CARDINAL;
BEGIN
IF NOT Init(1, 1, 600, 600) THEN
WrStr("Sorry, graphics doesn't work");WrLn;
RETURN;
END;
(* 2 teken een boom in het midden van het scherm *)
boom.dikte := 30;
(* 3 teken een bos met een dubbele lus *)
WrStr("Press any key to finish the program");
x := RdKey(); WrLn; RdLn;
END Bomen.
Gevraagd: