Dim c As Integer If a < b Then c = a: a = b: b = c End If c = 0 Do c = c + a
Loop Until c Mod b = 0 fun = c End Function
若调用函数fun时的实际参数都是自然数,则函数返回的是 B)a、b的最小公倍数
(26)窗体上有1个名称为Text1的文本框;1个名称为Timer1的计时器控件,其Interval属性为5000,Enabled属性值是True。Timer1的事件过程如下:
Private Sub Timer1_Timer() Static flag As Integer If flag = 0 Then flag = 1 flag = -flag If flag = -1 Then
Text1.ForeColor = &HFF& '&HFF&为红色 Else
Text1.ForeColor = &HC000& '&HC000&为绿色 End If End Sub
以下叙述中正确的是
C)程序执行后,文本框的文字每5秒改变一次颜色
(27)为计算1+2+2^2+2^3+2^4+…+2^10的值,并把结果显示在文本框Text1中,若编写如下事件过程: Private Sub Command1_Click() Dim a%, s%, k% s = 1 a = 2
For k = 2 To 10 a = a * 2 s = s + a Next k Text1.Text = s End Sub
执行此事件过程后发现结果是错误的,为能够得到正确结果,应做的修改是 D)同时进行B)、C)两种修改 (28)标准模块中有如下程序代码: Public x As Integer, y As Integer Sub var_pub() x = 10: y = 20 End Sub
在窗体上有1个命令按钮,并有如下事件过程: Private Sub Command1_Click() Dim x As Integer Call var_pub x = x + 100 y = y + 100
Print x; y End Sub B)100 120
(29)设a,b都是自然数,为求a除以b的余数,默认编写了以下函数: Function fun(a As Integer, b As Integer) While a > b a = a - b Wend fun = a End Function
在调试时发现函数是错误的,为使函数能产生正确的返回值,应做的修改是 D)把While a>b改为While a>=b
(30)下列关于通用对话框CommonDialog1的叙述中,错误的是
A)只要在“打开”对话框中选择了文件,并单击“打开”按钮,就可以将选中的文件打开
(31)在利用菜单编辑器设计菜单时,为了把组合键“Alt+X”设置为“退出(X)”菜单项的访问键,可以将该菜单项的标题设置为
B)退出(&X)
(32)在窗体上画1个命令按钮和1个文本框,其名称分别为Command1和Text1,再编写如下程序: Dim ss As String
Private Sub Text1_KeyPress(KeyAscii As Integer) If Chr(KeyAscii) <> \ End Sub
Private Sub Command1_Click() Dim m As String, i As Integer For i = Len(ss) To 1 Step -1
m = m + Mid(ss, i, 1) Next
Text1.Text = UCase(m) End Sub
程序运行后,在文本框中输入“Number 100”,并单击命令按钮,则文本框中显示的是 D)001REMBUN
(33)窗体的左右两端各有1条直线,名称分别为Line1、Line2;名称为Shape1的圆靠在左边的Line1直线上(见图);另有1个名称为Timer1的计时器控件,其属性值为True。要求程序运行后,圆每秒向右移动100,当圆遇到Line2时则停止移动。为实现上述功能,某人把计时器的Interval属性设置为1000,并编写了如下程序:
Private Sub Timer1_Timer()
For k = Line1.X1 To Line2.X1 Step 100
If Shape1.Left + Shape1.Width < Line2.X1 Then Shape1.Left = Shape1.Left + 100 End If Next k End Sub
运行程序时发现圆立即移动到右边的直线处,与题目要求的移动方式不符。为得到与题目要求相符的结果,下面修改方案中正确的是
B)把 For k = Line1.X1 To Line2.X1 Step 100 和Next k两行删除 (34)下列有关文件的叙述中,正确的是 C)随机文件中,每个记录的长度是固定的
(35)窗体如图1所示。要求程序运行时,在文本框Text1中输入一个姓氏,单击“删除”按钮(名称为Command1),则可删除列表框List1中所有该姓氏的项目。若编写以下程序来实现此功能:
Private Sub Command1_Click() Dim n%, k% n = Len(Text1.Text)
For k = 0 To List1.ListCount - 1
If Left(List1.List(k), n) = Text1.Text Then List1.RemoveItem k End If Next k End Sub
在调试时发现,如输入“陈”,可以正确删除所有姓“陈”的项目,但输入“刘”,则只删除了“刘邦”、“刘备”2项,结果如图2所示。这说明程序不能适应所有情况,需要改正。正确的修改方案是把For k=0 to List1.ListCount-1改为
A)For k = List1.ListCount - 1 To 0 Step -1 二、填空题(每空2分,共30分)
(1)某二叉树有5个度为2的结点以及3个度为1的结点,则该二叉树中共有 【1】14 个结点。 (2)程序流程图中的菱形框表示的是【2】 逻辑条件 或 逻辑判断 或 条件或判断。
(3)软件开发过程主要分为需求分析、设计、编码与测试四个阶段,其中【3】需求分析 阶段产生“软件需求规格说明书”。
(4)在数据库技术中,实体集之间的联系可以是一对一或一对多的,那么“学生”和“可选课程”的联系为【4】多对多。 (5)人员基本信息一般包括:身份证号,姓名,性别,年龄等。其中可以作为主关键字的是【5】身份证号。 (6)工程中有Form1和Form2两个窗体。Form1窗体外观如图1所示。程序运行时,在Form1中名称为Text1的文本框中输入一个数值(圆的半径),然后单击命令按钮“计算并显示”(其名称为Command1),则显示Form2窗体,且根据输入的圆的半径计算圆的面积,并在Form2的窗体上显示出来,如图2所示。如果单击命令按钮时,文本框中输入的不是数值,则用信息框显示“请输入数值数据!”。请填空。
Private Sub Command1_Click() If Text1.Text = \ magbox \请输入半径!\
ElseIf Not IsNumeric(【6】Text1.Text) Then MsgBox \请输入数值数据!\ Else
r = Val(【7】Text1.Text) Form2.Show