【说明8.1】 以下程序的功能是:生成20个200~300之间的随机整数,输出其中能被5整除的数并求出它们的和。 【程序代码8.1】 Private Sub Command1_Click() For i=1 To 20 x=Int( (1) *200+100) If (2) =0 Then Print x S=S+ (3) End If Next i Print"Sum=";S End Sub 【说明8.2】 程序8.2运行后,单击窗体,则在窗体上显示的内容是:a= (4) 和b= (5) 。 【程序代码8.2】 Private Sub Form_Click() Dim a As Integer,b As Integer a=20:b=50 p1 a,b p2 a,b p3 a,b Print"a=";a,"b=";b End Sub Sub p1(x As Integer, ByValy As Integer) x=x+l0 y=y+20 End Sub Sub p2(ByVal×As Integer, y As Integer) x=x+l0 y=y+20 End Sub Sub p3(ByVal×As Integer, ByVal y As Integer) x=x+10 y=y+20 End Sub
参考答案:Rnd或Rnd(n),其中n为任意整数
解析:(2)x Mod 5或Int(x/5)-x/5或x/5-Int(x/5)或CInt(x/5)-x/5或x/5-CInt(x/5)或Round(x/5)-x/5或x/5- Round(x/5)或x-(x\5)*5或(x\5)*5-x或Fix(x/5)-x/5或x/5-Fix(x-5) (3)x (4)30 (5)70 x用来存放200~300之间的随机整数,因此,赋给x的表达式是Int(Rnd*200+100),即(1)空填“Rnd”;下面的if语句用来判断能被5整除的数,因此(2)空填“x Mod 5”;S用来表示能被5整除数的累加和,因此(3)空填“x”。 程序5.2主要考过程参数的值参(传值)和变参(传地址)概念。参数前有Byval限定词表示参数传递是传值,否则是传地址。参数传递是传值时,被调过程不能改变主调过程的参数值;而参数传递是传地址时,被调过程改变主调过程的参数值。本题中,过程P1的第一个参数是传地址,它在过程中的变化将带到主调程序,而第二个参数是传值,当过程执行完后,主调过程的参数值不变,因此p1 a,b这条语句执行后,a的值是30,b的值是50;同理,语句p2 a,b执行后,a的值是30, b的值是70;语句p3 a,b执行后,a的值仍是30,b的值仍是70。