(1)考生文件夹下有工程文件sjt3.vbp。窗体的设计界面、各控件初始属性设置及有关代码见窗体文件。程序运行时的功能是,当单击“选择课程”按钮时,如果在List1列表框中没有选中任何列表项,则程序跳出当前过程;如果在Liist1列表框中有一至多个列表项被

admin2019-05-21  18

问题 (1)考生文件夹下有工程文件sjt3.vbp。窗体的设计界面、各控件初始属性设置及有关代码见窗体文件。程序运行时的功能是,当单击“选择课程”按钮时,如果在List1列表框中没有选中任何列表项,则程序跳出当前过程;如果在Liist1列表框中有一至多个列表项被选中时,则依次分别将其加入到右侧的List2列表框中,并同时从Ljst1中删除。下图所示的是某次操作结果的示意图。
   
    程序已经给出,但不完整,请将其中的注释符去掉,把?改为正确的内容,以实现上述程序功能。
    注意:考生不得修改窗体文件中已经存在的控件和程序,最后程序按原文件名存盘。
    (2)考生文件夹下有工程文件sjt4.vbp。窗体的设计界面、各控件初始属性及有关代码见窗体文件。程序的功能是,程序运行时能自动调用Start过程,产生10个1一100的随机整数保存到数组a中,并将它们显示到文本框Text1中,成为原始数据序列,用户可在文本框Text3中输入一个数据,按下回车键后,程序开始在数组a中查找该数据是否存在,如果不存在,则出现消息对话框显示“未找到该数据”;如果存在,则将该数据从数组a中删除(删除的方法是将该数据所在元素的后面所有元素依次前移一个位置),删除结束后,将数组元素的个数减l,最终将删除后的结果显示到文本框Text2中,并将文本框Text3设置为不可用。
    单击“重新开始”按钮,则调用Start过程重新对数组a以及各控件的内容进行初始化,并形成新的一组数据序列,用户可以重复以上相关操作。
    程序的运行结果示意图如下图所示。
   
    程序已经给出,但不完整,请将其中的注释符去掉,把?改为正确的内容,以实现上述程序功能。
    注意:考生不得修改窗体文件中已经存在的控件和程序,最后程序按原文件名存盘。

选项

答案(1)【操作步骤】 步骤1:打开本题工程文件。 步骤2:打开代码编辑窗口,去掉程序中的注释“’”,将问号改为正确的内容。 参考答案(画线部分是需要填入的内容) Private Sub Command1_Click() Dim i As Integer If List1.SelCount=0 Then Exit Sub End If i=0 Do While i<=List1.ListCount-1 If List1.Selected(i)=True Then List2.Addhem(List1.List(i)) List1.Removehem(i) Else i=i+1 End If Loop End Sub 步骤3:调试并运行程序,关闭程序后按题目要求存盘。 (2)【操作步骤】 步骤1:打开本题工程文件。 步骤2:打开代码编辑窗口,去掉程序中的注释“’”,将问号改为正确的内容。 参考答案(画线部分是需要填入的内容) Option Base 1 Const N As Integer=10 Dim a() As Integer Private Sub Start() Dim i As Integer ReDim a(N)As Integer Text1.Text="" Text2.Text=”” Text3.Text="" Text3.Enabled=True Randomize For i=1 To N a(i)=Int(Rnd*100+1) Text1.Text=Text1.Text&a(i)&"" Next i End Sub Private Sub Form_Load() Call Start End Sub Private Sub Commandl_Click() Call Start End Sub Private Sub Text3_KeyPress(KeyAscii As Integer) Dim m As Integer Dim i As Integer,j As Integer m=val(Text3.Text) If KeyAscii=13 Then For i=1 To N If a(i)=m Then Exit For End If Next i If i=N+1 Then MsgBox("未找到该数据") Else For j=i+1 To N a(j-1)=a(j) Next j ReDim Preserve (N一1) For j=1 To N—1 Text2.Text=Text2.Text&a(j)&"" Next j Text3.Enabled=FalBe End If End If End Sub 步骤3:调试并运行程序,关闭程序后按题目要求存盘。

解析 (1)SelCount属性用于统计List1列表框中共有几个列表项被选中。例如,List1.SelCount=2表示有两个被选中的列表项,List1.SelCount=0表示未有列表项被选中。List是一个一维数组,数组中的值就是在执行时看到的列表项。设计时可以在属性窗口中通过List属性建立列表项,运行时对List数组从0到ListCount-1依次取值,可以获得所有项。Selected属性是一个与List数组中的各个元素相对应的一维数组,记录List数组中每个项目是否被选中。例如,List(1)被选中,则Selected(1)=True,否则Selected(1)=False。通过对Selected属性返回值的判断,得知列表项是否被选中,从而进行添加操作。
    (2)本题主要考查对数组运用的熟练程度。数组一定要事先定义才能使用,Start过程是对数组的初始化,把随机生成的数据存入数组a中。文本框传入的数据都是字符型,使用时需要转化成相对应的类型。Text3_KeyPress过程利用for循环判断Text3中的数据是否在数组a中,若存在,退出for循环,然后把i+1以及后面的数依次向前移一个位置,最后数组长度减1;若不存在,则弹出“未找到该数据”消息框。重新分配动态数组时,数组的内容将被清除,但如果ReDim中使用了Preserve选择项,则不清除数组内容。
转载请注明原文地址:https://jikaoti.com/ti/pSN0FFFM
0

相关试题推荐
最新回复(0)