在考生文件夹中有一个工程文件sjt5.vbp。窗体外观如图1-58所示。运行程序,单击“读数据”按钮,文件中的数据被读入字符串变量中并显示在Label2标签中。单击“排序”按钮时,对读入的数据从小到大排序,并将排序结果显示在窗体的Label4控件中。要求:

admin2010-09-02  38

问题 在考生文件夹中有一个工程文件sjt5.vbp。窗体外观如图1-58所示。运行程序,单击“读数据”按钮,文件中的数据被读入字符串变量中并显示在Label2标签中。单击“排序”按钮时,对读入的数据从小到大排序,并将排序结果显示在窗体的Label4控件中。要求:工程文件中已给出部分程序,“读数据”命令按钮的事件过程不完整,请去掉程序中的注释符,把程序中的?改为正确的内容。请编写“排序”命令按钮的事件过程中的部分程序代码。
注意:不能修改程序的其他部分和控件属性。最后把修改后的文件按原文件名存盘。程序调试通过后,两个命令按钮的事件过程必须至少各执行一次。

选项

答案 【操作步骤】 步骤1:打开考生文件夹中的本题工程文件sjt5.vbp,在代码编辑窗口,去掉程序中的注释符“’”,将问号“?”改为正确的内容。 参考代码: 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:按键运行程序,先单击“读数据”按钮,再单击“排序”按钮,最后单击窗体右上角的关闭按钮结束程序。 步骤4:按要求将文件保存至考生文件夹中。

解析     冒泡法的核心思路是按顺序让一个数列中的每一个数都与它之后的所有的数逐一进行比较,如果该数大于其后面的数。则把这两个位置的数进行交换。通过这样的循环,最终按照从小到大的顺序排列出该数列。
    设计思路:在“读数据”按钮的单击事件中,首先使用Do While当型循环结构从文件中读取全部数据,并以Not EOF(文件号)(非文件结尾)作为循环条件,通过Input#语句将打开文件中的数据逐一读出后赋值给a(i),然后将数组连接起来显示在标签中。
    在“排序”按钮的单击事件过程中,原程序利用“冒泡法”对记录数组中的元素从小到大进行排序。
转载请注明原文地址:https://jikaoti.com/ti/vmg0FFFM
0

最新回复(0)