当前位置:IT认证>BASIC题库

问题:[问答题]

[问答题] 注意:下面出现的“考生文件夹”均为C:wexam25160002。 在考生文件夹下有一个工程文件sjt5.vbp,在该工程中为考生提供了一个通用过程,考生可以直接调用。请在窗体上画一个名称为Text1的文本框;画一个名称为C1,标题为“计算”的命令按钮;再画两个单选按钮,名称分别为Op1和op2,标题分别为“求200到300之间能被7整除的数之和”和“求200到300之间能被3整除的数之和”,如图27-5所示。 请编写适当的事件过程,使得在运行时,选中一个单选按钮,再单击“计算”按钮,就可以按

  

参考答案:

解析:在窗体上建立控件后,先设置控件属性,再事件过程。
程序中提供的事件过程用来求200~300之间能被n个整除的数的和,这里n是传递给Function过程的参数,该Function过程返回求得和。
文本框用Text属性来接收用户的输入。按钮的标题由Caption属性来设置,单击按钮触发的是Click事件。为了检测单选按钮被选中,可以通过检测其Value属性来实现,当Value为True时,表示该单选按钮被选中,否则未被选中。在按钮的Click事件过程中通过条件语句来调用Function过程,实现程序要求的功能。解题步骤:
第一步:建立界面并设置控件属性。程序中用到的控件及其属性见表27-5。

表27-5
控件属性设置值文本框Name
TextText1
空白按钮Name
CaptionC1
“计算”单选按钮Name
CaptionOp1
“求200到300之间能被7整除的数之和”单选按钮Name
Caption“求200到300之间能被3整除的数之和”第二步:编写程序代码。
程序提供的代码:
PrivateFunctionfun(aAsInteger)AsInteger
s%=0
Fori%=200To300
IfInt(i%/a)=i%/aThen
s%=s%+i%
EndIf
Next
fun=s%
EndFunction
PrivateSubForm_Unload(CancelAsInteger)
Open"out5.txt"ForOutputAs#1
Print#1,Opl.Value,Op2.Value,Textl.Text
Close#1
EndSub

PrivateFunctionfun(aAsInteger)AsInteger
s%=0
Fori%=200To300
IfInt(i%/a)=i%/aThen
s%=s%+i%
EndIf
Next
fun=s%
EndFunction
PrivateSubC1_Click()
IfOpl.ValueThen
Text1=fun(7)
EndIf
IfOp2.ValueThenText1=fun(3)
EndSub
PrivateSubForm_Unload(CancelAsInteger)
Open"out5.txt"ForOutputAS#1
Print#1,Opl.Value,Op2.Value,Text1.Text
Close#1
EndSub
第三步;调试并运行程序。
第四步:按题目要求存盘。

  参考解析

在窗体上建立控件后,先设置控件属性,再事件过程。程序中提供的事件过程用来求200~300之间能被n个整除的数的和,这里n是传递给Function过程的参数,该Function过程返回求得和。文本框用Text属性来接收用户的输入。按钮的标题由Caption属性来设置,单击按钮触发的是Click事件。为了检测单选按钮被选中,可以通过检测其Value属性来实现,当Value为True时,表示该单选按钮被选中,否则未被选中。在按钮的Click事件过程中通过条件语句来调用Function过程,实现程序要求的功能。解题步骤:第一步:建立界面并设置控件属性。程序中用到的控件及其属性见表27-5。表27-5控件属性设置值文本框NameTextText1空白按钮NameCaptionC1“计算”单选按钮NameCaptionOp1“求200到300之间能被7整除的数之和”单选按钮NameCaption“求200到300之间能被3整除的数之和”第二步:编写程序代码。程序提供的代码:PrivateFunctionfun(aAsInteger)AsIntegers%=0Fori%=200To300IfInt(i%/a)=i%/aThens%=s%+i%EndIfNextfun=s%EndFunctionPrivateSubForm_Unload(CancelAsInteger)Open"out5.txt"ForOutputAs#1Print#1,Opl.Value,Op2.Value,Textl.TextClose#1EndSub参考答案:PrivateFunctionfun(aAsInteger)AsIntegers%=0Fori%=200To300IfInt(i%/a)=i%/aThens%=s%+i%EndIfNextfun=s%EndFunctionPrivateSubC1_Click()IfOpl.ValueThenText1=fun(7)EndIfIfOp2.ValueThenText1=fun(3)EndSubPrivateSubForm_Unload(CancelAsInteger)Open"out5.txt"ForOutputAS#1Print#1,Opl.Value,Op2.Value,Text1.TextClose#1EndSub第三步;调试并运行程序。第四步:按题目要求存盘。

微信端