IMPLEMENTATION MODULE Stek; FROM Info IMPORT InfoTip; PROCEDURE MakeNull(VAR s : StekTip); BEGIN s.Top := 0 END MakeNull; PROCEDURE Empty(VAR s : StekTip) : BOOLEAN; BEGIN RETURN s.Top = 0 END Empty; PROCEDURE Top(VAR s : StekTip; VAR x : InfoTip; VAR ok : BOOLEAN); BEGIN IF Empty(s) THEN ok := FALSE ELSE ok := TRUE; WITH s DO x := Element[Top] END END END Top; PROCEDURE Pop(VAR s : StekTip; VAR ok : BOOLEAN); BEGIN IF Empty(s) THEN ok := FALSE ELSE ok := TRUE; DEC(s.Top) END END Pop; PROCEDURE Push(VAR s : StekTip; x : InfoTip; VAR ok : BOOLEAN); BEGIN WITH s DO IF Top = Maxstek THEN ok := FALSE ELSE ok := TRUE; INC(Top); Element[Top] := x END END END Push; END Stek.