Skip to content

Commit a624d89

Browse files
#TDP - 7 Fixed bug
1 parent 82d2fcb commit a624d89

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

ModelingSystemInfiniteQueue/ModelingInfinityQeueForm.cpp

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -222,8 +222,10 @@ System::Void ModelingSystemInfiniteQueue::ModelingInfinityQeueForm::Btn_exectuio
222222
double timeBeforeNextTask = getRandom_uniformRealDistribution(startInterrvalGetTask, endInteervalGetTask);
223223
double currentTime = 0;
224224
totalTimeWork = 0;
225+
225226
int middleCountPCWorking = 0;
226227
ModelingSystemInfinityQueuePC* PCs[3] = { &PC_2, &PC_3, &PC_1 };
228+
//double lambda = 0;
227229
while (true)
228230
{
229231
if (currentTime >= timeBeforeNextTask && countTask > 0)
@@ -232,6 +234,7 @@ System::Void ModelingSystemInfiniteQueue::ModelingInfinityQeueForm::Btn_exectuio
232234
//totalTimeReceiptsTasks += timeBeforeNextTask;
233235
timeBeforeNextTask = std::round(getRandom_uniformRealDistribution(startInterrvalGetTask, endInteervalGetTask));
234236
currentTime = 0;
237+
//lambda += timeBeforeNextTask;
235238
}
236239
PC_1.computitionPC(PCs);
237240
PC_2.computitionPC(NULL);
@@ -253,7 +256,7 @@ System::Void ModelingSystemInfiniteQueue::ModelingInfinityQeueForm::Btn_exectuio
253256
countTaskInQueueAfterGetAllTaskFirstPC = PC_1.listTimeExecutionTasksPC.size();
254257
countTaskInQueueAfterGetAllTaskSecondPC = PC_2.listTimeExecutionTasksPC.size();
255258
countTaskInQueueAfterGetAllTaskThirdPC = PC_3.listTimeExecutionTasksPC.size();
256-
break;
259+
break;//Óäàëèòü, åñëè íàäî ïðîäîëæèòü ðàáîòó ïîñëå ïîëó÷åíèå âñåõ çàäà÷
257260
}
258261

259262
totalTimeWork++;
@@ -272,8 +275,10 @@ System::Void ModelingSystemInfiniteQueue::ModelingInfinityQeueForm::Btn_exectuio
272275
int maxTimeQueuePC = std::max(PC_1.getMaxTimeQueuePC(), std::max(PC_2.getMaxTimeQueuePC(), PC_3.getMaxTimeQueuePC()));
273276
int maxTimeWaitPC = std::max(PC_1.getTotalTimeWaitPC(), std::max(PC_2.getTotalTimeWaitPC(), PC_3.getTotalTimeWaitPC()));
274277

278+
int middleQueue = 0;
279+
if((PC_1.getCountQueuePC() + PC_2.getCountQueuePC() + PC_3.getCountQueuePC()) != 0)
280+
middleQueue =(PC_1.getTotalTimeWaitPC() + PC_3.getTotalTimeWaitPC() + PC_3.getTotalTimeWaitPC()) / (PC_1.getCountQueuePC()+ PC_2.getCountQueuePC() + PC_3.getCountQueuePC());
275281

276-
int middleQueue =(PC_1.getTotalTimeWaitPC() + PC_3.getTotalTimeWaitPC() + PC_3.getTotalTimeWaitPC()) / (PC_1.getCountQueuePC()+ PC_2.getCountQueuePC() + PC_3.getCountQueuePC());
277282
int middleWait = (PC_1.getTotalTimeWaitPC() + PC_3.getTotalTimeWaitPC() + PC_3.getTotalTimeWaitPC())/ 3;
278283

279284
double middleBusyTime = (PC_1.getTotalTimeExectuionTasksPC() + PC_2.getTotalTimeExectuionTasksPC() + PC_3.getTotalTimeExectuionTasksPC()) / 3.0;
@@ -287,7 +292,10 @@ System::Void ModelingSystemInfiniteQueue::ModelingInfinityQeueForm::Btn_exectuio
287292
lbl_total->Text += "\nÌàêñ âðåìÿ î÷åðåäè îäíîé èç ÝÂÌ: " + ((maxTimeQueuePC) / 60).ToString() + " ÷. " + ((maxTimeQueuePC) % 60).ToString() + " ìèí.";
288293
lbl_total->Text += "\nÌàêñ âðåìÿ ïðîñòîÿ îäíîé èç ÝÂÌ: " + ((maxTimeWaitPC) / 60).ToString() + " ÷. " + ((maxTimeWaitPC) % 60).ToString() + " ìèí.";
289294

290-
lbl_total->Text += "\n Àáñîëþòíàÿ ïðîïóñêíàÿ ñïîñîáíîñòü: " + (PC_1.getTimeExectuinOneTask() + PC_2.getTimeExectuinOneTask() + PC_3.getTimeExectuinOneTask() / 3) + "\n";
295+
// (lambda / Convert::ToInt32(numericUpDown1->Text))
296+
//
297+
//((PC_1.getTimeExectuinOneTask() + PC_2.getTimeExectuinOneTask() + PC_3.getTimeExectuinOneTask()) / 3)
298+
lbl_total->Text += "\n Àáñîëþòíàÿ ïðîïóñêíàÿ ñïîñîáíîñòü: " + ((PC_1.getTimeExectuinOneTask() + PC_2.getTimeExectuinOneTask() + PC_3.getTimeExectuinOneTask()) / 3) + "\n";
291299

292300
lbl_total->Text += "\n Êðàòêàÿ ñâîäêà îá ýôôåêòèâíîñòè:\n---\n";
293301
if (middleQueue > totalTimeWork * 0.3)

0 commit comments

Comments
 (0)