p align="justify">} void TestQueueK1 ()//перевірка: чи є заявки в черзі каналу
{(queueK1.QueueSize gt; 0)
{. Free=false; .Depart ();=Sim_Time + random.Next (7) + 7;
}
} void GoIn ()//подія надходження заявки
{_ Value ++;//збільшуємо число надійшли транзактов (кількість заявок всіх типів)
//якщо пристрій вільно, то займаємо його для поточної заявки
queueK1.Queue (); ((K1.Free == true) amp; amp; (queueK1.QueueSize gt; 0))
{. Depart () ;. Seize ();
//плануємо час обробки в пристрої
timeReleaseK1=Sim_Time + Generate_Interval_tevm1 (t1K1, t2K1);
}
//плануємо час надходження наступної заявки [0] .Time=Sim_Time + Generate_Interval_tgen (tgen1, tgen2);
//перевірка: якщо заявка оброблена в каналі перед обслуг, то вона передається однією з мініЕВМ
if ((timeReleaseK1 lt; EventsArray [0] .Time) amp; amp; (K1.Free == false))
{. Release ();//звільняємо канал ((queueEVM1.QueueSize == 10) amp; amp; (queueEVM2.QueueSize == 10) amp; amp; (queueEVM3.QueueSize == 10 ))
{_ Otkasov ++;
//dataGridView2 [u, 1] .Value=takt_Mod_Vremeni;
//u ++; ();
}
//перевірка на меншу чергу
if ((queueEVM1.QueueSize lt;=queueEVM2.QueueSize) amp; amp; (queueEVM1.QueueSize lt;=queueEVM3.QueueSize))
{. Queue (); (EVM1.Free == true)
{. Seize () ;. Depart (); [1] .Time=Sim_Time + t2EVM123;
} ();
} ((queueEVM2.QueueSize lt;=queueEVM1.QueueSize) amp; amp; (queueEVM2.QueueSize lt;=queueEVM3.QueueSize))
{. Queue (); (EVM2.Free == true)
{. Seize () ;. Depart (); [2] .Time=Sim_Time + t2EVM123;
} ();
} ((queueEVM3.QueueSize lt;=queueEVM1.QueueSize) amp; amp; (queueEVM3.QueueSize lt;=queueEVM2.QueueSize))
{. Queue (); (EVM3.Free == true)
{. Seize () ;. Depart (); [3] .Time=Sim_Time + t2EVM123;
} ();
}
}
} void GoOut ()//подія догляду заявки
{_Process ++;//збільшуємо число оброблених транзактов
EventsArray [next_event_type] .Time=1.0e + 30f;
//звільнення ЕОМ ((next_event_type == 1) amp; amp; (EVM1.Free == false))
{. Release (); (queueEVM1.QueueSize gt; 0)
{. Depart () ;. Seize (); [1] .Time=Sim_Time + t2EVM123;
}
} ((next_event_type == 2) amp; amp; (EVM2.Free == false))
{. Release (); (queueEVM2.QueueSize gt; 0)
{. Depart () ;. Seize (); [2] .Time=Sim_Time + t2EVM123;
}
} ((next_event_type == 3) amp; amp; (EVM1.Free == false))
{. Release (); (queueEVM3.QueueSize gt; 0)
{. Depart () ;. Seize (); [3] .Time=Sim_Time + t2EVM123;
}
}
} void Tabl1 (out int queueSizeK1, out int queueSizeEVM1, out int queueSizeEVM2, out int queueSizeEVM3, bool FreeK1, out bool FreeEVM1, out bool FreeEVM2, out bool FreeEVM3, int kolOtkazov, out int timeObrVK1, out float timeReleaseK1, out float timeReleaseEVM1, float timeReleaseEVM2, out float timeReleaseEVM3, out int t2EVM123, out float timePostZ)
{= queueK1.QueueSize;=queueEVM1.QueueSize;=queueEVM2.QueueSize;=queueEVM3.QueueSize;=K1.Free;=EVM1.Free;=EVM2.Free;=EVM3.Free;= kol_Otkasov;=TimeObrVK1;=this.timeReleaseK1;=EventsArray [1] .Time;=EventsArray [2] .Time;=EventsArray [3] .Time; EVM123=this.t2EVM123;=EventsArray [0] .Time;
}
} void Start_Click (object sender, EventArgs e)
{
{queueSizeK1=0, queueSizeEVM1=0, queueSizeEVM2=0, queueSizeEVM3=0; FreeK1=true, FreeEVM1=true, FreeEVM2=true, FreeEVM3=true; timeObrVK1, t2EVM123; timeReleaseK1, timeReleaseEVM1, timeReleaseEVM2 , timeReleaseEVM3; kol_Otkazov=0; timePostZ;
int j=0;
//зчитування даних з форми
IM_System system=new IM_System () ;. ColumnCount=18;// кількість стовпців в dataGridView1.RowCount=2000;//додавання 2000 строкcolumnHeaderStyle=new DataGridViewCellStyle () ;. Fon...