《高中信息技术-VB枚举算法与程序实现-浏览题阅览题-会考复习题.doc》由会员分享,可在线阅读,更多相关《高中信息技术-VB枚举算法与程序实现-浏览题阅览题-会考复习题.doc(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、高中信息技术 VB枚举算法及程序实现 浏览题阅览题 会考复习题学校:_姓名:_班级:_考号:_评卷人得分一、选择题1使用枚举法解决问题,在列举问题的可能解的过程中( )A可以遗漏,但不应重复B不能遗漏,也不应重复。C可以重复,但不应遗漏。可以遗漏,也可以重复。【答案】B【解析】2有如下VB程序段m=a(1)For i=2 to 100If a(i) m then m=a(i)Next i该程序段执行后,变量m中存储的是( )A累加值 B计数值 Ca(1)至a(100)中的最大值 D最小值【答案】C【解析】3读程序,写出下列程序的输出结果55、s = 1 For j = 100 To -100
2、Step -1s = s * jNext jMsgBox (s)上述程序段中s = s*j 的执行次数是( )A、400 B、 401 C、200 D、201【答案】D【解析】4统计11 000间个位数是4,且能被9整除的数共有多少个,可以采用的算法是( )A查找算法 B枚举算法C解析算法 D排序算法【答案】B【解析】5在游戏中经常有开数字密码锁得场景,已知一个6位数的密码锁,正确的数字顺序组合是由下面一组数字426815经过两次冒泡排序得到,请问开锁的正确数字组合可能是( )。A864251 B842651 C126845 D124685【答案】A【解析】6某食品连锁店5位顾客贵宾消费卡的积
3、分依次为810,512,613,700,900。采用选择排序算法对其排序,若完成第一遍时的结果为:512,810,613,700,900,则完成第二遍的结果是( )A 512,613,700,900,810B 512,810,613,900,700C 512,900,613,700,810D 512,613,810,700,900【答案】D【解析】7模拟剪刀石头布的游戏,骰子是一个正六面体,用13这3个数分别代表剪刀、石头、布这三种情况,使用RND随机函数可以表示为( )A INT(RND(3)+1)B INT(RND*2+1)C INT(RND(2)+1)D INT(RND*3+1)【答案】
4、D【解析】8三个正整数a、b、c满足等式a2+b2=c2,a、b、c称为“勾股数”,求出100以内所有“勾股数”可采用的算法是( )A枚举算法 B解析算法 C冒泡排序 D顺序查找【答案】A【解析】9有如下VB程序:Dim i As Integer, j As Integer, k As string, n As Integern = 3List1.ClearFor i=1 To nk =For j=1 To ik = k+*Next jList1.AddItem kNext i该程序运行后, 在列表框List中显示的是( )A B C D 【答案】A【解析】10关于枚举算法的说法错误的是( )
5、A一般是通过循环中嵌套分支结构来实现的。B 循环结构用来“枚举”,分支结构用于“检验”。C列举所有可能解的范围时,可以扩大但不能缩小,以防漏解。D采用枚举法时,也可能找不到符合条件的解。【答案】C【解析】11VB标准函数RND的作用是返回一个大于等于0且小于1的随机数。只能产生大于等于100且小于200随机 整数的VB表达式是 ( )A、Int(Rnd*100) B、Int(Rnd*101+100) C、Int(Rnd*99+100) D、Int(Rnd*100+100) 【答案】D【解析】下列语句用于计算“s=1+4+7+10+25”的值。For i=1 To 25 Step12Next i
6、 s=0 s=s+i正确的语句顺序是( )ABCD【答案】C【解析】13解决上问题所用的算法是:( )A、枚举法 B、 解析法 C、 顺序查找 D、选择法【答案】B【解析】14已知三角形的三条边长分别为、,半周长,该三角形面积计算公式为:,计算S的VB语句是( )AB)CD)【答案】D【解析】15小李有一被污损的保修卡(如图),客服热线中有一个数字被污损掉了,找出这个数字的适合算法是( )A枚举算法 B解析算法C对分查找算法 D递归算法【答案】A【解析】16数组a中存放了某校田径运动会中八名100米短跑运动员的成绩,数据存放情况如下表:a(1)a(2)a(3)a(4)a(5)a(6)a(7)a
7、(8)12.813.312.312.613.512.11313.8若按升序排列,并采用冒泡排序算法自右向左进行比较和交换,那么前两轮排序的数据交换总次数为( )。A 5 B6 C 7 D 8【答案】D【解析】17三个正整数a、b、c满足等式a2+b2=c2,a、b、c称为“勾股数”,求出100以内所有“勾股数可采用的算法是( )A、枚举算法 B、解析算法 C、冒泡排序 D、顺序查找【答案】A【解析】评卷人得分二、填空题18请认真阅读并分析下面Visual Basic程序代码,按要求完成题目。Dim a(1 To 6) As IntegerDim n, i, j, k As IntegerPri
8、vate Sub Command1_Click()For i = 1 To n - 1For j = (1) To nIf a(i) a(j) Thenk = a(i): (2) : a(j) = kEnd IfNext jNext iFor i = 1 To nlist2.AddItem Str(a(i)Next IEnd SubPrivate Sub Text1_KeyPress(KeyAscii As Integer)If KeyAscii = 13 Thenn = n + 1a(n) = Val( (3) ) List1.AddItem Str(a(n)Text1.Text = : T
9、ext1.SetFocusEnd IfEnd Sub程序中出现了text和list两种控件,其中list控件的中文名称是列表框,text控件的中文名称是 。(2)在上述程序段中3处带序号的空白地方补充恰当的语句,完善程序。【答案】文本框 (1)i+1 (2)a(i) = a(j) (3)text1.text【解析】19下面程序的功能是:计算表达式1+3+5+(2n-1)的值,在文本框Text1中输入n的值,结果在文本框Text2中输出。则程序中划线处的语句应填_。Private Sub Command1_Click()Dim sum As Long,i As Integer,n As Inte
10、gersum = 0n = Val(Text1.Text)For i = 1 To 2 * n - 1 Step 2 Next iText2.Text=Str(sum)End Sub 【答案】sumsum+i【解析】20王敏的EMail邮箱密码忘记了,但她需要收一封很重要的来信,请你帮她尽可能找出密码。她零星记得自己的密码信息:密码是六位数字,前面两位为31;最后两位数字相同;能被16和46整除。程序界面如图所示,单击“帮助找回密码”按钮(Command1)后,可能的密码显示在列表框List1中。解决此问题的相应程序如下:Private Sub Command1_Click()Dim a As
11、 Integer,s As long,b As Integer,i As IntegerFor i0 To 9 999 _s310 000iIf s Mod 460 Then _ b(s Mod 100)100 If ab Then List1.Addltem Str(s) End IfEnd IfNext iEnd Sub(1)解决此问题的算法是_(选填:枚举算法或排序算法)在程序和画线处,填入适当的语句或表达式,把程序补充完整:(2)程序中画线处应填入_。(3)程序中画线处应填入_。【答案】(1)枚举算法 (2)step 16 (3)as mod 10【解析】21输入一个三位数的整数,要求
12、将此三位数的各位上的数字重新排列,组成一个尽可能大的三位数。例如:输入213,重新排列可得到尽可能大的三位数是321。现要求编写VB程序(运行界面如图所示),实现如下功能:在文本框Text1中输入一个三位数整数,单击“求解”按钮Command1,在文本框Text2中显示重新组合后的最大三位数整数。某同学按此要求编写的程序如下,其中函数max(x)用于求解最大三位数整数,但加框处代码有错,请改正。_ _Function max(x As Integer) As IntegerDim a As Integer, b As Integer, c As Integer, t As Integera =
13、 x 100b = (x 10) 10 c = x mod 10If a b Then t = a: a = b: b = tIf a c Then t = a: a = c: c = tIf b c Then t = c: c = b: b = tmax = c* 100 + b * 10 + a End Function Private Sub Command1_Click()Dim n As Integer, y As Integern = Val(Text1.Text)y = max(n)Text2.Text = Str(y)End Sub【答案】 (x10) mod 10 a*100
14、+b*10+c【解析】22现需计算1*2*3*n=?有如下程序段,在划线处填入合适的语句或表达式,完成程序。s=1i=1Do While i=nS = s * ii = i + 1【答案】Loop【解析】23本程序要求完成的功能是:计算s=1/1+2/(1*2)+3/(1*2*3)+ n/(1*2*3*n)的值。请将已有VB代码补充完整。n = inputbox(“请输入n的值”)s = 0_(1)_For i = 1 to nt = t * is = s + _(2)_Next iPrint s(1)_ (2)_【答案】(1)t=1(2)i/t【解析】24素数:只能被1和它本身整除的自然数。
15、要求编写VB程序找出任意两个整数之间中所有的素数及个数,程序运行界面如下图所示。请根据算法将下列程序补充完整。Function prime(a As Integer) As BooleanDim j As Integerprime = Truej = 2Do While prime And j = a 2If a Mod j = 0 Thenprime = FalseExit DoEnd If LoopEnd FunctionPrivate Sub Command1_Click( )Dim i As Integer, a As Integer, b As IntegerDim count As
16、 Integera = Val(Text1.Text)b = Val(Text2.Text)For i = a To bIf = True ThenList1.AddItem Str(i)count = count + 1End IfNext iLabel1.Caption = 素数共有 + Str(count) + 个!End Sub【答案】 j = j + 1 prime(i)【解析】本题考核VB基本语句含义的理解,自定义函数的应用。25有如下Visual Basic程序:Private Sub Command1_Click( )Dim s As IntegerDim I As Integ
17、erS=0For i=1 To 10s=s+i7Next iText1.text=str(s)End sub该程序段运行后,文本框Text1中显示_【答案】4【解析】26流程图是实现输出1100之间所有能被 7整除的整数。若再要统计其个数,则要设置一个计数器c, c = 0,如图所示,则计数器c=c+1应置于编号 处。【答案】2【解析】评卷人得分三、操作题27如果一个整数是另一个整数的平方,则称该数是“完全平方数”。如:1=11,4=22,9=33,所以1、4、9是完全平方数。编写程序,统计100到10000之间的所有完全平方数的和。(4分)【答案】sum = 0for i=10 to 100sum = sum + i*inextprint sum【解析】11 / 12试卷第11页,总12页