Пример.

Dispose(p).

Составить программу, которая формирует стек, добавляет в

него произвольное количество компонент, а затем читает все компоненты

и выводит их на экран дисплея.

В качестве данных взять строку символов.

Ввод данных – с клавиатуры дисплея, признак конца ввода – строка символов END.

 

program stek;

uses crt;

type

str= string[10];

uk_stack= ^stack;

stack= record

inf: str;

next: uk_stack

end;

var

Beg: uk_stack;

s: str;

 

procedure sozd_stack(var Beg: uk_stack; var s: str);

begin

new(Beg);

Beg^.next:=nil;

Beg^.inf:=s

end;

 

procedure dob_el_stack (var Beg: uk_stack; var s: str);

var p: uk_stack;

begin

new(p);

p^.next:=Beg;

Beg:=p;

Beg^.inf:=s

end;

 

procedure ud_el_stack(var Beg: uk_stack; var s: str);

begin

s:=Beg^.inf;

Beg:=Beg^.next

end;

 

begin

clrscr;

writeln('Vvedite slovo');

readln(s);

 

sozd_stack(Beg,s);

 

repeat

writeln('Vvedite slovo, konez - END');

readln(s);

dob_el_stack (Beg,s);

until s='END';

 

writeln('****** STACK ******');

repeat

ud_el_stack (Beg,s);

writeln(s);

until Beg = nil;

readln

end.