(1)在考生文件夹下有一个工程文件sjt3.vbp,窗体上有一个矩形和一个圆,还有垂直和水平滚动条各一个。程序运行时,移动某个滚动条的滚动块,可使圆做相应方向的移动。滚动条刻度值的范围是圆可以在矩形中移动的范围。以水平滚动条为例,滚动块在最左边时,圆靠在矩

admin2017-09-22  24

问题 (1)在考生文件夹下有一个工程文件sjt3.vbp,窗体上有一个矩形和一个圆,还有垂直和水平滚动条各一个。程序运行时,移动某个滚动条的滚动块,可使圆做相应方向的移动。滚动条刻度值的范围是圆可以在矩形中移动的范围。以水平滚动条为例,滚动块在最左边时,圆靠在矩形的左边线上,如图3.153(a)所示;滚动块在最右边时,圆靠在矩形的右边线上,如图3。153(b)所示。垂直滚动条的情况与此类似。

    文件中已经给出了全部控件和程序,但程序不完整,请去掉程序中的注释符,把程序中的“?”改为正确的内容。注意:不能修改程序的其他部分和控件属性。最后把修改后的文件按原文件名存盘。
    (2)在考生文件夹下有一个工程文件sjt4.vbp。窗体中已经给出了所有控件,如图3.154所示。运行时,单击“发射”按钮,航天飞机图标将向上运动,速度逐渐加快,全部进入云中后则停止,并把飞行距离(用坐标值表示)、所用时间(单位为秒)分别显示在标签Label1和Label2中;单击“保存”按钮,则把飞行距离、所用时间存入考生文件夹下的out4.txt文件中。
    文件中已经给出了程序,但不完整,请去掉程序中的注释符,把程序中的“?”改为正确的内容。
    注意:不能修改程序的其他部分和控件属性。最后把修改后的文件按原文件名存盘。

选项

答案(1)步骤1:打开考生文件下的本题工程文件sjr3.vbp,在代码编辑窗口,去掉程序中的注释符“’”,将问号“?”改为正确的内容。参考代码: HScroll1.Max=Shape2.Width+ Shape2.Left-Shape1.Width VScroll1.Max=Shape2.Height+ Shape2.Top-Shape1.Height: Shape1.Left=HScroll1.Value Shape1.Top=VScroll1 步骤2:按要求将文件保存至考生文件夹中。 (2)步骤1:打开考生文件夹中的本题工程文件sjt4.vbp,在代码编辑窗口,去掉程序中的注释符“’”,将问号“?”改为正确的内容。参考代码: Timerl.Enabled=True Timerl.Enabled=False d=d-Image1.Top t=t+1 步骤2:按键运行程序,先单击“发射”按钮,计算完毕后单击“存盘”按钮,最后单击窗体右上角的关闭按钮结束程序。 步骤3:按要求将文件保存至考生文件夹中。

解析 (1)本题在窗体加载过程中初始化水平滚动条和垂直滚动条的Min属性和Max属性值,以使其能与圆形Shape1所能到达的左边界、右边界、上边界、下边界一致,其中:HScroll1.Max=Shape2.Width+Shape2.Left-Shape1.Width,VScrolll.Max=Shape2.Height+Shape2.Top-Shape1.Height。当水平或垂直滚动条移动时,通过在其Change事件过程中设置Shape1的Left属性值或Top属性值与滚动条的Value属性值一致即可。
    (2)本题通过计时器来控制航天飞机移动。单击“发射”按钮时启动计时器(即Timerl.Enabled=True),并记录下此时航天飞机(Imagel)上部的坐标值(d=Image1.Top);在计时器的Timer事件过程中,每次让航天飞机向上移动50的a倍(a为实现航天飞机加速移动的系数),如果移动后航天飞机己全部进入云中(即Imagel.Top+Imagel.Height<=Image2.Top+Image2.Height-200),则通过停止计时器(即Timerl.Enabled=False)来停止航天飞机上移,并将此时飞行距离d(d=d.Imagel.Top)显示在标签Label1中,飞行时间(t*Timerl.Interval/1000)显示在标签Label2中。如果航天飞机还没全部进入云中,则加速系数增加0.1,并用变量t记录一次飞行时间(t=t+1)。
转载请注明原文地址:https://jikaoti.com/ti/PWy0FFFM
0

最新回复(0)