Advertisement
machalda

SI model dynamickeho systemu

Dec 28th, 2013
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 5.45 KB | None | 0 0
  1. <title>Projekt SI</title>
  2. <form method="post">
  3. Pocet simulaci: <input type="text" value="100" name="pocet"><br>
  4. <input type="submit" value="vsedni_den" name="simul">
  5. <input type="submit" value="vikend" name="simul">
  6. </form>
  7. <?php
  8.  
  9. $pocet_simulaci = $_POST['pocet'];
  10. $puvodni_simulace = $pocet_simulaci;
  11. $simulace = $_POST['simul'];
  12. if(isset($simulace))
  13. {
  14. echo '<a href="#vysledek">Zobrazit vysledek</a><br>';
  15. $sum_zak_9   = 0;
  16. $sum_zak_11 = 0;
  17. $sum_zak_14 = 0;
  18. $sum_zak_19 = 0;
  19. $sum_zak     = 0;
  20.  
  21. $sum_zam_9   = 0;
  22. $sum_zam_11  = 0;
  23. $sum_zam_14  = 0;
  24. $sum_zam_19  = 0;
  25. while($pocet_simulaci >= 0)
  26. {
  27. echo "<br>### Simulace cislo: ".$pocet_simulaci." ##############################################################<br>";
  28. $pocet_simulaci--;
  29. $devet=devet($simul);
  30. $jedenact=jedenact($simul);
  31. $ctrnact=ctrnact($simul);
  32. $devatenact=devatenact($simul);
  33. $celkem=$devet+$jedenact+$ctrnact+$devatenact;
  34.  
  35.  
  36. $minuty_9 = sluzby($devet);
  37. $minuty_11 = sluzby($jedenact);
  38. $minuty_14 = sluzby($ctrnact);
  39. $minuty_19 = sluzby($devatenact);
  40.  
  41. $zamestnanci_9 = $minuty_9/120;
  42. $zamestnanci_11 = $minuty_11/150; // 30minut pauza
  43. $zamestnanci_14 = $minuty_14/270; // 30minut pauza
  44. $zamestnanci_19 = $minuty_19/120;
  45.  
  46. $sum_zam_9   = $sum_zam_9 + $zamestnanci_9;
  47. $sum_zam_11  = $sum_zam_11 + $zamestnanci_11;
  48. $sum_zam_14  = $sum_zam_14 + $zamestnanci_14;
  49. $sum_zam_19  = $sum_zam_19 + $zamestnanci_19;
  50.  
  51. $sum_zak_9   = $sum_zak_9 + $devet;
  52. $sum_zak_11 = $sum_zak_11 + $jedenact;
  53. $sum_zak_14 = $sum_zak_14 + $ctrnact;
  54. $sum_zak_19 = $sum_zak_19 + $devatenact;
  55. $sum_zak     = $sum_zak + $celkem;
  56.  
  57. echo "9-11h ->   ";
  58. echo $devet;
  59. echo " -> ".$zamestnanci_9;
  60. echo " zamestnancu";
  61. echo "<br>11-14h ->   ";
  62. echo $jedenact;
  63. echo " -> ".$zamestnanci_11;
  64. echo " zamestnancu";
  65. echo "<br>14-19h ->   ";
  66. echo $ctrnact;
  67. echo " -> ".$zamestnanci_14;
  68. echo " zamestnancu";
  69. echo "<br>19-21h ->   ";
  70. echo $devatenact;
  71. echo " -> ".$zamestnanci_19;
  72. echo " zamestnancu";
  73. echo "<br>";
  74. echo "celkem za den: ".$celkem;
  75. echo "<br>";
  76. echo "<br>#####################################################################################<br>";
  77. }
  78. echo "<br><br><hr>";
  79. echo '
  80. <a name="vysledek">
  81. <table border="1" width="90%">
  82. <tr>
  83. <td></td>
  84. <td>9-11h</td>
  85. <td>11-14h</td>
  86. <td>14-19h</td>
  87. <td>19-21h</td>
  88. </tr>
  89. <tr>
  90. <td>Zakaznici</td>
  91. <td>'.$sum_zak_9/$puvodni_simulace.'</td>
  92. <td>'.$sum_zak_11/$puvodni_simulace.'</td>
  93. <td>'.$sum_zak_14/$puvodni_simulace.'</td>
  94. <td>'.$sum_zak_19/$puvodni_simulace.'</td>
  95. </tr>
  96. <tr>
  97. <td>Zamestnanci</td>
  98. <td>'.$sum_zam_9/$puvodni_simulace.'</td>
  99. <td>'.$sum_zam_11/$puvodni_simulace.'</td>
  100. <td>'.$sum_zam_14/$puvodni_simulace.'</td>
  101. <td>'.$sum_zam_19/$puvodni_simulace.'</td>
  102. </tr>
  103. <tr>
  104. <td>Zakaznici celkem</td>
  105. <td colspan="4">'.$sum_zak/$puvodni_simulace.'</td>
  106. </tr>
  107. <tr>
  108. <td>Pocet simulaci</td>
  109. <td colspan="4">'.$puvodni_simulace.'</td>
  110. </tr>
  111. </table>
  112. ';
  113. }
  114. function gen($pst, $min, $max)
  115. {
  116. $pocet = 0;
  117. $procento=rand(0,100);
  118. if($procento<$pst[0]){$pocet=rand($min[0], $max[0]);}
  119. elseif($procento<$pst[1]){$pocet=rand($min[1], $max[1]);}
  120. elseif($procento<$pst[2]){$pocet=rand($min[2], $max[2]);}
  121. elseif($procento<$pst[3]){$pocet=rand($min[3], $max[3]);}
  122. elseif($procento<$$pst[4]){$pocet=rand($min[4], $max[4]);}
  123. else{$pocet=rand($min[5], $max[5]);}
  124. return $pocet;
  125. }
  126. function devet($s)
  127. {
  128. if($s == "vsedni_den")
  129. {
  130. $pst=array(12, 25, 30, 20, 12, 1);
  131. $min=array(0, 11, 21, 31, 41, 51);
  132. $max=array(10, 20, 30, 40, 50, 100);
  133. }
  134. else
  135. {
  136. $pst=array(10, 20, 35, 20, 14, 1);
  137. $min=array(0, 11, 21, 31, 41, 51);
  138. $max=array(10, 20, 30, 40, 50, 100);
  139. }
  140. $vysledek=gen($pst, $min, $max);
  141. return $vysledek;
  142. }
  143. function jedenact($s)
  144. {
  145. if($s == "vsedni_den")
  146. {
  147. $pst=array(2, 10, 18, 30, 25, 15);
  148. $min=array(0, 11, 21, 31, 41, 51);
  149. $max=array(10, 20, 30, 40, 50, 100);
  150. }
  151. else
  152. {
  153. $pst=array(2, 8, 20, 30, 25, 15);
  154. $min=array(0, 11, 21, 31, 41, 51);
  155. $max=array(10, 20, 30, 40, 50, 100);
  156. }
  157. $vysledek=gen($pst, $min, $max);
  158. return $vysledek;
  159. }
  160. function ctrnact($s)
  161. {
  162. if($s == "vsedni_den")
  163. {
  164. $pst=array(10, 18, 25, 25, 20, 2);
  165. $min=array(0, 71, 101, 131, 161, 201);
  166. $max=array(70, 100, 130, 160, 200, 300);   
  167. }
  168. else
  169. {
  170. $pst=array(5, 28, 30, 20, 15, 2);
  171. $min=array(0, 71, 101, 131, 161, 201);
  172. $max=array(70, 100, 130, 160, 200, 300);   
  173. }
  174. $vysledek=gen($pst, $min, $max);
  175. return $vysledek;
  176. }
  177. function devatenact($s)
  178. {
  179. if($s == "vsedni_den")
  180. {
  181. $pst=array(6, 35, 40, 15, 3, 1);
  182. $min=array(0, 11, 21, 31, 41, 51);
  183. $max=array(10, 20, 30, 40, 50, 100);
  184. }
  185. else
  186. {
  187. $pst=array(12, 20, 40, 18, 8, 2);
  188. $min=array(0, 11, 21, 31, 41, 51);
  189. $max=array(10, 20, 30, 40, 50, 100);
  190. }
  191. $vysledek=gen($pst, $min, $max);
  192. return $vysledek;
  193. }
  194. function sluzby($c)
  195. {
  196. $minuty=0;
  197. $i=$c;
  198. $servis=array(0, 0, 0);
  199. $prodej=array(0, 0, 0);
  200. while($i>=0)
  201. {
  202. $procento=rand(0,100);
  203. if($procento<=75) //servis
  204. {
  205. $procento=rand(0,100);
  206. if($procento<10){$minuty=$minuty+rand(5, 15); $servis[2]++;}
  207. elseif($procento<20){$minuty=$minuty+rand(1, 2); $servis[0]++;}
  208. else{$minuty=$minuty+rand(5, 5); $servis[1]++;}
  209. }
  210. else     //prodej
  211. {
  212. $procento=rand(0,100);
  213. if($procento<30){$minuty=$minuty+rand(2, 7); $prodej[0]++;}
  214. elseif($procento<60){$minuty=$minuty+rand(20, 30); $prodej[2]++;}
  215. else{$minuty=$minuty+rand(7, 20); $prodej[1]++;}
  216. }
  217.  
  218. $minuty++; //rezie mezi jednotlivymu ztakazniky = 1 minuta
  219. $i--;
  220. }
  221. /*echo "---------------------<br>";
  222. echo "pocet kratkych prodeju: ".$prodej[0]."<br>";
  223. echo "pocet strednich prodeju: ".$prodej[1]."<br>";
  224. echo "pocet dlouhych prodeju: ".$prodej[2]."<br>";
  225. echo "pocet kratkych servisu: ".$servis[0]."<br>";
  226. echo "pocet strednich servisu: ".$servis[1]."<br>";
  227. echo "pocet dlouhych servisu: ".$servis[2]."<br>";
  228. echo "---------------------<br>";*/
  229.  
  230. return $minuty;
  231. }
  232. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement