Пример.
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.