Подскажите, как работает эта часть кода и, что обозначает конкретно эта строка " Tab(4*(g+1));Writeln('RNil');"
Код:
Procedure Print(T: TTree; g: integer); {Печать дерева. G-глубина}
Const k=6;
Begin
If T=nil then Writeln ('Дерево пустое') else begin
g:=g+1;
If T^.Right <> nil then
Print (T^.Right, g)
else begin
Tab(4*(g+1));Writeln('RNil');
end;
Tab(k*g); Writeln (T^.Inf.UDK,' ', T^.Inf.NAME);
If T^.Left <> nil then
Print (T^.Left,g)
else begin
Tab(4*(g+1));Writeln('LNil');
end;
g:=g-1;
End;
End;
Const k=6;
Begin
If T=nil then Writeln ('Дерево пустое') else begin
g:=g+1;
If T^.Right <> nil then
Print (T^.Right, g)
else begin
Tab(4*(g+1));Writeln('RNil');
end;
Tab(k*g); Writeln (T^.Inf.UDK,' ', T^.Inf.NAME);
If T^.Left <> nil then
Print (T^.Left,g)
else begin
Tab(4*(g+1));Writeln('LNil');
end;
g:=g-1;
End;
End;
Код:
Procedure Print(T: TTree; g: integer); {Печать дерева. G-глубина (по лекции)}
Const k=6;
Begin
If T=nil then Writeln ('Дерево пустое') else begin
g:=g+1;
If T^.Right <> nil then
Print (T^.Right, g)
else begin
Tab(4*(g+1));Writeln('RNil');
end;
Tab(k*g); Writeln (T^.Inf.UDK,' ', T^.Inf.NAME);
If T^.Left <> nil then
Print (T^.Left,g)
else begin
Tab(4*(g+1));Writeln('LNil');
end;
g:=g-1;
End;
End;
Const k=6;
Begin
If T=nil then Writeln ('Дерево пустое') else begin
g:=g+1;
If T^.Right <> nil then
Print (T^.Right, g)
else begin
Tab(4*(g+1));Writeln('RNil');
end;
Tab(k*g); Writeln (T^.Inf.UDK,' ', T^.Inf.NAME);
If T^.Left <> nil then
Print (T^.Left,g)
else begin
Tab(4*(g+1));Writeln('LNil');
end;
g:=g-1;
End;
End;