@@ -31,19 +31,20 @@ System::Void ModelingSystemInfiniteQueue::ModelingInfinityQeueForm::setTextForLa
3131 int middleTimeQueueForOneTask = 1 ;
3232
3333 if (completeTask != 0 )
34- {
3534 middleTimeWorkForOneTask = std::round (totalTimeExectuionTasksCurPC / completeTask);
36- }
35+
3736 if (countQueue!=0 )
3837 middleTimeQueueForOneTask = std::round (totalTimeQueueCurPC / countQueue);
3938
39+ double percentQueue = (int )(double )(((double )totalTimeWaitCurPC / (double )totalTimeExectuionTasksCurPC) * 100.0 );
40+
4041 curLabel->Text = " Âðåìÿ íà âûïîëíåíèå âñåõ çàäà÷: " + (totalTimeExectuionTasksCurPC / 60 ).ToString () + " ÷. " + (totalTimeExectuionTasksCurPC % 60 ).ToString () + " ìèí.\n "
4142 + " Êîëè÷åñòâî âûïîëíåííûõ çàäà÷: " + completeTask + " \n "
4243 + " Êîëè÷åñòâî çàäà÷ îñòàâøèõñÿ â î÷åðåäè: " + countTaskInQueueAfterTask + " \n "
4344 + " Ñðåäíåå âðåìÿ âûïîëíåíèÿ \n íà îäíó çàäà÷ó : " + (middleTimeWorkForOneTask / 60 ).ToString () + " ÷. " + (middleTimeWorkForOneTask % 60 ).ToString () + " ìèí. \n "
4445 // + "Âñå âðåìÿ îæèäàíèÿ â î÷åðåäè: " + (totalTimeQueueCurPC / 60).ToString() + " ÷. " + (totalTimeQueueCurPC % 60).ToString() + " ìèí. \n"
4546 + " Ñðåäíåå âðåìÿ â î÷åðåäè: " + (middleTimeQueueForOneTask / 60 ).ToString () + " ÷. " + (middleTimeQueueForOneTask % 60 ).ToString () + " ìèí. \n "
46- + " Âðåìÿ ïðîñòîÿ: " + (totalTimeWaitCurPC / 60 ).ToString () + " ÷. " + (totalTimeWaitCurPC % 60 ).ToString () + " ìèí. \n ---- \n " ;
47+ + " Âðåìÿ ïðîñòîÿ: " + (totalTimeWaitCurPC / 60 ).ToString () + " ÷. " + (totalTimeWaitCurPC % 60 ).ToString () + " ìèí. " + percentQueue. ToString () + " % \n ---- \n " ;
4748 // " Ñðåäíåå êîëè÷åñòâî çàäà÷ ñêîïèâøèõñÿ\n â î÷åðåäè : " + maxCountTaskInQueueCurPC.ToString() + " çàäà÷ \n ---- \n";
4849
4950 if (totalTimeExectuionTasksCurPC == 0 )
@@ -53,13 +54,37 @@ System::Void ModelingSystemInfiniteQueue::ModelingInfinityQeueForm::setTextForLa
5354 if (totalTimeExectuionTasksCurPC == totalTimeWaitCurPC)
5455 curLabel->Text += " Ýôôåêòèâíîñòü ÝÂÌ ñðåäíÿÿ. \n Èñïîëüçóåòñÿ ëèøü íà ïîëîâèíó, \n ñëåäóåò ïîâûñèòü âåðîÿòíîñòü ïîïàäàíèÿ." ;
5556 else
56- if (maxTimeCurrentQueueCurPC > totalTimeExectuionTasksCurPC * 0.3 )
57- curLabel->Text += " Ýôôåêòèâíîñòü ÝÂÌ âûøå ñðåäíåãî. \n Äîëãîå âûïîëíåíèå, ðåêîìåíäóåòñÿ \n ïîíèçèòü âåðîÿòíîñòü ïîïàäàíèÿ\n èëè óìåíüøèòü âðåìÿ âûïîëíåíèÿ." ;
57+ {
58+ if (totalTimeWaitCurPC > totalTimeExectuionTasksCurPC * 0.3 )
59+ curLabel->Text += " Ýôôåêòèâíîñòü ÝÂÌ íèçêàÿ. \n Ñëèøêîì äîëãèé ïðîñòîé, \n ñëåäóåò ïîâûñèòü âåðîÿòíîñòü ïîïàäàíèÿ." ;
5860 else
59- if (totalTimeWaitCurPC > totalTimeExectuionTasksCurPC * 0.3 )
60- curLabel->Text += " Ýôôåêòèâíîñòü ÝÂÌ íèçêàÿ. \n Ñëèøêîì äîëãèé ïðîñòîé, \n ñëåäóåò ïîâûñèòü âåðîÿòíîñòü ïîïàäàíèÿ." ;
61- else
61+ {
62+ if (middleTimeQueueForOneTask > totalTimeExectuionTasksCurPC * 0.05 )
63+ {
64+
65+ if (middleTimeQueueForOneTask > totalTimeExectuionTasksCurPC * 0.2 )
66+ {
67+ curLabel->Text += " Ýôôåêòèâíîñòü ÝÂÌ íèçêàÿ. \n ÝÂÌ ïåðåãðóæåííà, ðåêîìåíäóåòñÿ \n ïîíèçèòü âåðîÿòíîñòü ïîïàäàíèÿ\n èëè óìåíüøèòü âðåìÿ âûïîëíåíèÿ." ;
68+ }
69+ else
70+ curLabel->Text += " Ýôôåêòèâíîñòü ÝÂÌ âûøå ñðåäíåãî. \n Äîëãîå âûïîëíåíèå, ðåêîìåíäóåòñÿ \n ïîíèçèòü âåðîÿòíîñòü ïîïàäàíèÿ\n èëè óìåíüøèòü âðåìÿ âûïîëíåíèÿ." ;
71+ }else
6272 curLabel->Text += " Ýôôåêòèâíîñòü ÝÂÌ íîðìàëüíàÿ. \n Èñïîëüçóåòñÿ â ïðåäåëàõ íîðìû." ;
73+ }
74+
75+ if (countTaskInQueueAfterTask > completeTask *0.25 )
76+ {
77+ if (countTaskInQueueAfterTask > completeTask * 0.5 )
78+ if (countTaskInQueueAfterTask >= completeTask)
79+ curLabel->Text += " \n Î÷åíü áîëüøîå êîëè÷åñòâî \n çàäà÷ â î÷åðåäè, ñëåäóåò âûïîëíèòü \n óâåëè÷åíèå ñêîðîñòè âûïîëíåíèÿ" ;
80+ else
81+ curLabel->Text += " \n Êîëè÷åñòâî \n çàäà÷ â î÷åðåäè îêîëî 50%, ñëåäóåò \n ïîíèçèòü âðåìÿ âûïîëíåíèÿ" ;
82+ else
83+ curLabel->Text += " \n Êîëè÷åñòâî \n çàäà÷ â î÷åðåäè (25-50)% ðåêîìåíäóåòñÿ \n ïîíèçèòü âðåìÿ âûïîëíåíèÿ" ;
84+ }
85+ else
86+ curLabel->Text += " \n Êîëè÷åòñâî çàäà÷ â î÷åðåäè ìåíåå 25%" ;
87+ }
6388 }
6489 curLabel->Text += " \n ---- \n " ;
6590}
@@ -384,8 +409,8 @@ System::Void ModelingSystemInfiniteQueue::ModelingInfinityQeueForm::Btn_exectuio
384409 if (listTimeExecutionTasksFirstPC.size () == 0 )
385410 totalTimeWaitFirstPC++;
386411
387- checkWorkPC (listTimeExecutionTasksSecondPC, currentTimeExecutionSecondPC, totalTimeExectuionTasksSecondPC, countCompleteSecondPC, maxCountTaskInQueueSecondPC, totalTimeQueueSecondPC, totalTimeWaitSecondPC,timeCurrentQueueSecondPC,maxTimeQueueSecondPC,countCompleteSecondPC );
388- checkWorkPC (listTimeExecutionTasksThirdPC, currentTimeExecutionThirdPC, totalTimeExectuionTasksThirdPC, countCompleteThirdPC, maxCountTaskInQueueThirdPC, totalTimeQueueThirdPC, totalTimeWaitThirdPC,timeCurrentQueueThridPC,maxTimeQueueThirdPC,countCompleteThirdPC );
412+ checkWorkPC (listTimeExecutionTasksSecondPC, currentTimeExecutionSecondPC, totalTimeExectuionTasksSecondPC, countCompleteSecondPC, maxCountTaskInQueueSecondPC, totalTimeQueueSecondPC, totalTimeWaitSecondPC,timeCurrentQueueSecondPC,maxTimeQueueSecondPC,countQueueSecondPC );
413+ checkWorkPC (listTimeExecutionTasksThirdPC, currentTimeExecutionThirdPC, totalTimeExectuionTasksThirdPC, countCompleteThirdPC, maxCountTaskInQueueThirdPC, totalTimeQueueThirdPC, totalTimeWaitThirdPC,timeCurrentQueueThridPC,maxTimeQueueThirdPC,countQueueThirdPC );
389414
390415 // logFile << " First PC : \n";
391416 // logFile << " totalTimeExectuionTasksFristPC = " << totalTimeExectuionTasksFristPC << " totalTimeWaitFirstPC = " << totalTimeWaitFirstPC << " currentTimeExecutionFirstPC =" << currentTimeExecutionFirstPC << "\n";
@@ -402,6 +427,7 @@ System::Void ModelingSystemInfiniteQueue::ModelingInfinityQeueForm::Btn_exectuio
402427 countTaskInQueueAfterGetAllTaskFirstPC = listTimeExecutionTasksFirstPC.size ();
403428 countTaskInQueueAfterGetAllTaskSecondPC = listTimeExecutionTasksSecondPC.size ();
404429 countTaskInQueueAfterGetAllTaskThirdPC = listTimeExecutionTasksThirdPC.size ();
430+ break ;
405431 }
406432
407433 totalTimeWork++;
@@ -442,18 +468,18 @@ System::Void ModelingSystemInfiniteQueue::ModelingInfinityQeueForm::Btn_exectuio
442468 lbl_total->Text += " \n Àáñîëþòíàÿ ïðîïóñêíàÿ ñïîñîáíîñòü: " + (timeExecutionOneTaskFirstPC + timeExecutionOneTaskSecondPC + timeExecutionOneTaskThirdPC / 3 ) + " \n " ;
443469
444470 lbl_total->Text += " \n\n Êðàòêàÿ ñâîäêà îá ýôôåêòèâíîñòè:\n ---\n " ;
445- if (middleQueue > totalTimeWork * 0.4 )
471+ if (middleQueue > totalTimeWork * 0.3 )
446472 lbl_total->Text += " Ñðåäíåå âðåìÿ î÷åðåäè âûñîêîå,\n ðåêîìåíäóåòñÿ ñíèçèòü íàãðóçêó\n ñ íàãðóæåííîé ÝÂÌ è ïîâûñèòü íà ìåíåå\n íàãðóæåííóþ \n (ñì. ñâîäêà äëÿ òåêóùåé ÝÂÌ)\n ---\n " ;
447473 else
448- lbl_total->Text += " Ñðåäíåå âðåìÿ î÷åðåäè íèçêîå \n , ÝÂÌ ðàáîòàþò õîðîøî \n ---\n " ;
474+ lbl_total->Text += " Ñðåäíåå âðåìÿ î÷åðåäè íå áîëüøîå \n , ÝÂÌ ðàáîòàþò õîðîøî \n ---\n " ;
449475
450- if (middleWait > totalTimeWork * 0.5 )
476+ if (middleWait > totalTimeWork * 0.3 )
451477 lbl_total->Text += " Ñðåäíåå âðåìÿ ïðîñòîÿ âûñîêîå, \n ÝÂÌ ïðàêòè÷åñêè íå ðàáîòàþò\n ---\n " ;
452478 else
453- if (middleWait > totalTimeWork * 0.3 )
479+ if (middleWait > totalTimeWork * 0.1 )
454480 lbl_total->Text += " Ñðåäíåå âðåìÿ ïðîñòîÿ ñðåäíåå, \n ÝÂÌ ÷àñòè÷íî ðàáîòàåò\n ---\n " ;
455481 else
456- lbl_total->Text += " Ñðåäíåå âðåìÿ ïðîñòîÿ íåáîëüøîå \n ÝÂÌ ðàáîòàþò â ñòàáèëüíîì ðåæèìå\n ---\n " ;
482+ lbl_total->Text += " Ñðåäíåå âðåìÿ ïðîñòîÿ íèçêîå \n ÝÂÌ ðàáîòàþò â ñòàáèëüíîì ðåæèìå\n ---\n " ;
457483
458484 // logFile.close();
459485}
0 commit comments