#cs ----------------------------------------------------------------------------
有1000个条目,
每个条目的内容检索时间为t1毫秒;每检索t2个条目,暂停检索t3毫秒;
软件每运行t4毫秒,暂停运行t5毫秒后继续运行.问:1000个条目,需要多长时间(秒)能检索完.
#ce ----------------------------------------------------------------------------
Global $tHowLong,$tUsed,$iItems
;$tHowLong 临时经过时间
;$tUsed 所用的时间毫秒
;$iItems 条目数量
Global $t1,$t2,$t3,$t4,$t5
$t0="题目作者"
;$t1t2t3t4t5 $t0出的变量,一般人不能理解
Dim $i
;$i 临时循环变量
sinit() ;初始化
For $i=1 to $iItems ;循环$iItems次数来计算
IndexItems() ;内容检索
If Mod($i,2)=0 Then
lfPause($t3,1) ;每检索t2个条目,暂停检索t3毫秒;
EndIf
Next
MsgBox(0,$iItems&"条计算时间为",$tUsed / 1000) ;得到秒以和题目的问题相同单位
Func sInit($Fuckingt1t2t3t4t6="这种变量名就像在大便里挑黄豆")
;初始化所有变量
$tUsed=0
$tHowLong=0
$iItems=1000
$t1=1
$t2=2
$t3=3
$t4=4
$t5=5
EndFunc
Func lfPause($iTime,$AddLong);暂停
;题目上的 暂停运行 是否计算时间
;如果要计算时间那么$t4<$t5的话,软件永远处于暂停状态
;所以我只能理解为不计算
If $AddLong=1 Then
$tHowLong=$tHowLong+$iTime
EndIf
$tUsed=$tUsed+$iTime
EndFunc
Func IndexItems()
$tHowLong=$tHowLong+$t1
;软件每运行t4毫秒,暂停运行t5毫秒后继续运行
If $tHowLong / $t4 >0 Then ;如果软件运行时间大于$t4则增加计算时间
lfPause(Int($tHowLong / $t4)*$t5,0)
$tHowLong=Mod($tHowLong,$t4);重置软件运行时间计数变量
EndIf
$tUsed=$tUsed+$t1
EndFunc
|