Advertisement
Guest User

Untitled

a guest
May 3rd, 2016
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.14 KB | None | 0 0
  1. program Uebung2;
  2.  
  3. const n=4;
  4. start='b';
  5. ende='e';
  6.  
  7. function Name(ort:Char):String;
  8. var stop:string;
  9. begin
  10. case ort of
  11. 'a': stop:='Holgers Wohnung';
  12. 'b': stop:='Blumenhändler';
  13. 'c': stop:='Getränkemarkt';
  14. 'd': stop:='Gemüsehändler';
  15. 'e': stop:='Bäcker';
  16. end;
  17. Name:=stop;
  18. end;
  19.  
  20. function Zeit(strecke:string):word;
  21. var dauer,i:word;
  22. begin
  23. dauer:=0;
  24. for i:=1 to n+2 do
  25. case strecke[i] of
  26. 'a':
  27. case strecke[i+1] of
  28. 'b': dauer:=dauer+12;
  29. 'c': dauer:=dauer+65;
  30. 'd': dauer:=dauer+48;
  31. 'e': dauer:=dauer+33;
  32. end;
  33. 'b':
  34. case strecke[i+1] of
  35. 'a': dauer:=dauer+10;
  36. 'c': dauer:=dauer+75;
  37. 'd': dauer:=dauer+52;
  38. 'e': dauer:=dauer+36;
  39. end;
  40. 'c':
  41. case strecke[i+1] of
  42. 'a': dauer:=dauer+65;
  43. 'b': dauer:=dauer+71;
  44. 'd': dauer:=dauer+44;
  45. 'e': dauer:=dauer+50;
  46. end;
  47. 'd':
  48. case strecke[i+1] of
  49. 'a': dauer:=dauer+47;
  50. 'b': dauer:=dauer+52;
  51. 'c': dauer:=dauer+44;
  52. 'e': dauer:=dauer+62;
  53. end;
  54. 'e':
  55. case strecke[i+1] of
  56. 'a': dauer:=dauer+33;
  57. 'b': dauer:=dauer+36;
  58. 'c': dauer:=dauer+50;
  59. 'd': dauer:=dauer+62;
  60. end;
  61. end;
  62. Zeit:=dauer;
  63. end;
  64.  
  65. procedure Weg(Durchlauf:shortint;var minuten:word;var Orte:String);
  66. var i:char;
  67. j,dauer:word;
  68. doppelt:Boolean;
  69. begin
  70. doppelt:=false;
  71. for j:=1 to Durchlauf do
  72. begin
  73. if (j<>Durchlauf) and (Orte[j]=Orte[Durchlauf]) then
  74. doppelt:=true
  75. end;
  76.  
  77. if (doppelt=false)then
  78. if (Durchlauf=n) then
  79. begin
  80. if dauer>Zeit('a'+Orte+'a') then
  81. begin
  82. dauer:=Zeit('a'+Orte+'a');
  83. Orte:='a'+Orte+'a';
  84. writeln(Orte,' ',dauer);
  85. end;
  86. end
  87. else
  88. for i:=start to ende do
  89. Weg(Durchlauf+1,dauer,Orte)
  90. end;
  91.  
  92. var strecke:String;
  93. i,dauer:word;
  94. begin
  95. dauer:=255;
  96. strecke:='';
  97. Weg(0,dauer,strecke);
  98. writeln;
  99. strecke:='adceba';
  100. for i:=1 to n+2 do
  101. begin
  102. writeln(i,'. ',Name(strecke[i]));
  103. end;
  104. writeln('Dauer der schnellsten Strecke: ',Zeit(strecke),' min');
  105. readln
  106. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement