fork download
  1. <?php
  2.  
  3. // archive-ipq-co.narod.ru
  4.  
  5. abstract class Worker
  6. {
  7.  
  8. public $rang; // Ранг сотрудника 1-3
  9. public $dicrementcoffe; // выжрано кофе
  10. public $stavka; // начальная ставка
  11. public $mainingDocument; // Произвел документов
  12. public $endStavka; // окончательная ставка, вычисляется через функцию EndStavka
  13. public $boss = false; // является ли сотрудник начальником
  14. public function __construct(){$this->endStavka=$this->getendStavka();}
  15.  
  16. public function getendStavka()
  17. { $percent=1;
  18. if ($this->rang==2)
  19. {
  20. $percent=1.25;
  21. }
  22. elseif ($this->rang==3)
  23. {
  24. $percent=1.5;
  25. }
  26. else
  27. {
  28. $percent=1;
  29. }
  30.  
  31. $endStavkaB = $this->stavka * $percent;
  32.  
  33. if ($this->boss)
  34. {
  35. $endStavkaB *= 1.5;
  36. }
  37. return $endStavkaB;
  38. }
  39. }
  40.  
  41. class Menedger extends Worker
  42. {
  43.  
  44.  
  45. public $dicrementcoffe = 20;
  46. public $stavka = 500;
  47. public $mainingDocument = 200;
  48. }
  49. class Market extends Worker
  50. {
  51. public $dicrementcoffe = 15;
  52. public $stavka = 400;
  53. public $mainingDocument = 150;
  54. }
  55. class Engeener extends Worker
  56. {
  57. public $dicrementcoffe = 5;
  58. public $stavka = 200;
  59. public $mainingDocument = 50;
  60. }
  61. class Analitic extends Worker
  62. {
  63. public $dicrementcoffe = 50;
  64. public $stavka = 800;
  65. public $mainingDocument = 5;
  66. }
  67. class Departament // возвращает массив с работниками в каждом департаменте
  68. {
  69. public $name;
  70. public $workers;
  71. public $menedgerA; //1 rang
  72. public $menedgerB; //2 rang
  73. public $menedgerC; //3 rang
  74. public $menedgerBoss; //Руководитель
  75. // инженеры
  76. public $engeenerA; //1 rang
  77. public $engeenerB; //2 rang
  78. public $engeenerC; //3 rang
  79. public $engeenerBoss; //Руководитель
  80. //маркетологи
  81. public $marketA;//1 rang
  82. public $marketB;//2 rang
  83. public $marketC;//3 rang
  84. public $marketBoss;//Руководитель
  85. //аналитики
  86. public $analiticA; //1 rang
  87. public $analiticB; //2 rang
  88. public $analiticC; //3 rang
  89. public $analiticBoss;
  90. public function __construct(){$this->workers=$this->quantityWorker();}
  91. public function quantityWorker () // Возвращает массив с сотрудниками
  92. {
  93. for ($i=0; $i<$this->menedgerA; $i++) // заносим в массив менеджеров 1й ранг
  94. {
  95. $w = new Menedger;
  96. $w->rang = 1;
  97. $workers[] = $w;
  98. }
  99. for ($i=0; $i<$this->menedgerB; $i++) // заносим в массив менеджеров 2й ранг
  100. {
  101. $w = new Menedger;
  102. $w->rang = 2;
  103. $workers[] = $w;
  104. }for ($i=0; $i<$this->menedgerA; $i++) // заносим в массив менеджеров 1й ранг
  105. {
  106. $w = new Menedger;
  107. $w->rang = 1;
  108. $workers[] = $w;
  109. }for ($i=0; $i<$this->menedgerB; $i++) // заносим в массив менеджеров 3й ранг
  110. {
  111. $w = new Menedger;
  112. $w->rang = 3;
  113. $workers[] = $w;
  114. }
  115. for ($i=0; $i<$this->menedgerBoss; $i++) // заносим в массив менеджеров руководителей
  116. {
  117. $w = new Menedger;
  118. $w->rang = 1;
  119. $w->boss = true;
  120. $workers[] = $w;
  121. }for ($i=0; $i<$this->engeenerA; $i++) // заносим в массив инженеров 1й ранг
  122. {
  123. $w = new Engeener;
  124. $w->rang = 1;
  125. $workers[] = $w;
  126. }for ($i=0; $i<$this->engeenerB; $i++) // заносим в массив инжей 2й ранг
  127. {
  128. $w = new Engeener;
  129. $w->rang = 2;
  130. $workers[] = $w;
  131. }for ($i=0; $i<$this->engeenerC; $i++) // заносим в массив инжей 3й ранг
  132. {
  133. $w = new Engeener;
  134. $w->rang = 3;
  135. $workers[] = $w;
  136. }
  137. for ($i=0; $i<$this->engeenerBoss; $i++) // заносим в массив инжей боссов
  138. {
  139. $w = new Engeener;
  140. $w->rang = 1;
  141. $w->boss = true;
  142. $workers[] = $w;
  143. }
  144. for ($i=0; $i<$this->marketA; $i++) // заносим в массив маркетологов 1
  145. {
  146. $w = new Market;
  147. $w->rang = 1;
  148. $workers[] = $w;
  149. }
  150. for ($i=0; $i<$this->marketB; $i++) // заносим в массив маркетологов 2
  151. {
  152. $w = new Market;
  153. $w->rang = 2;
  154. $workers[] = $w;
  155. }
  156. for ($i=0; $i<$this->marketC; $i++) // заносим в массив мfhrtnjkjujd 3
  157. { $w = new Market;
  158. $w->rang = 3;
  159. $workers[] = $w;
  160. }
  161. for ($i=0; $i<$this->marketBoss; $i++) // заносим в массив Boss Market
  162. {
  163. $w = new Market;
  164. $w->rang = 1;
  165. $w->boss = true;
  166. $workers[] = $w;
  167. }
  168. for ($i=0; $i<$this->analiticA; $i++) // заносим в массив Analitic 1
  169. {
  170. $w = new Analitic;
  171. $w->rang = 1;
  172. $workers[] = $w;
  173. }for ($i=0; $i<$this->analiticB; $i++) // заносим в массив Analitic 2
  174. {
  175. $w = new Analitic;
  176. $w->rang = 2;
  177. $workers[] = $w;
  178. }for ($i=0; $i<$this->analiticC; $i++) // Analitic 3
  179. {
  180. $w = new Analitic;
  181. $w->rang = 3;
  182. $workers[] = $w;
  183. }
  184. for ($i=0; $i<$this->analiticC; $i++) // Analitic BoSS
  185. {
  186. $w = new Analitic;
  187. $w->rang = 3;
  188. $w->boss = true;
  189. $workers[] = $w;
  190. }
  191. return $workers;
  192. }
  193.  
  194. }
  195. class ProcurementDivision extends Departament
  196. {
  197. public $name = "Закупок";
  198. public $menedgerA=9;
  199. public $menedgerB=3;
  200. public $menedgerC=2;
  201. public $marketA=2;
  202. public $menedgerBoss=1; //поменять в классе на ранг
  203. }
  204.  
  205. $quest = new ProcurementDivision;
  206. var_dump($quest);
