Контрольная работа: Имитационное моделирование на основании предварительно установленных зависимостей
enter_time_=time_to(); // Узнаем, когда зайдет следующий?
i=1; // Вошедший подходит к 1-й кассе
INDPAS=1; // Его еще не обслуживают
do
{
if( tau[i]<=0 ) //Если касса свободна, ставим пассажира на
{ //обсл-е и узнаем, сколько ему стоять у кассы
tau[i]=_tau();
INDPAS=0; //Укажем, что пассажира обслуживают
}
i++; // Подходим к следующей кассе
}while((i<=m) && (INDPAS==1));
if( INDPAS==1 ) // Если клиент не обслужен, отмечаем это
refuse++;
if( INDPAS==0) // Если клиент обслужен, отмечаем это
serve++;
}
}
stand=0; // Пока в очереди никто не стоит
i=1; // Начинаем с первой кассы
do
{
if( tau[i]>0 ) // Если время обсл-я не равно нулю, значит
stand++; // у кассы кто-то стоит
i++; // Смотрим у следующей кассы
}while( i<=m );
serve-=stand; // Корректируем кол-во обслуженных
t_free_av=(float)t_free/m; // Вычислим ср. время простоя
serve_av=(float)serve/enter; // Вычислим ср. % обслуженных