(1)在考生文件夹下有一个工程文件vbsj3.vbp,相应的窗体文件为vbsj3.frm,在窗体上有一个标题为“计算”的命令按钮和一个文本框。程序运行后,单击命令按钮,即可计算出数组arr中每个元素与其下标相除所得的和,并在文本框中显示出来,程序的运行情况

admin2017-09-22  28

问题 (1)在考生文件夹下有一个工程文件vbsj3.vbp,相应的窗体文件为vbsj3.frm,在窗体上有一个标题为“计算”的命令按钮和一个文本框。程序运行后,单击命令按钮,即可计算出数组arr中每个元素与其下标相除所得的和,并在文本框中显示出来,程序的运行情况如图3.144所示。在窗体的代码窗口中,已给出了部分程序,其中计算数组arr中每个元素与其下标相除所得的和的操作在通用过程Fun中实现,请编写该过程的代码。
    要求:请勿改动程序中的其他部分,只在Function Fun()和End Function之间填入你编写的若干语句并运行程序。在结束程序运行之前,必须至少正确运行一次程序,将结果显示在文本框中9否则无成绩。最后把修改后的文件按原文件名存盘。
    说明:数组arr中共有40个元素,“数组arr中每个元素与其下标相除所得的和”,是指:
arr(1)/1+arr(2)/2+arr(3)/3+…+arr(40)/40
    程序源码:
End Sub
Function Fun(a()  As Single)  As
Single
    ’由考生编写=============
End Funct ion
Private Sub cmdCal Click()
Dim arr,arr2(40)As Single
arr=Array(12.5,65.4,56,73,
4 6.2 3,_
58.25,83.49,96,27.3,36.78,_
29.26 ,89.4,34.7,45.4,56.9,_
67.4,78,98,87.5,76.8,34.6,_
55.8,64.7,43.7,99,4,84.7,_
66.2,2 3.9,55.5,44.1,33.2,_
43.5,41.2,2 8.3,78.6,98.3,_
6.1,73.6,49.3,48.3)
For i=1 To UBound(arr)
arr2(i)=arr(i)
Next i
r=Fun(arr2())
txtResult.Text=Str(r)
SaveData
End Sub
Sub SaveData()
Open"out3.txt"For Output As #1
rint #1,txtReSUit.Text
Close 1
End Sub
    (2)在考生文件夹下有一个工程文件vbsj4.vbp。程序运行后,如果单击“开始”按钮,则图.片vb自p左向右移动,同时滚动条的滑块随之移动,每0.5秒移动一次。当图片完全移出窗体的右边界时,立即再从窗体的左边界开始重新移动,若单击“停止”按钮,则图片停止移动,如图3.145所示。在窗体文件中已经给出了全部控件,但程序不完整。

    要求:请去掉程序中的注释符,把程序中的“?”改为正确的内容,使其实现上述功能,但不能修改程序的其他部分和控件属性。最后把修改后的文件按原文件名存盘。
    程序源码:
Private  Sub cmd.Start_Click()
Tmr1.Enabled=True
End Sub
PriVate  Sub cmdStop_Click()
’Tmr1.Enabled=?
End Sub
PriVate Sub Form Load()
Hsbl.Min=0
Hsbl.Max=Me.Width
’Tmr1.Interval=?
End Sub
PriVate  Sub Tmrl  Timer()
Picl.Left=Picl.Left+200
’    If Picl.Left>?Then
’    Picl.Left=?
End If
HScroll1.Value=Picl.Left

选项

答案(1)步骤1:打开考生文件夹下的工程文件vbsj3.vbp。 步骤2:进入代码编辑窗口,在Function Fun()和End Function之间输入以下代码。参考代码: Function Fun(a() As Single) As Single Dim sum As Single Dim i As Integer For i=LBound(a) To UBound(a) sum=sum+a(i)/i Next Fun=sum End Function 步骤3:按要求将文件保存至考生文件夹中。 (2)步骤1:打开考生文件夹下的工程文件vbslj4.vbp。 步骤2:进入代码编辑窗口,去掉程序中的注释符“’”,将问号“?”改为正确的内容。参考代码: Tmrl.Enabled=FalSe Tmrl.Interval=500 If Picl.Left > Me.Width Then Picl.Left=0 步骤3:按要求将文件保存至考生文件夹中。

解析 (1)由本题所提供源程序可知,要求编写一个求数组中各元素与其下标相除所得的和,并在文本框中显示出来的函数。设计思路:利用For循环语句,将数组中各元素除以其下标(表达式为:a(i)/i)的值累加入一个变量(如sum)。循环变量的初值和终值可分别通过函数Lbound(a)和Ubound(a)获得。
    (2)本题源程序利用计时器的Timer事件来控制图片的移动,因此单击“开始”按钮启动计时器,而单击“停止”按钮就是要停止计时器。在计时器的Timer事件过程中,通过每次使图片框的Left属性值增量200实现移动,并让水平滚动条滑块的位置随图片框的Left属性值变化。当图片完全移出窗体的右边界(即Picl.Left>Me.Width)时,则重新从窗体左边界开始移动,即Picl.Left=0。由于题目要求不能在设计阶段修改控件属性,要想在单击“开始”按钮时能启动计时器,就需在窗体加载事件过程中设置计时器的Interval属性,即Tmr1.Interval=500。
转载请注明原文地址:https://kaotiyun.com/show/tjGp777K
0

最新回复(0)