program WaitingList(Input,O ·.put); { Program 10.1 - Simulate client waiting list; serve th, first 3. } const NameLength 15; type Namelndex = 1 .. NameLengt~; NameString= packed arra'l [Namelndex] of Char; Natural = O .. Maxlnt; ClientPointer = iClient; Client = var record Name: NameString; Nxt: ClientPointer end; Head, Tail: ClientPointe Name: packed array [Name ndex] of Char; procedure ReadName; var c: Namelndex; begin for c := 1 to NameLength 10 if Eoln(Input) then Name[c] else begin Read(Input,Name[c]); Write (Output,Name [c] end; Readln(Input); Writeln(1 (.'put) end { ReadName }; procedure AddClientToList; var NewClient: ClientPo. ,','r; begin New(NewClient); , , if Head = nil then Head: ~ewClient else Tail i. Nxt : = NewCliE It; NewClienti.Name := Name; NewClienti.Nxt·= nil; Tail := NewClient end { AddClientToList }; procedure ServeClient (HowMa:lY: Natural); 

