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

admin2015-06-30  24

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

    (2)在考生文件夹下有一个工程文件sjt4.vbp,窗体如图所示。其功能是单击“输入数据”按钮,则可输入一个整数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) < precision Then oncircle = True Else oncircle = False End If End Function Private Sub Form_MouseDown(Button As Integer, Shift as Integer, X As Single, Y As Single) Const LEFT BUTTON = 1 If oncircle(X, Y) Then     Line1.X1 = x0     Line1.Y1 = y0     If Button = LEFT BUTTON Then       Line1.X2 = X ’ Line1.Y2 = ?     Else ’ Line1.X2 = Line1.? ’ Line1.Y2 = y0 - ?     End If     Label1.Caption = "" Else ’ ? = "鼠标位置不对" End If End Sub 程序结束 参考答案 第1个?处填入:Y 第2个?处填入:X1 第3个?处填入:radius& 第4个?处填入:Label1 步骤3:调试并运行程序,关闭程序后按题目要求存盘。 (2)【操作步骤】 步骤1:打开本题工程文件。 步骤2:分析并编写程序代码。 程序提供代码 Dim n As Integer Private Sub Command1_Click() n = Val(InputBox("请输入整数(8-12)", "输入")) ’ If n > ? Or n < 8 Then     MsgBox ("数据错误,请重新输入")     Command2.Enabled = False     Command3.Enabled = False Else     Command2.Enabled = True     Command3.Enabled = True End If End Sub Private Sub Command2_Click() Dim s As Long, k As Integer ’考生应编写的程序 End Sub Function f(n As Integer) As Long ’ s = ? For k = 2 To n     s = s * k Next ’ f = ? End Function Private Sub Command3_Click() Open App.Path & "\out4.dat" For Output As #1 Print #1, n, Text1 Close #1 End Sub 程序结束 参考答案 第1个?处填入:12 第2个?处填入:1 第3个?处填入:s ’考生应编写的程序 s = 0 For k = 1 To n s = s + f(k) Next Text1 = s 步骤3:调试并运行程序,关闭程序后按题目要求存盘。

解析
转载请注明原文地址:https://kaotiyun.com/show/AVQp777K
0

最新回复(0)