在考生文件夹下有一个工程文件sjt5.vbp,其窗体上画有两个名称分别为Textl、Text2的文本框,其中Textl可多行显示。请画两个名称为Commandl、Command2,标题为“产生数组”、“查找”的命令按钮。如图1-43所示。程序功能如下: ①

admin2010-09-02  29

问题 在考生文件夹下有一个工程文件sjt5.vbp,其窗体上画有两个名称分别为Textl、Text2的文本框,其中Textl可多行显示。请画两个名称为Commandl、Command2,标题为“产生数组”、“查找”的命令按钮。如图1-43所示。程序功能如下:
①单击“产生数组”按钮,则用随机函数生成10个0~100之间(不含0和100)互不相同的数值,并将它们保存到一维数组a中,同时也将这10个数值显示在Textl文本框内;
②单击“查找”按钮将弹出输入对话框,接收用户输入的任意一个数,并在一维数组a中查找该数,若查找失败,则在Text2文本框内显示该数“不存在于数组中”;否则显示该数在数组中的位置。
要求:请去掉程序中的注释符,把程序中的?改为正确的内容,使其实现上述功能,但不能修改窗体文件中已经存在的控件和程序。最后把修改后的文件按原文件名存盘。

选项

答案 【操作步骤】 步骤1:打开考生文件夹中的本题工程文件sjt5.vbp,在窗体上画两个命令按钮,属性及其值如表2-23所示。 [*] 步骤2:在代码编辑窗口,去掉程序中的注释符“’”,将问号“?”改为正确的内容。 参考代码: a(i)=Fix(Rnd * 99+1) For j=1 To i-1 i=i-1 If a(i)=num Then If i>10 Then 步骤3:按要求将文件保存至考生文件夹中。

解析     Rnd()函数用于产生一个小于l但大于或等于O的随机数值,为了生成某个范围内的随机整数,可使用以下公式:
    Int((upperbound-lowerbound+1)*Rnd+lowerbound)
    这里,upperbound是随机数范围的上限,而。lowerbound
则是随机数范围的下限。
    本题在“生成数组”按钮的单击事件过程中,通过:For循环生成10个0~100之间(不含0和100)互不相同的随机数,并存入数组a,其中生成函数的表达式应为:Fix(Rnd*99+1)。为防止生成相同的随机数值,每新生成一个随机数后,都通过For循环让其与之前生成的i.一个随机数逐一比较。若新生成的随机数已存在,则将当前循环变量i的值减l,重新为数组元素a(i)生成随机数。
  在“查找”按钮的单击事件过程中,通过F0r循环让数组a中的元素逐一与用户在输入对话框中输入的数相比较,若条件表达式a(i)num成立,则表示找到相同的数,并在文本框Text2中显示相关信息。若没找到相同的数,循环结束后循环变量i>10,则在Text2文本框内显示该数“不存在于数组中”。
转载请注明原文地址:https://jikaoti.com/ti/wNg0FFFM
0

最新回复(0)