Advertisement
Guest User

Untitled

a guest
Aug 12th, 2017
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.     PROCEDURE (t: Traffic) SortWachtrij();
  2.    
  3.         VAR
  4.             teller1, teller2, teller3: INTEGER;
  5.             tempnode: CircDLL.Node;
  6.             tempplane: CircDLL.Node;
  7.             tempname: StringTypes.SimpleTypeString;
  8.             airport: Airport.Airport;
  9.             airplane: Airplane.Airplane;
  10.                    
  11.     BEGIN
  12.         teller1 := 0;
  13.         NEW(tempnode);
  14.         tempnode^.Init;
  15.         tempnode := t^.Ports^.GetFirstNode();
  16.         NEW(tempplane);
  17.         tempplane^.Init;
  18.         tempplane := t^.Planes^.GetFirstNode();
  19.        
  20.         IF tempnode IS Airport.Airport THEN
  21.             airport := tempnode(Airport.Airport);
  22.         END;
  23.         IF tempplane IS Airplane.Airplane THEN
  24.             airplane := tempplane(Airplane.Airplane);
  25.         END;
  26.        
  27.         IF (airplane = t^.Planes^.GetLastNode()) & (airplane = t^.Planes^.GetFirstNode()) THEN
  28.                 IF airport^.name = airplane^.depart THEN
  29.                     airport^.wachtlijst[teller1] := airplane^.GetNumber();
  30.                 END;
  31.         ELSE
  32.             FOR teller3 := 0 TO (t^.Planes^.GetLength() -1) BY 1 DO
  33.                 IF airport^.name = airplane^.depart THEN
  34.                     airport^.wachtlijst[teller2] := airplane^.GetNumber();  
  35.                     INC(teller2);
  36.                     tempnode := airport^.NextNode();
  37.                     airport := tempnode(Airport.Airport);
  38.                 ELSE
  39.                     tempnode := airport^.NextNode();
  40.                     airport := tempnode(Airport.Airport);
  41.                 END;           
  42.             END;
  43.         END;
  44.             tempnode := airport^.NextNode();
  45.             airport := tempnode(Airport.Airport);
  46.             WHILE airport # t^.Ports^.GetFirstNode() DO
  47.                 tempplane := airplane^.NextNode();
  48.                 airplane := tempplane(Airplane.Airplane);
  49.                 IF (airplane = t^.Planes^.GetLastNode()) & (airplane = t^.Planes^.GetFirstNode()) THEN
  50.                 IF airport^.name = airplane^.depart THEN
  51.                     airport^.wachtlijst[teller1] := airplane^.GetNumber();
  52.                 END;
  53.         ELSE
  54.             teller2 := 0;
  55.             FOR teller3 := 0 TO (t^.Planes^.GetLength() -1) BY 1 DO
  56.                 IF airport^.name = airplane^.depart THEN
  57.                     airport^.wachtlijst[teller2] := airplane^.GetNumber();  
  58.                     INC(teller2);
  59.                     tempplane := airplane^.NextNode();
  60.                     airplane := tempplane(Airplane.Airplane);
  61.                 ELSE
  62.                     tempplane := airplane^.NextNode();
  63.                     airplane := tempplane(Airplane.Airplane);
  64.                 END;           
  65.             END;
  66.         END;
  67.         tempnode := airport^.NextNode();
  68.         airport := tempnode(Airport.Airport);
  69.             END;
  70.         END SortWachtrij;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement