name_of_list_type = type_of_elements*
name_of_list_type type_of_elements. , list, , :
Domains
list = integer*
, . .
,
llist = l(list); s(symbol); i(integer); c(char)
list = llist*
[a, 1, [b, c]] : [s(a), i(1), l([s(b), s(c)])].
.
. :
1. .
2. .
3. .
:
type TPNode = ^Tree;
Tree = record
Element: string;
Left, Right: TPNode;
end;
procedure PBDSP (PTree: TPNode);
Begin
if PTree <> Nil then
begin PBDSP (PTree^.Left);
Writeln (PTree^.Element);
PBDSP (PTree^.Right)
End
end;
:
traverse(empty).
traverse(
tree(Element, Left, Right)):-traverse(Left),
write(Element), nl,
traverse(Right).
. ( ) . , . . , :
1. .
2. .
:
type TList = ^TElemList;
TElemList = record;
Inf: char;
Next: TList;.
end;
function Find(Elem:har; List:TList):boolean;
Begin
{ , }
if (List = Nil) then Find:=false
{ , }
else { }
if List^.Inf = Elem then Find:= true
{ }
else Find:= Find(Elem, List^.Next);
end;
Find : , .
: