1、- 1 -浙江省台州市 2016-2017 学年高一信息技术下学期第四次统练试题一、选择题(本大题共 12 小题,每小题 2 分,共 24 分。在每小题给出的四个选项中,只有一个符合题目要求)1下列问题不能用算法描述的是 ( )A找出所有能被 3 整除的自然数 B输入身高体重,判断体型情况C找出 1000 个整数中的最大值与最小值 D将(64) 10 转换为对应的二进制数2在 VB 中,语句 Text1.Text=“无解“中的“Text”是( ) A对象名 B属性名 C属性值 D方法名3. 下列 VB 表达式中,计算结果为 3 的是( ) AAbs(-3.2) BLen(“a_8“) CSqr
2、(3)+1 DInt(2.9)4VB 中,能够正确表示代数式31|x的是 ( )Ax3+1/abs(x)+sqr(x) B(x3+1)/abs(x)+sqr(x)Cx3+1/(abs(x)+sqr(x) D(x3+1)/(abs(x)+sqr(x)5. 执行如下 VB 程序段S=0For i=20 To 1 Step -5S=S+1Next iText1.text=str(s)文本框中显示的值是( )A50 B20 C5 D46. 某 VB 程序设计界面如第 6 题图所示,下列说法正确的是( )第 6 题 图- 2 -第 7 题图工程文件是“工程 1 .vbp” 将 text 属性值删除,图中
3、处将不会显示“text1” 该窗体中共有 3 个对象 窗体名称是“整除问题” A. B. C. D. 7某算法的部分流程图如图所示,执行这部分流程后,变量 x 和 Flag 的值分别是A2,True B3,True C2,False D3,False8.某算法的部分流程图如第 8 题图所示,执行这部分流程后,变量 a、b、c 的值分别是( )A3 6 9 B4 6 9 C3 24 33 D4 24 33 9有如下 Visual Basic 程序段:S=0:k=1Do while k =3 Then s=skk=k1Loop该程序段运行后,变量 s 和 k 的值分别是( )A3 , 3 B5,4
4、 C3,5 D4,510.计算器中乘方运算实际上是通过累乘的方法实现的。实现计算器上 xy 运算处理的算法部分流程图如第 10 题图所示,下列说法正确的是( )A框图中该填入的是 fx*jB框图中该填入的是 ff*ja0,b1,c0aa+1bb*acc+ba3?YN第 8 题图N j 1,f 1 j= 0 Thenn=n+1List1.AddItem Str(a(i)Elsem=m+1List2.AddItem Str(a(i)Next则该程序段出错的原因是缺少了( ) ANext Bi CEnd If DFor二、非选择题(本大题共 5 小题,共 26 分)13.一个大于 1 的自然数,除了
5、 1 和它本身外,不能被其他自然数整除的数称为质数又称素数,下列程序用来判断文本框 text1 中输入的数是否素数,请完善以下三处代码。Dim i As Integer, m As Integer ,flag as Booleanm = flag= For i = 2 To int(sqr(m) If Then flag=falseExit For End ifNext i If flag=true Then Text2.Text = str(m) +“是素数“ Else Text2.Text = str(m) +“不是素数“ End if第 12 题图- 5 -14.对称字符串的特征是从左到
6、右读和从右到左读是完全一样的。如“abba”是对称的,“abcba”也是对称的。判断字符串是否对称的 VB 程序段如下, 请完善以下两处代码s=Text1.Textn=Len(s) s 是待判断的字符串k=0:j=nFor i=1 to n/2c1=Mid(s,i,1) c2=Mid(s,j,1)If c1 = 0.0001Pi = Pi + tn = s= t = s *1 / nLoopText2.Text = End Sub- 6 -16.在文本框 text1 中输入一个 8 位数,单击统计按钮统计各数字出现的个数,并输出出现次数最多的那个。运行效果如第 16 题图所示:第 16 题 图
7、(1)在设计程序界面时,要清空文本框中的显示内容,应修改该文本框中的 属性。(2)实现上述功能的 VB 程序如下,请在划线处填入合适代码。Private Sub Command1_Click()Dim n As Long, m As IntegerDim a(0 To 9) As Integern = Val(Text1.Text)List1.ClearFor i = 0 To 9a(i) = 0Next iDo While n 0t = n Mod 10a(t) = a(t) + 1 Loopm = a(0)For i = 1 To 9If a(i) m Then m = a(i): k =
8、 iList1.AddItem Str(i) & “:“ & Str(a(i) & “个“- 7 -NextLabel2.Caption = “出现最多的数字是:“ + End Sub17.小李父母开了一家农家乐,顾客可以到桔园自摘桔子,收费标准是门票每人 20 元,采摘的桔子每斤 10 元,付费时若能完成小游戏则有优惠。用 VB 软件设计的自摘收费程序,功能如下:在文本框 Textl 中输入自摘的人数 n,在文本框 Text2 中输入摘得桔子重量 w。界面右上方是小游戏部分,程序在文本框 Text3 显示随机产生的桔子层数 m,根据图中所示的堆桔子方法(第 1 层 1 个;第 2 层 4 个
9、;第 3 层 9 个),请顾客计算出 m 层桔子总数 s,输入到文本框 Text4 中,单击“是否优惠计算”按钮 Command1,就会在标签 Label4 中输出最后的费用 f,并在标签 Label7 中给出提示是否“优惠后的费用”。运行效果如第 17 题图所示: (1)自摘收费程序所用的算法是 (填:解析算法/枚举算法)。(2)为实现上述功能,请在划线和处填入合适的代码。Dim m As IntegerPrivate Sub Command1_Click() Dim n As Integer, s As Integer Dim w As Single, f As Singlen = Val
10、(Text1.Text) 输入大人人数 nw = Val(Text2.Text) 输入重量 w- 8 -f = 20 * n + 10 * w 计算无优惠的费用 fs = 0For i = 1 To m 计算桔子总数s = s + i * iNext iIf s= Then 判断是否拿到优惠计算费用f = f * 0.5 + s * 0.3 计算优惠后的费用Label7.Caption = “恭喜你,这是优惠后的费用!“ElseLabel7.Caption = “很遗憾,你没有算对哦!“End IfLabel4.Caption = Str(f) 输出最后的费用 fEnd SubPrivate
11、Sub Form_Load()Randomizem = 随机产生 15 层及以内的桔子层数不含 0Text3.Text = Str(m)End Sub(3)若 3 位顾客摘得 5 斤桔子,游戏中需要计算出 3 层桔子的总个数,但是他们没有算对桔子个数,在 text4 中输入了 16,那么这 3 位顾客需付总费用 元。- 9 -参考答案:一、选择题(本大题共 12 小题,每小题 2 分,共 24 分。在每小题给出的四个选项中,只有一个符合题目要求)1-5:A B B D D 6-10: A C D C D 11-12: C C二、非选择题(本大题共 5 小题,除标注外,每空 2 分,共 26 分)13 val(Text1.Text) true m Mod i = 014. j-1 k=015. n+1 - s Str(Pi * 4)16. (1)TEXT n = n 10 Str(k)17.(1) 解析算法 (2) VAL(TEXT4.TEXT) / TEXT4.TEXT INT(RND*15)+1 / INT(RND*15+1) (3) 110