(1)在考生目录下有一个工程文件sjt3.vbp。窗体上有个钟表图案,其中代表指针的直线的名称是Line1,还有一个名称为Labell的标签,和其他一些控件。如图1-28(a)所示:在运行时,若用鼠标左键单击圆的边线,则指针指向鼠标单击的位置,如图1-28

admin2010-09-02  29

问题 (1)在考生目录下有一个工程文件sjt3.vbp。窗体上有个钟表图案,其中代表指针的直线的名称是Line1,还有一个名称为Labell的标签,和其他一些控件。如图1-28(a)所示:在运行时,若用鼠标左键单击圆的边线,则指针指向鼠标单击的位置,如图1-28(b)所示;若用鼠标右键单击圆的边线,则指针恢复到起始位置,如图1-28(a)所示:若鼠标左键或右键单击其他位置,则在标签上显示“鼠标位置不对”。文件中已经给出了所有控件和程序,但程序不完整,请去掉程序中的注释符,把程序中的?改为正确的内容。程序中的oncircle函数的作用是判断鼠标单击的位置是否在圆的边线上(判断结果略有误差),是则返回True,否则返回False。符号常量x0、y0是圆心距窗体左上角的距离;符号常量radius是圆的半径。
注意:不能修改程序中的其他部分和各控件的属性。最后把修改后的文件按原文件名存盘。

(2)在考生目录下有一个工程文件sjt4.vbp,窗体如图1-29所示。其功能是单击“输入数据”按钮,则可输入一个整数n(要求:8≤n≤12);单击“计算”按钮,则计算l!+2!十3!+…+n!,并将计算结果显示在文本框中;单击“存盘”按钮,则把文本框中的结果保存到考生目录下的out4.dat文件中。文件中已经给出了所有控件和程序,但程序不完整,请去掉程序中的注释符,把程序中的?改为正确的内容,并编写“计算”按钮的Click事件过程。
注意:不得修改已经存在的内容和控件属性,在结束程序运行之前,必须用“存盘”按钮存储计算结果,否则无成绩。最后把修改后的文件按原文件名存盘。

选项

答案 第l小题 【操作步骤】 步骤1:打开本题工程文件sjt3.vbp,在代码编辑窗口,去掉程序中的注释符“’”,将问号“?”改为正确的内容。 参考代码: Linel.Y2=Y Linel.X2=Linel.X1 Linel.Y2=y0-750 Labell.Caption="鼠标位置不对" 步骤2:按要求将文件保存至考生文件夹中。 第2小题 【操作步骤】 步骤1:打开考生文件中的本题工程文件sjt4.vbp,在代码编辑窗口,去掉程序中的注释符“’”,将问号“?”改为正确的内容。 参考代码: s=1 f=s 步骤2:双击“计算”按钮,编写该按钮的单击事件过程。 参考代码: PriVate Sub Command2_Click() Dim s As Long, k.As Integer 考生应编写的程序 s=0 For k=1 To n s=s+f(k) Next Textl=s End Sub 步骤3:按键键运行程序,单击“输入数据”按钮。通过输入框输入一个8~12之间的整数,然后单击“计算”按钮计算结果,最后单击“存盘”按钮保存结果。 步骤4:按要求将文件保存至考生文件夹中。

解析     第l小题
    鼠标事件分点击事件和状态事件:点击事件有单击(Click)和双击(DbIClick),不区分左、右键;状态事件有按下(MouseDown)、移动(MouseMovc)和弹起(MouseUp),能够区分出鼠标的左键、右键和中间键。按下鼠标键事件过程的一般格式为:
    PriVate  Sub    Form_MouseDown(Sut‘ton  As
    Integer,Shift As Integer,X As Single,Y As Single)
    End Sub  
    其中各参数的含义:BuRon表示被按下的鼠标键,可以取三个值,l左键、2为右键、4为中间键:Shift表示Shift键,Ctrl键和Alt键的状态,ShiR键为l、Ctrl键为2、Aft键为4;X、Y表示鼠标光标的当前位置。
    本题原程序在Form MouseDown事件过程中,先通过调用函数oncirclv(X,Y)以判断鼠标单击的位置是否在圆的边线上,若在边线上,则接着判断当前按下的是否为鼠标左键,若为左键,则将直线Linel的终点位置设置为当前鼠标单击的位置,故第一个?处应改为:Y;若当前按下的不是左键,则直线Linel的终点位置设置为其原始位置,即Linel.X2=Linel.Xl、Linel.Y2=y0-750。若鼠标单击的位置不在圆的边线上,则在标签上显示相关信息,故第4个?处应改为:Labell.Caption。
    第2小题
    本题原程序中,自定义函数f的功能是进行n!阶乘运算,它通过For循环连续n次将循环变量k的值乘以累积变量s(第一个?处tmp初值应为1)来实现,作为函数返回值第两个?处应改为:s。
    在“计算”按钮的单击事件过程中,根据程序所要计算表达式的特点,原程序利用一个For循环依次计算表达式中各项的值并将其累加入变量s,计算表达式中各项的值通过调用自定义函数f(k)来实现的,最终计算结果显示在文本框中。
转载请注明原文地址:https://kaotiyun.com/show/tFmp777K
0

最新回复(0)