program laba2exp2; var a : array[1..200] of char; c : char; x, i, size : integer; test : integer; procedure push(c : char); begin size := size + 1; a[size] := c; end; procedure pop; begin size := size - 1; end; function top : char; begin top := a[size]; end; function Empty : integer; begin if size >= 1 then result:=0 else result:=1; end; Procedure skobki(var c:char); {В юнит} var d:integer; begin d:=Ord(c); if d = 40 or d = 123 or d = 91 then {Код Аски} begin push(c); laba(c); end else srav(c); end; function laba(var c:char):boolean; begin Read(c); { Чтение скобки } test:=Empty; if c = '.' then if test=1 then result:=false; skobki(c); end; function srav(var c:char):boolean; begin CASE c of '(' : begin if top(c) != ')' then return:=false else begin pop(c); laba(c); end; end; '{' : begin if top(c) != '}' then return:=false else laba(c); end; '[' : begin if top(c) != ']' then return:=false else laba(c); end; end;