//////////////////////////////////////////////////////////////////////////// // Model MODEL3.CPP SIMLIB/C++ // // Ukázkový model obslužného střediska s 5 místy // #include "simlib.h" // deklarace globálních objektů Store Box("Linka",5); Histogram Tabulka("Tabulka",0,5,20); class Zakaznik : public Process { // třída zákazníků double Prichod; // atribut každého zákazníka int kolik; void Behavior() { // --- popis chování zákazníka --- Prichod = Time; // čas příchodu zákazníka kolik = 1 + int(3*Random()); // celé číslo 1 .. 3 Enter(Box,kolik); // obsazení zařízení Wait(10); // obsluha Leave(Box,kolik); // uvolnění Tabulka(Time-Prichod); // doba obsluhy a čekání } public: Zakaznik() { Activate(); } // konstruktor aktivuje }; // Zakaznik class Generator : public Event { // generátor zákazníků void Behavior() { // --- popis chování generátoru --- new Zakaznik; // nový zákazník Activate(Time+Exponential(1e3/150)); // interval mezi příchody } public: Generator() { Activate(); } // konstruktor aktivuje }; int main() { Print(" MODEL3 - test SIMLIB\n"); SetOutput("model3.out"); Init(0,1000); // inicializace experimentu, čas bude 0..1000 new Generator; // generátor zákazníků Run(); // simulace Box.Output(); // tisk výsledků Tabulka.Output(); return 0; } // konec