2016-11-29 9 views
1

私は3つの操作に従って進歩しています。 最初の操作には10秒、2番目の操作には15秒、3番目の操作には15秒かかります。 進捗率は次の式を用いて算出することができる:TOTALTIMEは10 + 15 + 15 = 40秒である潜在的なエラーに応じて進行率を再計算

elapsedTime/totalTime * 100% 

(例えば、最初の操作は、より3秒かかり、それが完了するまでの時間が13秒である)は各動作は、各動作の終わりで計算されたエラーを持つことができると仮定する。 進捗率を再計算する新しい方法は何ですか。進捗状況は常に進んでいます(ゆっくり進むが後ろには進まない)?

私の進歩の最大の誤りは、あなたがフリーズする必要があり、全体的な進捗状況は常に前進する進歩のための

totalTime + error_time 

に追加した分だけtotalTimeを増やす100

+0

私はプロセスごとの時間を見積もってみることさえありません。たぶん遅いコンピュータがこのツールを実行しますが、時間がかかります。これは正確ではありません!私はむしろプロセスの数でパーセンテージを分割したいと思います。確かに、すべてのパーセンテージが同じように取られたわけではありません – C4u

+1

また、フォールバックプロセスをプロセスの合計数に追加できます。このようにして、進歩はちょうど遅くなるが、後退することはない。 – C4u

答えて

1

両側にerror_Timeを追加した場合はどうなりますか?私はこのようなものを意味する:

(op1+ error_Time_op1 + op2 +op3)/(totalTime + error_Time_op1) * 100% 
1

に設定されていますエラーが発生したときの値を表示し、新しく計算されたパーセンテージが記憶された値を超えたときにのみ更新を進める。あなたは、操作2の終わりである

画像:

totalTime = 40; 
elapsedTime = 25; 

old_progress = 25/40 * 100 [62.5%] 

エラーが発生します。

errorTime = 3; 
totalTime = 40 + errorTime ; 
elapsedTime = 25; 

new_progress = 25/43 * 100 [58.1%] 

new_progress値がold_progess値を超えるまでになりましたあなたが待ってから、再度更新することができます。このようにして後退しません

+0

これはパーセンテージを低く設定します。それでも@MartinaLabMathがこれを持っていればいいですか? – C4u

+0

@ C4u投稿の残りの部分を書くのにはしばらく時間がかかりました。 –

関連する問題