X-Git-Url: http://svarog.pmf.uns.ac.rs/gitweb/?a=blobdiff_plain;f=kodovi%2Fstek-redopsl%2FStek.mod;fp=kodovi%2Fstek-redopsl%2FStek.mod;h=df3369ccc4f35b645c4aca276591bc400c5e390c;hb=f760213920703c2bcdd3b9a0651e51d343acda67;hp=0000000000000000000000000000000000000000;hpb=3825a582b4f57643b267e1562715738420bca2b4;p=spa1skripta-public.git diff --git a/kodovi/stek-redopsl/Stek.mod b/kodovi/stek-redopsl/Stek.mod new file mode 100755 index 0000000..df3369c --- /dev/null +++ b/kodovi/stek-redopsl/Stek.mod @@ -0,0 +1,54 @@ +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.