program laba_4_a; uses crt; Type R = Record uzel:string[20]; ustrois:string[20]; nomer_u:integer; kol_u:integer; ves:real; cena:real; End; PTItem = ^TItem; TItem = Record Info: R; next: PTItem; End; TList = Record first, last: PTItem; Exists: Boolean; End; TActionType = Procedure(Var X: R); Procedure InitList(Var L: TList); Begin L.first := nil; L.last := nil; L.Exists := True; End; Procedure DestroyList(Var L: TList); Var p, T: PTItem; Begin p := L.first; While p <> nil Do Begin T := p; p := p^.next; dispose(T) End; L.Exists := False End; Procedure AppendList(Var L: TList; Var X: R); Var p: PTItem; Begin new(p); p^.Info := X; p^.next := nil; If L.first = nil Then L.first := p Else L.last^.next := p; L.last := p; End; Procedure RemoveItem(Var L: TList; n: Integer); Var p, r1: PTItem; Begin p := L.first; While n > 1 Do Begin p := p^.next; Dec(n) End; r1 := p^.next; p^ := r1^; Dispose(r1); r1 := nil End; Procedure ForEachList(Var L: TList; Action: TActionType); Var p: PTItem; Begin p := L.first; While p <> nil Do Begin Action(p^.Info); p := p^.Next; End; End; Var PlayList: TList; r1: R; f: File Of R; min_cena: Integer; Procedure WriteRec(Var X: R); Far; Begin With X Do WriteLn(uzel, ' ', ustrois, ' ', nomer_u, ' ', kol_u, ' ', ves, ' ',cena); End; procedure sort (var L:Tlist; X:R); var temp:real; p,r1,t1: PTItem; begin ClrScr; p := L.first; While p <> nil Do Begin with p^.Info do temp:=kol_u; r1:=p; while r1 <> nil do begin with r1^.Info do if (temp