Курсовая работа: Имитационное моделирование работы парикмахерской
floatp 1[]={0.05, 0.05, 0.05, 0.05, 0.05, 0.2, 0.2, 0.2, 0.15};
# defineC (125*125*125*125*5) //объявление мультипликативного конгруэнтного метода, которое описывается в п.1.3.
# definen 2 // общее число парикмахеров
# defineT (8*60*30) // период моделирования (в мин.)
2. Генерация мультипликативным конгруэнтным методом псевдослучайной последовательности чисел:
floatrand(void) //генерация псевдослучайной последовательности с равномерным распределением
{
static unsigned long int u=C;
// static – модификатор для того, чтобы локальная переменная u сохраняла значение между двумя последующими обращениями к этой функции
u=u*C; //С - константа
returnu/float(0xfffffffful); // (0xfffffffful) – максимально беззнаковые целое число, заданное в шестнадцатеричной форме.
}
3. Вызов функций моделирования:
//функция моделирования показательного распределения, описанная в п.1.7.
unsigned int discrete( float p[ ])
{
float s, r;
int k=0;
s=p[ ];
r=rand( );
while (s<r)
{
k++;
s+=s+p[k];
}
returnk;
}
4. Инициализация
unsigned long int i,j,cost, R,r,n,k;