在考生文件夹下有一个工程文件sjt5.vbp,其窗体上有三个标签、三个文本框和两个命令按钮,均使用默认名称。程序的功能是: ①如果单击“读数据”命令按钮,则把考生文件夹下in5.dat文件中两组已按升序方式排列的数(每组30个数)分别读入数组A和B

admin2016-01-31  29

问题 在考生文件夹下有一个工程文件sjt5.vbp,其窗体上有三个标签、三个文本框和两个命令按钮,均使用默认名称。程序的功能是:
    ①如果单击“读数据”命令按钮,则把考生文件夹下in5.dat文件中两组已按升序方式排列的数(每组30个数)分别读入数组A和B,并分别将它们显示在Text1、Text2中;
    ②如果单击“合并”命令按钮,则将A、B两个数组合并为另一个按升序方式排列的数组C,并将合并后数组C中的数据依升序方式显示在Text3中。
    窗体中给出了所有控件(如图3-142所示)以及“读数据”命令按钮的Click事件过程,请完善“合并”命令按钮的Click事件过程,使其实现上述功能。
   
    注意:不得修改已经存在的控件和程序,在结束程序运行之前,必须进行合并操作,且必须通过窗体右上角的“关闭”按钮结束程序,否则无成绩。最后,程序按原文件名存盘。

选项

答案审题分析 根据题意,要求实现两个数组的有序合并,可以设置三个变量ia、ib、ic用于标识当前分别在三个数组中的当前元素下标,初值均为1;接下来进行循环,分别比较a(ia)和(ib)的大小,若a(ia)<(ib),则将a(ia)放入c(ic)中,然后令ia加1指向a的下一个元素;否则将b(ib)放入c(ic)中并令ib+1指向b的下一个元素;最后令ic加1指向c的下一个元素位置。 循环结束的条件是a数组已经比较完或者b数组已经比较完,此时需要将数组中余下的数据连接到c数组中。 操作步骤 步骤1:打开考生文件夹下的工程文件sjt5.vbp。 步骤2:编写“合并”按钮的单击事件过程。 参考代码: Prirate Sub Command2_CliCk() ′考生编写程序开始 ia=1:ib=1:ic=1 Do While ia<=30 And ib<=30 If a(ia)<b(ib) Then c(ic)=a(ia):ia=ia+1 Else C(ic)=b(ib):ib=ib+1 End If ic=ic+1 Loop Do While ia<=30 c(ic)=a(ia):ia=ia+1:ic=ic+1 Loop Do While ib<=30 c(ic)=b(ib):ib=ib+1:ic=ic+1 Loop ′考生编写程序结束 ′以下程序将合并后的数组C显示在Text3中 For k=1 To 60 Text3=Text3+Str(c(k))+Space(2) Next k End Sub 步骤3:运行程序,单击“读数据”按钮,然后单击“合并”按钮获得结果,然后通过窗体右上角的“关闭”按钮结束程序。 步骤4:按要求将文件保存至考生文件夹中。 考点链接 数组定义与操作、Do循环和While循环。

解析
转载请注明原文地址:https://jikaoti.com/ti/HwJ0FFFM
0

随机试题
最新回复(0)