Помогите доделать!
uses crt;
type TPtr=^TElem;
TElem=record
Inf:byte;
Link:TPtr;
end;
var Top:TPtr;
Value,b:real;
i,n:byte;
Procedure Push (val:byte);
var P:TPtr;
begin
New(P);
P^.Inf:=val;
P^.Link:=Top;
Top:=p;
end;
Procedure Pop (var Val:real);
var P:TPtr;
begin
val:=Top^.Inf;
P:=Top;
Top:=P^.Link;
Dispose(p);
end;
begin
Top:=nil;randomize;
for i:=1 to n do Push(i);
b:=random(21)-30;
While Top <> nil do
begin Pop (Value);
Writeln (value:5:2);
end;
end.