A .算法与程序设计一、选择题(本大题共17小题,每题2分,共34分) 1.下列问题不能用算法描述的是A.已知a 、b 、c 的值,求一元二次方程ax 2+bx+c=0(a ≠0)的实数解B.计算某个班级英语成绩的平均分C.列出方程y=2x+1的所有实数解D.根据矩形的长和宽求面积 2.下列可以作为VB 变量名的是 A. A&s B. A+S C. AS D. A_s 3.将数学表达式2||y x x写成VB 表达式正确的是 A.(y – Int (x ))/x*x B.(y – Abs (x ))/x^2 C.(y – Int (x ))/x^2 D.(y – Abs (x ))/ x*x4. 某宾涫的房间号由5位字符组成(例如A0823表示A 幢8层23号房间)末位数字为奇数时表示房间朝南,为偶数时表示房间朝北,字符串变量s 中存储了1个房间号,下列能正确判断房间朝南的VB 表达式是 A.V al (Mid (s ,5,1))Mod 2 = 1 B. Val (Mid (s ,5,1))Mod 2 = 0 C. Val (Mid (s ,5,1))\ 2 = 1 D. V al (Mid (s ,5,1))\ 2 = 05.下列VB 表达式中:①Sin (x ) ②Text1.Text ③Label1.Caption ④Chr (x ) ⑤Asc (x ) 值为字符串型的是A. ①③⑤B. ①②③C. ②④⑤D. ②③④ 6.下列能准确表达“如果明天不下雨,那久我们骑车去郊游”的伪代码是 A .lf (明天下雨)Then (我们骑求去郊游)B .If (明天不下雨)Then (我们骑车去郊游)Else (我们不去郊游)C ,If (明天下雨)Then (我们不去郊游)Else (我们骑车去郊游)D .lf (明天不下雨)Then (我们骑车去郊游) 到a(10)中最小值min 程序段如For i = 2 To 10If a (i )< min Then min = a(i) Next i方框中最合适的语句是 A. a (1)= min B. a (1)= 0 C. min = a(1) D. min = 0 8.某VB 的事件过程如下: Private Sub Command1_Click() Dim a As Integer a = Val(Text1.Text) a = 2 * a + 1Text1.Text = Str(a) End Sub程序运行时,在文本框Text1中输入1,连续两次单击命令按钮Command1后,Text1中显示的内容是 A. 7 B.5 C. 3 D. 19.对数组元素a(1)到a(8)进行排序,其排序算法的VB部分程序段如下:For m = 1 To 7p = mFor n = m + 1 To 8Next nIf p <> m Then t = a(p): a(p) = a(m): a(m) = tNext m方框中的语句是A. If a(n) < a(p) Then p = mB. If a(n) < a(p) Then p = nC. If a(n) > a(p) Then p = nD. If a(n) > a(p) Then p = m10.有如下VB程序段:Dim i As Integer, c As String, s As String, t As Strings = "2012 Hero": t = ""For i = 1 To Len(s)c = Mid(s, i, 1)If c >= "a" And c <= "z" Then t = t + cNext iText1.Text = t程序运行后,文本框Text1中显示的内容是A. 2012B.HeroC. eroD. 2012 H11.下列能表示矩形、圆、椭圆等形状的控件是A. 标签B.简单图形C. 文本框D. 命令按钮12.一个VB工程的部分设计界面如右图所示。
下列说法:①工程文件名是“工程1.vbp”②该工程只有1个窗体③窗体文件名是“MyForm”④窗体名称是“对象识别”A. ①②B.②③C. ①③D. ②④13.有两组数据:①54,31,43,12,8,73,56,34,89,60,23,67②87,83,75,70,63,59,55,37,33,21,17,7下列有关查找方法描述不正确的是A. ①可以直接使用顺序查找B.②可以直接使用对分查找C. ①可以直接使用对分查找D. ②可以直接使用顺序查找二、综合题:本大题5小题,其中第14小题2分,第15题4分,第16题5分,第17题4分,第18题4分,共19分。
14.下列VB程序运行时,在文本框Text1中输入10,单击命令按钮Command1后,文本框Text2中显示的内容是。
Private Sub Command1_Click()Dim x As Single, a As Integer, b As Integera = Val(Text1.Text)x = Sqr(a)b = Int(x)Text2.Text = Str(a + b)End Sub15.下列VB程序运行时,单击命令按钮Command1后,文本框Text1中显示的内容是(1) ,文本框Text2中显示的内容是(2) 。
Private Sub Command1_Click()Const n = 4Dim a(1 To n) As Integer, s As IntegerDim i As Integer, t As Integer, k As Integera(1) = 1: a(2) = 2: a(3) = a(1): a(4) = 0s = 0: k = 0For i = 1 To nt = a(i)a(i) = k + tk = ts = s + a(i)Next iText1.Text = Str(a(2))Text2.Text = Str(s)End Sub16.现要求编写VB程序实现如下功能:分别在文本框Text1、Text2和Text3中输入三条线段的长度,单击“判断”按钮Command1后,在标签Label1中显示判断结果。
程序运行界面如右图所示。
按此要求编写的程序如下:Private Sub Command1_Click()Dim a As Single, b As SingleDim c As Single, st As Stringa = Val(Text1.Text)b = Val(Text2.Text)c = Val(Text3.Text)If Not (a + b > c And b + c > a And c + a > b) Thenst = "这三条线不能构成一个三角形"ElseIf a * a + b * b = c * c Or a * a + c * c = b * b Or b * b + c * c = a * a Then st = "可以构成一个直角三角形"ElseIf ①Thenst = "可以构成一个等边三角形"Elsest = "可以构成一个不等边斜三角形"End IfLabel1.Caption = ②End Sub(1)请在划线处填入合适代码(2)下列表达式与“Not (a + b > c And b + c > a And c + a > b)”等价的是 (填字母)。
A. a + b <= c Or b + c <= a Or c + a <= bB. a - b <= c And b - c <= a And c - a <= bC. a + b <= c And b + c <= a And c + a <= b17.在一行数据(1,23,6,2,4,5,6,18,5,19)中,存在连续递增的数据序列(1,23)、(6)、(2,4,5,6,18)、(5,19),其序列长度分别为2、1、5、2,则连续递增的数据序列长度最大值max=5。
寻找max 的方法如下:从第二个数据开始,将该数与它的前一个数比较,如果该数大于它的前一个数,则k ←k+1,否则k ←1,……;直到最后一个数据处理完成为止。
在此过程中将k 的最大值保存在变量max 中。
依据上述算法描述编写的VB 程序如下,但加框处代码有错,请改正。
Const n = 10Dim a(1 To n) As Integer'Text1_KeyPress 过程用于输入数据并将数据依次存放到数组a 中 Private Sub Text1_KeyPress(KeyAscii As Integer) '该过程代码略 End SubPrivate Sub Command1_Click() Dim i As IntegerDim k As Integer '连续递增的数据序列长度Dim max As Integer '连续递增的数据序列长度最大值 max = 1 k = 1For i = 2 To nIf a(i) > a(i + 1) Then k = k + 1 Else k = 1 '(1) If k > max Then k = max '(2) Next iText2.Text = Str(max) End Sub18.三次函数321()2323f x x x x =-+-的图像如下图所示。
从图像中观察得到,在[0,4]区间内,分别存在一个局部极大点P(在P附近的函数值都小于f(P))和局部极小点Q(在Q附近的函数值都大于f(Q))。
寻找P和Q近似值的方法如下:在[0,4]区间内,每隔e(e=0.001)取一个值逐一枚举,如果找到某个值x,能同时满足f(x)> f(x-e)和f(x)> f(x+e),在x可作为P的近似值;如果找到的某个值x,同满足f(x)< f(x-e)和f(x)< f(x+e),则x可作为Q的近似值。
请仔细阅读和分析寻找P、Q近似值的方法和下列VB程序,在划线处填入合适代码,将下列程序补充完整。
'函数f用于计算f(x)的值Function f(x As Single) As Singlef = (1)End FunctionPrivate Sub Command1_Click()Const e = 0.001Dim a As Single, b As Single, c As Single, x As Singlea = f(-e):b = f(0)For x = 0 To 4 Step ec = f(x + e)If b > a And b > c ThenLabel1.Caption = "当x=" + Str(x) + "时,函数的极大值的近似值=" + Str(b) End IfIf (2) ThenLabel2.Caption = "当x=" + Str(x) + "时,函数的极小值的近似值=" + Str(b) End Ifa = b:b = cNext xEnd Sub第Ⅱ卷选考模块(共45分)A.算法与程序设计一、选择题:本大题13小题,每小题2分,共26分。