(1)在考生文件夹下有一个工程文件sjt3.vbp。窗体上有名称为Timer1的定时器,以及两条水平直线,名称分别为Line1和Line2。 请用名称为Shape1的形状控件,在两条直线之间画一个宽和高都相等的形状,设置其形状为圆,并设置适当属性使

admin2015-10-23  35

问题 (1)在考生文件夹下有一个工程文件sjt3.vbp。窗体上有名称为Timer1的定时器,以及两条水平直线,名称分别为Line1和Line2。
    请用名称为Shape1的形状控件,在两条直线之间画一个宽和高都相等的形状,设置其形状为圆,并设置适当属性使其满足以下要求:
    ①圆的顶端距窗体Form1顶端的距离为360;
    ②圆的颜色为红色(红色对应的值为:&HOOOOOOFF&或&HFF&),如图所示。

    程序运行时,Shape1将在Line1和Line2之间运行。当Shape1的底部到达Line2时,会自动改变方向向上运动;当Shapel的顶端到达Line1时,会自动改变方向向下运动。
    文件中给出的程序不完整,请去掉程序中的注释符,把程序中的?改为正确内容,使其实现上述功能。
    注意:不能修改程序的其他部分和已给出控件的属性。最后将修改后的文件按原文件名存盘。
    (2)在考生文件夹下有一个工程文件sjt4.vbp.包含了所有控件和部分程序,如图所示。其功能如下:
    ①单击“读数据”按钮,可将考生义件夹下in4.dat文件中的100个整数读到数组a中。
    ②单击“计算”按钮,则根据从组合框Combol中选中的项目,对数组a中的数据计算平均值,并将计算结果四舍五人取整后显示在文本框Text1中。
    “读数据”按钮的Click事件过程已经给出,请为“计算”按钮编写适当的事件过程实现上述功能。
    注意:不得修改已经存在的控件和程序,在结束程序运行之前,必须进行一次计算,且必须用窗体右上角的关闭按钮结束程序,否则无成绩。最后。程序按原文件名存盘。

选项

答案步骤1:打开本题工程文件,新建一个形状控件,并按表3.51所示设置属性。 [*] 步骤2:打开代码编辑窗口,去掉程序中的注释符“’”,将问号改为正确的内容。 Dim s As Integer,h As Long Private Sub Form_Load() Timer1.Enabled=True s=-40 End Sub Private Sub Timer1_Timer() Shape1.Move Shape1.Left,Shape1.Top+S If Shape1.Top<=Line1 Then s=-s End If If Shape1.Top+Shapel.Height>=Line2.Y1 Then’圃的底端坐标加上圆的自身南度与Line2比较 s=-s End If End Sub 步骤3:调试并运行程序,关闭程序后按题目要求存盘。 (2)步骤1:打开本题工程文件。 步骤2:打开代码编辑窗口,在代码编辑窗口指定位置编写以下代码。 Dim k As Long Dim m As Long Dim q As Long Dim P As Long Dim r As Long Dim n As Long For k=1 To 100 If a(k)Mod 2=0 Then’判断是否为偶数 m=m+a(k)’偶数之和 q=q+1’偶数个数加1 E1se n=n+a(k)’奇数之和 p=P+1’奇数个数加1 End If Next k r=Int((m+n)/(p+q)+0.5)’平均值 m=Int(m/q+0.5)’偶教平均值 n=Int(n/P+0.5)’奇数平均值 Select case Combo1.Text Case"所有偶数" Text1=m Case"所有奇数" Text1=n Case"所有数" Text1=r End Select 步骤3:调试并运行程序,关闭程序后按题目要求存盘。

解析 (1)通过形状控件的Move方法,实现形状的移动,通过Shape1.Top的值和Line1.Y1的值进行比较来判定圆形是否越过上界,通过比较Shape1.Top+Shapel.Height的值和Line2.Y1的值来判定圆形是否越过下界。
    (2)通过文件操作,打开文件,把数值读入数组。通过循环语句遍历数组a(k),用If语句和Mod()函数判断是奇数还是偶数,先求出数组中元素的所有奇数和和所有偶数和,计算出平均数,通过Int()函数实现对结果的四舍五入取整,所有奇数和和所有偶数和的加和,求出所有数的和,用同样的方法得出平均数。Select Case语句判断组合框中选中的项目,实现函数的功能,在文本框中显示题目要求的平均值,并按题目要求存盘。
转载请注明原文地址:https://kaotiyun.com/show/DJLp777K
0

最新回复(0)