Программа


UNIT Module;
INTERFACE
TYPE List=^Element;        { Тип - список }
     Element=record
               Ch:char;
               Next:List
             end;
VAR F1,F2:text;                   { Файловые переменные }
PROCEDURE DisposerList(var L:List); { Процедура удаления списка }
PROCEDURE InputList(var L:List);  { Процедура ввода списка }
PROCEDURE OutputList(L:List);  { Процедура вывода списка }
IMPLEMENTATION
PROCEDURE InputList(var L:List);  { Процедура ввода списка }
  Begin
    if not EOLn(F1) then begin               { Если нет конца строки, то }
                           New(L);             { создание новой переменной }
                           Read(F1,L^.Ch);     { чтение символа }
                           InputList(L^.Next)  { ввод оставшейся части строки }
                         end
                    else begin
                           L:=nil;             { иначе закрытие списка }
                           ReadLn(F1)          { пропуск маркера конца строки }
                         end
  End;
PROCEDURE OutputList(L:List);  { Процедура вывода списка }
  Begin
    if L<>nil then begin               { Если не конец списка, то }
                     OutputList(L^.Next); { вывод оставшейся части строки }
                     Write(F2,L^.Ch)      { вывод символа }
                   end
  End;
PROCEDURE DisposerList(var L:List); { Процедура удаления списка }
  Begin
    if L<>nil then begin   { Если переменная существует, то }
                     DisposerList(L^.NEXT);  { удаление хвоста списка }
                     Dispose(L)              { удаление переменной }
                   end;
    L:=nil { Переопределение ссылки }
  End;
END.

Бесплатные примеры программ
Примеры написанных программ
Помощь студентам по программированию