////////////////////////////////////////////////////////////////////////////
// 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
syntax highlighted by Code2HTML, v. 0.9.1