Тема: Робота із стеком символів
Всім доброго дня 
  Допоможіть будь ласка доробити задачу:
--Використовуючи модуль реалізації стеку символів, скласти підпрограму - "Витягнути n елементів зі стеку"--
Сам модуль я вже маю:
-----------------------------------------------------------------------------------------------
{ Стек символів }
unit ChStack;
 
interface
 
type stack = ^selem;                      { Стек }
     selem  = record                      { Елемент стеку }
                   d: char;
                   next: stack
             end;
 
procedure Init(var s: stack);             { Почати роботу }
function Empty (s: stack): boolean;       { Чи порожній стек? }
procedure Push (var s: stack; c: char);   { Вштовхнути елемент у стек }
function Top (s: stack): char;            { Верхівка стеку }
procedure Pop (var s: stack);             { Забрати верхівку стеку }
 
implementation
 
procedure Init(var s: stack);
 begin
   s := nil
 end;
 
function Empty (s: stack): boolean;
 begin
   Empty:= s=nil
 end;
 
procedure Push (var s: stack; c: char);
 var p: stack;
 begin
   new(p); p^.d := c; p^.next := s;
   s := p
 end;
 
function Top (s: stack): char;
 begin
   if s = nil then begin
     writeln(' Top: Стек порожній'); halt
   end;
   Top := s^.d
 end;
 
procedure Pop (var s: stack);
 var p: stack;
 begin
   if s = nil then begin
     writeln(' Pop: Стек порожній'); halt
   end;
   p:=s; s:= s^.next; dispose(p)
 end;
 
end.------------------------------------------------------------------------------------------------
А от підпрограму не можу скласти (ніколи не розумілась а програмуванні)
Тому звертаюся до вас за допомогою. Буду дуже вдячна!
Bartash: код слід брати у теги [ code ].