16.已知數(shù)軸上有一條長度為 L(L為偶數(shù))的線段,左端點在原點,右端點在坐標(biāo) L處。有 n個不計體積的小球在線段上,開始時所有的小球都處在偶數(shù)坐標(biāo)上,速度方向向右,速度大小為 1單位長度每秒。當(dāng)小球到達(dá)線段的端點(左端點或右端點)的時候,會立即向相反的方向移動,速度大小仍然為原來大小。當(dāng)兩個小球撞到一起的時候,兩個小球會分別向與自己原來移動的方向相反的方向,以原來的速度大小繼續(xù)移動。小王設(shè)計了一個模擬碰撞的小球的程序,其功能為:在文本框 Text1、Text2和 Text3中分別輸入線段長度 L、小球數(shù)量 n以及運(yùn)動時間 t,在文本框 Text4 中輸入 n個小球的初始坐標(biāo)位置,單擊“求解”按鈕 Command1,計算 t秒之后,各個小球的位置,并在標(biāo)簽框 Label5 上顯示結(jié)果。 (1)實現(xiàn)上述功能的VB程序如下,請在橫線處填入合適代碼。 Private Sub Command1_Click ( ) DimnAsInteger,LAs Integer,tAsInteger Dim i As Integer,j As Integer,k As Integer Dim s As String,result AsString Dim a(1 To 50)As Integer,dir(1 To 50)As Integer L=Val(Text1.Text):n=Val(Text2.Text):t=Val(Text3.Text) s=Text4.Text s=s+″.″:tmp=0:k=0 For i=1 ToLen(s) ch=Mid(s,i,1) If ch>=″0″And ch<=″9″Then tmp=tmp*10+Val(ch) Else k=k+1 a(k)=tmp:dir(k)=1 tmp=0 End If Next i For i=1 To t For j=1 To n If
Then dir(j)=-dir(j) Else For c=1 To n If
Then dir(c)=(-1)*dir(c) dir(j)=(-1)* dir(j) End If Next c End If
Next j Next i For i=1 To n result=result+Str(a(i)) Nexti Label5.Caption=Str(t)+″秒后小球的位置為:″+result End Sub (2)若文本框Text3中輸入的內(nèi)容為“4”,單擊“求解”按鈕后,在標(biāo)簽框Label5 中顯示的結(jié)果為