问答题 在考生文件夹中有一个工程文件sjt5.vbp。窗体外观如图3.169所示。运行程序,单击“读数据”按钮,文件中的数据被读入字符串变量中并显示在Label2标签中。单击“排序”按钮时,对读入的数据从小到大排序,并将排序结果显示在窗体的Label4控件中。要求:工程文件中已给出部分程序,“读数据”命令按钮的事件过程不完整,请去掉程序中的注释符,把程序中的?改为正确的内容。请编写“排序”命令按钮的事件过程中的部分程序代码。
【正确答案】正确答案:步骤1:打开考生文件夹中的本题工程文件sjt5.vbla,在代码编辑窗口,去掉程序中的注释符“'”,将问号“?”改为正确的内容。参考代码: Do While Not EOF(1) s=s & Str(a(i)) 步骤2:在代码编辑窗口指定位置编写以下代码。 参考代码: num=UBound(a) For i=1 To num -1 For j=i To num If a(i)>a(j)Then t=a(i) a(i)=a(j) a(j)=t End If Next Next 步骤3:按<F5>键运行程序,先单击“读数据”按钮,再单击“排序”按钮,最后单击窗体右上角的关闭按钮结束程序。 步骤4:按要求将文件保存至考生文件夹中。
【答案解析】解析:设计思路:在“读数据”按钮的单击事件中,首先使用Do While当型循环结构从文件中读取全部数据,并以Not EOF(文件号)(非文件结尾)作为循环条件,通过Input #语句将打开文件中的数据逐一读出后赋值给a(i),然后将数组连接起来显示在标签中。 在“排序”按钮的单击事件过程中,源程序利用“冒泡法”对记录数组中的元素从小到大进行排序。