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

admin2017-03-27  37

问题 (1)在考生文件夹下有一个工程文件vbsj3.vbp,相应的窗体文件为vbsj3.frm,在窗体上有一个标题为“计算”的命令按钮和一个文本框。程序运行后,单击命令按钮,即可计算出数组arr中每个元素与其下标相除所得的和,并在文本框中显示出来,程序的运行情况如图3—144所示。在窗体的代码窗口中,已给出了部分程序,其中计算数组arr中每个元素与其下标相除所得的和的操作在通用过程Fun中实现,请编写该过程的代码。

要求:请勿改动程序中的其他部分,只在Function Fun()和End Function之间填入你编写的若干语句并运行程序。在结束程序运行之前,必须至少正确运行一次程序,将结果显示在文本框中,否则无成绩。最后把修改后的文件按原文件名存盘。
说明:数组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 Function
Private Sub cmdCal C1iCk()
Dim arr,arr2(40)As Single
arr=Array(12.5,65.4,56,73,46.23,_
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,23.9,55.5,44.1,33.2,_
43.5,41.2,28.3,78.6,98.3,_
6.1,73.6,49.3,48.3)
For i=1To UBound(arr)
arr2(i)=arr(i)
Next i
r=Fun(arr2())
txtResul-t.Text=Str(r)
SaveData
End Sub
Sub SaveData()
Open"out3.txt"For Output As#1
rint#1,txtResult.Text
CloSe1
End Sub
(2)在考生文件夹下有一个工程文件vbsj4.vbp。程序运行后,如果单击“开始”按钮,则图片自左向右移动,同时滚动条的滑块随之移动,每0.5秒移动一次。当图片完全移出窗体的右边界时,立即再从窗体的左边界开始重新移动,若单击“停止”按钮,则图片停止移动,如图3—145所示。在窗体文件中已经给出了全部控件,但程序不完整。

要求:请去掉程序中的注释符,把程序中的“?”改为正确的内容,使其实现上述功能,但不能修改程序的其他部分和控件属性。最后把修改后的文件按原文件名存盘。
程序源码:
Private Sub cmdStart_Click()
Tmr1.Enabled=True
End Sub
Private Sub cmdStop Click()
’Tmr1.Enabled=?
End Sub
Private Sub Form Load()
Hsb1.Min=0
Hsb1.Max=Me.Width
’Tmr1.Interval=?
End Sub
Private Sub Tmr1_Timer()
Pic1.Left=Pic1.Left+200
’IfPic1.Left>?Then
’Pic1.Left=?
End If
HScroll1.Value=Pic1.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:打开考生文件夹下的工程文件vbsj4.vbp。 步骤2:进入代码编辑窗口,去掉程序中的注释符“’”,将问号“?”改为正确的内容。 参考代码: Tmr1.Enabled=False Tmr1.Interval=500 If Pic1.Left>Me.Width Then Pic1.Left=0 步骤3:按要求将文件保存至考生文件夹中。

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

随机试题
最新回复(0)