Success #stdin #stdout 0.01s 82880KB
stdin
Standard input is empty
stdout
object(ProcurementDivision)#1 (18) {
  ["name"]=>
  string(14) "Закупок"
  ["menedgerA"]=>
  int(9)
  ["menedgerB"]=>
  int(3)
  ["menedgerC"]=>
  int(2)
  ["marketA"]=>
  int(2)
  ["menedgerBoss"]=>
  int(1)
  ["workers"]=>
  array(27) {
    [0]=>
    object(Menedger)#2 (6) {
      ["dicrementcoffe"]=>
      int(20)
      ["stavka"]=>
      int(500)
      ["mainingDocument"]=>
      int(200)
      ["rang"]=>
      int(1)
      ["endStavka"]=>
      int(500)
      ["boss"]=>
      bool(false)
    }
    [1]=>
    object(Menedger)#3 (6) {
      ["dicrementcoffe"]=>
      int(20)
      ["stavka"]=>
      int(500)
      ["mainingDocument"]=>
      int(200)
      ["rang"]=>
      int(1)
      ["endStavka"]=>
      int(500)
      ["boss"]=>
      bool(false)
    }
    [2]=>
    object(Menedger)#4 (6) {
      ["dicrementcoffe"]=>
      int(20)
      ["stavka"]=>
      int(500)
      ["mainingDocument"]=>
      int(200)
      ["rang"]=>
      int(1)
      ["endStavka"]=>
      int(500)
      ["boss"]=>
      bool(false)
    }
    [3]=>
    object(Menedger)#5 (6) {
      ["dicrementcoffe"]=>
      int(20)
      ["stavka"]=>
      int(500)
      ["mainingDocument"]=>
      int(200)
      ["rang"]=>
      int(1)
      ["endStavka"]=>
      int(500)
      ["boss"]=>
      bool(false)
    }
    [4]=>
    object(Menedger)#6 (6) {
      ["dicrementcoffe"]=>
      int(20)
      ["stavka"]=>
      int(500)
      ["mainingDocument"]=>
      int(200)
      ["rang"]=>
      int(1)
      ["endStavka"]=>
      int(500)
      ["boss"]=>
      bool(false)
    }
    [5]=>
    object(Menedger)#7 (6) {
      ["dicrementcoffe"]=>
      int(20)
      ["stavka"]=>
      int(500)
      ["mainingDocument"]=>
      int(200)
      ["rang"]=>
      int(1)
      ["endStavka"]=>
      int(500)
      ["boss"]=>
      bool(false)
    }
    [6]=>
    object(Menedger)#8 (6) {
      ["dicrementcoffe"]=>
      int(20)
      ["stavka"]=>
      int(500)
      ["mainingDocument"]=>
      int(200)
      ["rang"]=>
      int(1)
      ["endStavka"]=>
      int(500)
      ["boss"]=>
      bool(false)
    }
    [7]=>
    object(Menedger)#9 (6) {
      ["dicrementcoffe"]=>
      int(20)
      ["stavka"]=>
      int(500)
      ["mainingDocument"]=>
      int(200)
      ["rang"]=>
      int(1)
      ["endStavka"]=>
      int(500)
      ["boss"]=>
      bool(false)
    }
    [8]=>
    object(Menedger)#10 (6) {
      ["dicrementcoffe"]=>
      int(20)
      ["stavka"]=>
      int(500)
      ["mainingDocument"]=>
      int(200)
      ["rang"]=>
      int(1)
      ["endStavka"]=>
      int(500)
      ["boss"]=>
      bool(false)
    }
    [9]=>
    object(Menedger)#11 (6) {
      ["dicrementcoffe"]=>
      int(20)
      ["stavka"]=>
      int(500)
      ["mainingDocument"]=>
      int(200)
      ["rang"]=>
      int(2)
      ["endStavka"]=>
      int(500)
      ["boss"]=>
      bool(false)
    }
    [10]=>
    object(Menedger)#12 (6) {
      ["dicrementcoffe"]=>
      int(20)
      ["stavka"]=>
      int(500)
      ["mainingDocument"]=>
      int(200)
      ["rang"]=>
      int(2)
      ["endStavka"]=>
      int(500)
      ["boss"]=>
      bool(false)
    }
    [11]=>
    object(Menedger)#13 (6) {
      ["dicrementcoffe"]=>
      int(20)
      ["stavka"]=>
      int(500)
      ["mainingDocument"]=>
      int(200)
      ["rang"]=>
      int(2)
      ["endStavka"]=>
      int(500)
      ["boss"]=>
      bool(false)
    }
    [12]=>
    object(Menedger)#14 (6) {
      ["dicrementcoffe"]=>
      int(20)
      ["stavka"]=>
      int(500)
      ["mainingDocument"]=>
      int(200)
      ["rang"]=>
      int(1)
      ["endStavka"]=>
      int(500)
      ["boss"]=>
      bool(false)
    }
    [13]=>
    object(Menedger)#15 (6) {
      ["dicrementcoffe"]=>
      int(20)
      ["stavka"]=>
      int(500)
      ["mainingDocument"]=>
      int(200)
      ["rang"]=>
      int(1)
      ["endStavka"]=>
      int(500)
      ["boss"]=>
      bool(false)
    }
    [14]=>
    object(Menedger)#16 (6) {
      ["dicrementcoffe"]=>
      int(20)
      ["stavka"]=>
      int(500)
      ["mainingDocument"]=>
      int(200)
      ["rang"]=>
      int(1)
      ["endStavka"]=>
      int(500)
      ["boss"]=>
      bool(false)
    }
    [15]=>
    object(Menedger)#17 (6) {
      ["dicrementcoffe"]=>
      int(20)
      ["stavka"]=>
      int(500)
      ["mainingDocument"]=>
      int(200)
      ["rang"]=>
      int(1)
      ["endStavka"]=>
      int(500)
      ["boss"]=>
      bool(false)
    }
    [16]=>
    object(Menedger)#18 (6) {
      ["dicrementcoffe"]=>
      int(20)
      ["stavka"]=>
      int(500)
      ["mainingDocument"]=>
      int(200)
      ["rang"]=>
      int(1)
      ["endStavka"]=>
      int(500)
      ["boss"]=>
      bool(false)
    }
    [17]=>
    object(Menedger)#19 (6) {
      ["dicrementcoffe"]=>
      int(20)
      ["stavka"]=>
      int(500)
      ["mainingDocument"]=>
      int(200)
      ["rang"]=>
      int(1)
      ["endStavka"]=>
      int(500)
      ["boss"]=>
      bool(false)
    }
    [18]=>
    object(Menedger)#20 (6) {
      ["dicrementcoffe"]=>
      int(20)
      ["stavka"]=>
      int(500)
      ["mainingDocument"]=>
      int(200)
      ["rang"]=>
      int(1)
      ["endStavka"]=>
      int(500)
      ["boss"]=>
      bool(false)
    }
    [19]=>
    object(Menedger)#21 (6) {
      ["dicrementcoffe"]=>
      int(20)
      ["stavka"]=>
      int(500)
      ["mainingDocument"]=>
      int(200)
      ["rang"]=>
      int(1)
      ["endStavka"]=>
      int(500)
      ["boss"]=>
      bool(false)
    }
    [20]=>
    object(Menedger)#22 (6) {
      ["dicrementcoffe"]=>
      int(20)
      ["stavka"]=>
      int(500)
      ["mainingDocument"]=>
      int(200)
      ["rang"]=>
      int(1)
      ["endStavka"]=>
      int(500)
      ["boss"]=>
      bool(false)
    }
    [21]=>
    object(Menedger)#23 (6) {
      ["dicrementcoffe"]=>
      int(20)
      ["stavka"]=>
      int(500)
      ["mainingDocument"]=>
      int(200)
      ["rang"]=>
      int(3)
      ["endStavka"]=>
      int(500)
      ["boss"]=>
      bool(false)
    }
    [22]=>
    object(Menedger)#24 (6) {
      ["dicrementcoffe"]=>
      int(20)
      ["stavka"]=>
      int(500)
      ["mainingDocument"]=>
      int(200)
      ["rang"]=>
      int(3)
      ["endStavka"]=>
      int(500)
      ["boss"]=>
      bool(false)
    }
    [23]=>
    object(Menedger)#25 (6) {
      ["dicrementcoffe"]=>
      int(20)
      ["stavka"]=>
      int(500)
      ["mainingDocument"]=>
      int(200)
      ["rang"]=>
      int(3)
      ["endStavka"]=>
      int(500)
      ["boss"]=>
      bool(false)
    }
    [24]=>
    object(Menedger)#26 (6) {
      ["dicrementcoffe"]=>
      int(20)
      ["stavka"]=>
      int(500)
      ["mainingDocument"]=>
      int(200)
      ["rang"]=>
      int(1)
      ["endStavka"]=>
      int(500)
      ["boss"]=>
      bool(true)
    }
    [25]=>
    object(Market)#27 (6) {
      ["dicrementcoffe"]=>
      int(15)
      ["stavka"]=>
      int(400)
      ["mainingDocument"]=>
      int(150)
      ["rang"]=>
      int(1)
      ["endStavka"]=>
      int(400)
      ["boss"]=>
      bool(false)
    }
    [26]=>
    object(Market)#28 (6) {
      ["dicrementcoffe"]=>
      int(15)
      ["stavka"]=>
      int(400)
      ["mainingDocument"]=>
      int(150)
      ["rang"]=>
      int(1)
      ["endStavka"]=>
      int(400)
      ["boss"]=>
      bool(false)
    }
  }
  ["engeenerA"]=>
  NULL
  ["engeenerB"]=>
  NULL
  ["engeenerC"]=>
  NULL
  ["engeenerBoss"]=>
  NULL
  ["marketB"]=>
  NULL
  ["marketC"]=>
  NULL
  ["marketBoss"]=>
  NULL
  ["analiticA"]=>
  NULL
  ["analiticB"]=>
  NULL
  ["analiticC"]=>
  NULL
  ["analiticBoss"]=>
  NULL
}