(1)考生文件夹中有工程文件sjt3.vbp。程序运行时,单击窗体,则开始每隔5秒钟在文本框中显示一次当前时间,文本框中文字的颜色每隔8秒在红色(颜色值为&HFF)与黑色(颜色值为0)之间切换。在给出的窗体文件中已经有了全部控件,但程序不完整。 要

admin2018-05-08  33

问题 (1)考生文件夹中有工程文件sjt3.vbp。程序运行时,单击窗体,则开始每隔5秒钟在文本框中显示一次当前时间,文本框中文字的颜色每隔8秒在红色(颜色值为&HFF)与黑色(颜色值为0)之间切换。在给出的窗体文件中已经有了全部控件,但程序不完整。
    要求:去掉程序中的注释符,把程序中的“?”改为正确的内容。
    注意:考生不得修改窗体文件中已经存在的程序。最后,程序按原文件名存盘。
    (2)在考生目录下有一个工程文件sjt4.vbp。程序的功能是,单击“产生随机数”按钮可以产生10个随机数放到数组中并显示在图片框中,在文本框中输入一个小于10的正整数m,单击“移动数据”按钮,可以把数组中的前m个数据移动到后面去,并显示在图片框中。如图3.39所示。
    在给出的窗体文件中已经有了全部控件,但程序不完整。
    要求:去掉程序中的注释符,把程序中的“?”改为正确的内容。最后把修改后的文件按原文件名存盘。

选项

答案(1)步骤1:打开考生文件夹中的本题工程文件sjt3.vbp,在代码编辑窗口中,去掉程序中的注释符“’”,将问号“?”改为正确的内容。参考代码: Timerl.Enabled=True Timerl.Interval=1000 n=n+1 If Text1.ForeColor=0 Then 步骤2:按要求将文件保存至考生文件夹中。 (2)步骤1:打开考生文件夹中的本题工程文件sjt4.vbp,在代码编辑窗口中,去掉程序中的注释符“’”,将问号“?”改为正确的内容。参考代码: MoveArray a(),m For k=1 To m a(j) =a(j + 1) a(n) =x 步骤2:按要求将文件保存至考生文件夹中。

解析 (1)题目要求5秒显示一次当前时间,8秒改变一次颜色,但是程序中之使用了一个定时器,因此必须在这个定时器里面做两个事情:刷新时间和改变颜色。分析代码,根据“If n Mod 5=0 Then”和“If n Mod8=0 Then”可知,定时器的周期为1秒;题目要求在单击窗体时开始更新时间和改变颜色,因此在窗体的Click事件代码里面需要使能定时器,即把定时器的Enabled属性设置为True;在定时器的Timer事件代码里面,根据n的值去显示时间和改变颜色,因此n记录了程序运行了多少秒,即每次Timer事件处理n的值应该加1;第四个“?”处是判断文本框当前的颜色,如果是0则改变成&HFF,否则改成0,实现颜色的切换。
    (2)题目要求对一列数据进行移动,分析程序可知,在“产生随机数”命令按钮的事件代码里面,生成的随机数保存在数组a当中。在“移动数据”命令按钮的事件代码里面,调用过程MoveArray对数组数据进行移动。MoveArray过程通过一个嵌套的循环来移动数组数据,移动的方法是每次取出第一个数据,然后把后面的数据往前移动,再把取出来的第一个数据放到最后,如此完成一个数据的移动。第一个“?”处是补充函数调用的参数,MoveArray过程有两个参数,第一个参数是数组,第二个参数是Integer类型参数,表示把前面多少个数据移动到后面,即第二个参数为m;第二个“?”处是补充循环的结束条件,内层循环是从把数据往前面移动,因此外层循环是控制前面移出多少个数据,即循环的次数由入参m决定;第三个“?”处的循环把数据从后往前移,即把后面的一个数据赋值给前面一个,完成一格移动;最后一个“?”处是把取出来的a(1)放到最后一个元素位置。
转载请注明原文地址:https://jikaoti.com/ti/ouy0FFFM
0

最新回复(0)