(1)在考生文件夹下有一个工程文件sjt3.vbp。窗体上有个钟表图案,其中代表指针的直线的名称是Line1,还有一个名称为Label1的标签和其他一些控件(如图1所示)。在程序运行时,若用鼠标右键单击圆的边线,则指针恢复到起始位置(如图1所示);若用鼠标

admin2020-07-22  16

问题 (1)在考生文件夹下有一个工程文件sjt3.vbp。窗体上有个钟表图案,其中代表指针的直线的名称是Line1,还有一个名称为Label1的标签和其他一些控件(如图1所示)。在程序运行时,若用鼠标右键单击圆的边线,则指针恢复到起始位置(如图1所示);若用鼠标左键单击圆的边线,则指针指向鼠标单击的位置(如图2所示);若鼠标左键或右键单击其他位置,则在标签上输出“鼠标位置不对”。
    文件中已经给出了所有控件和程序,但程序不完整,请去掉程序中的注释符,把程序中的?改为正确的内容。程序中的oncircle函数的作用是判断鼠标单击的位置是否在圆的边线上(判断结果略有误差),是则返回True,否则返回False。符号常量x0、y0是圆心距窗体左上角的距离;符号常量radius是圆的半径。
    注意:不能修改程序中的其他部分和各控件的属性。最后将修改后的文件按原文件名存盘。
   
    (2)在考生文件夹下有一个工程文件sjt4.vbo,窗体如图所示。其功能是单击“输入数据”按钮,则可输入一个整数n(要求:8≤n≤12);单击“计算”按钮,则计算1!+2!+3!…+n!的值,并将计算结果显示在文本框中;单击“存盘”按钮,则把文本框中的结果保存到考生文件夹下的out4.dat文件中。
    文件中已经给出了所有控件和程序,但程序不完整,请去掉程序中的注释符,把程序中的?改为正确的内容,并编写“计算”按钮的Click事件过程。
    注意:不得修改已经存在的内容和控件属性,在结束程序运行之前,必须用“存盘”按钮存储计算结果,否则无成绩。最后将修改后的文件按原文件名存盘。
   

选项

答案 (1)【操作步骤】 步骤1:打开本题工程文件。 步骤2:打开代码编辑窗口,在指定位置编写如下代码。 参考答案 Const y0& =1110,x0& = 1100,radiuS&=750 Private Function oncircle(X As Single,Y As Single)As Boolean precision=55000 If Abs((X—x0)*(X—x0)+(y0一Y)*(y0一Y)一radius*radius)Y ’直线另一端的Y坐标为鼠标当前的y值 Else Line1.X2=Line1.X1 ’直线回到初始位王x不变 Line1.Y2=y0-radius& ’y2为原先坐标减去半径的值 End If Label1.Caption="" Else’否则Label1显示位置不对 Label1="鼠标位置不对" End If End Sub 程序结束 步骤3:调试并运行程序,关闭程序后按题目要求存盘。 (2)【操作步骤】 步骤I:打开本题工程文件。 步骤2:打开代码编辑窗口,去掉程序中的注释符“’”,将问号改为正确的内容,并编写相应代码。 参考答案(画线部分是需考生填入的内容) Dim n As Integer Private Sub Commandl_Click() n=Val(InputBox("请输入整数(8—12)","输入")) If n>12Or n<8 Then’确定输入值最大为12,最小为8,否则提示错误 MsgBox("数据错误,请重新输入") Command2.Enabled=False Command3.Enabled=False’两按钮不可用 Else Command2.Enabled=True Command3.Enabled=Truel两按钮可用 End If End SUb Private Sub Command2 Click() Dim s As Long,k As Integer ’考生应编写的程序 s=0 For k=1 To n s=s+f(k) Next k Textl=s ’编程结束 End Sub Function f(n As Integer)As Long s=1’初始化s为1 For k=2 To n’循环求n的阶乘 s=s*k Next f=s’返回阶乘结果 End Funct ion Private Sub Command3 Click() Open App.Path&"、out4.dat"For Output As#1 Print#1,n,Text1 Close#1 End Sub 步骤3:调试并运行程序,关闭程序后按题目要求存盘,如图4.31所示。 [*]

解析 (1)Const用来设置符号常量,Function oncircle()函数则用来判断鼠标单击的位置是否在圆的边界上,通过调用Function oncircle()函数实现对鼠标单击位置的判断,如果在其他位置,则在标签上显示“鼠标位置不对”,线条的X1、Y1、X2和Y2属性用来确定指针位置和大小,Button的值用来判断是右键单击还是左键单击,确定指针指向。
    (2)在Commandl_Click事件过程中通过Val()函数和InputBox()函数取得输入对话框中的数值,如果输入的数值不在范围内,那么弹出对话框MsgBox(”数据错误,请重新输入”),并使命令按钮Command2和Command3不可用,Function f()函数则用来实现阶乘的计算,Command2_Click事件过程中,运用循环语句的累加实现表达式求和运算,Command3_Click事件过程通过文件操作实现数据的存盘处理。
转载请注明原文地址:https://kaotiyun.com/show/dXHp777K
0

最新回复(0)