2014级信息技术学业水平考试算法真题库

更新时间:2024-05-08 09:28:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

2014级信息技术学业水平考试真题库(算法)

一、填空题

1、流程图是描述( )的常用方式。 A、程序 B、算法 C、数据结构 D、计算规则 2、下面不属于算法描述方式的是( )。 A、自然语言 B、伪代码 C、流程图 D、机器语言 3、以下运算符中运算优先级最高的是( )。 A、+ B、^ C、>= D、* 4、某程序中三个连续语句如下: a=1 b=2 c=b+a 它属于( ) A、顺序结构 B、选择结构 C、循环结构 D、以上三种都不是 5、穷举法的适用范围是( ) A、一切问题 B、解的个数极多的问题 C、解的个数有限且可一一列举 D、不适合设计算法 6、在现实生活中,人工解题的过程一般分为( ) A、理解分析问题→寻找解题方法→用工具计算→验证结果 B、寻找解题方法→理解分析问题→用工具计算→验证结果

C、用工具计算→验证结果→寻找解题方法→理解分析问题 D、用工具计算→验证结果→理解分析问题→寻找解题方法 7、下列关于算法的特征描述不正确的是( )

A、有穷性:算法必须在有限步之内结束 B、确定性:算法的每一步必须确切的定义 C、输入:算法必须至少有一个输入 D、输出:算法必须至少有一个输出 8、下列哪一个不是用于程序设计的软件( ) A、BASIC B、C语言 C、Word D、Pascal 9、下列可以作为合法变量名的是( ) A、a7 B、7a C、a-3 D、8

10、编程求1+2+3+........+1000的和,该题设计最适合使用的控制结构为( )。 A、顺序结构 B、分支结构 C、循环结构 D、选择结构 11、下列步骤不属于软件开发过程的是( ) A、任务分析与系统设计 B、软件的销售 C、代码编写与测试 D、软件测试与维护 12.以下程序段运行时,语句 k=k+1 执行的次数为( )次。 k=-10 do k=k+1 loop until k=0 A. 9 B. 10 C. 11 D. 12

13.已知x=6, y=5, 则以下运算结果为 True 的是( ) A.Not(x>y) B. (x<5)or(y>6) C. (x>=6)And(y>=5) D. Not(x>4) 14.模块化程序设计方法反映了结构化程序设计的( )基本思想。 A、自顶向下,逐步求精 B、面向对象 C、自定义函数、过程 D、可视化编程 15、一位同学想编程解决“韩信点兵”的问题,他制定的如下工作过程中,最恰当的是( ) A、设计算法,编写程序,提出问题,运行程序,得到答案 B、分析问题,编写程序,设计算法,运行程序,得到答案

1

C、分析问题,设计算法,编写程序,运行程序,得到答案 D设计算法,提出问题,编写程序,运行程序,得到答案 16、交换变量A和B, 语句为( )

A. A=B;B=C;C=A B. C=A;A=B;B=C C. A=B;B=A D. C=A;B=A;B=C 17.下列程序段执行结束后,变量Y的值是 Y=2

Do while y<=6 Y=y+y loop

A、2 B、6 C、8 D、16

18.在VB程序设计中交换变量x和y的值,应使用的赋值语句是( ) A、t = x : y=x : y=t B、x=y : y=t : t=x C、x=y : y=x D、t=x : x=y : y=t 19.下列程序执行后A、B的值是( ) A = 5 B = 6 A = B : B = A : A = B

A、5、6 B、6、6 C、6、5 D、5、5 20.流程图中表示判断框的是( ) A、矩形框 B、菱形框 C、圆形框 D、椭圆形框 21.以下描述中最适合用计算机编程来处理的是( )。 A、确定放学回家的路线 B、计算某个同学期中考试各科成绩部分

C、计算100以内的奇数平方和 D、在因特网上查找自己喜欢的歌曲 22.下列程序执行后A、B的值是( )。 A=30 B=40

A=A+B:B=A-B:A=A-B A、30、40 B、40、40 C、40、30 D、30、30 23.VB语言中,下列各种基本数据类型说明符中表示整型数的是( )。 A、Boolean B、Integer C、Single D、String 24.执行下列程序段后,变量x的值为( )。 x =3 : y = 77 Do While x < Sqr ( y ) x = x + 2 Loop A、7 B、8 C、10 D、9 25.下面是用VB编写的求1 + 1/2 + 1/3 +……+1/100和的程序,该程序循环终止时 i 的值是多少?( )

Private Sub Form_Activate( )

Dim i As Integer , sum As Integer sum = 0

For i = 1 To 100 sum = sum + 1/i Next i

Print “sum = “ ; sum End Sub A、i = 102 B、i = 100 C、i = 101 D、无法判断 26、由语句:Dim K(11) As Long,判断下列结论中错误的是( )。

2

A、语句定义了数组K,它的下标是从0到11 B、数组K共有12个分量 C、数组K的各个分量都是长整型数

D、数组K的各个分量的值将按从小到大的顺序自动排列 27、下列是合法变量名的是:( )

A、a-3 B、7 C、a$ D、text7 28、以下不属于算法基本特征的是( )。 A、可执行性 B、确定性 C、有穷性 D、无限性 29、用计算机程序解决问题时,调试程序和检测结果的目的是( ) A、前者用于检查语法是否正确,后者检查能否按要求完成任务 B、前者检查算法是否正确,后者检查是否有语法错误

C、前者用于检查语法是否正确,后者检查是否有病毒 D、两者无区别 30、下面属于逻辑运算符的是( ) A、or B、False C、True D、<> 31、下列程序段运行后,变量max 的值为 ( )。 a = 5 b = 10 max = a IF b > max Then max = b A、5 B、10 C、5和10 D、其他三项都不是 32、以下属于程序的基本控制结构的是( ) A、星形结构 B、选择结构 C、网络结构 D、平行结构 33、运用计算机程序解决实际问题时,合理的步骤是

A、设计算法---分析问题---编写程序---调试程序 B、分析问题---设计算法---编写程序---调试程序 C、分析问题---编写程序---设计算法---调试程序 D、设计算法---编写程序----分析问题--调试程序 34、在VB语言中,下列合法的变量名是

A、34ab B、ab34 C、*abc D、c\\c 35、下列逻辑表达式的值为“假”的是

A、2+4>8 B、3+12=15 c 、5>0 and 4>3 D、10/5<3

36、函数mid(c,n1,n2)的作用是从字符串C中n1位开始取出长度为n2的字串,那么,MID(”aBcDeFg”,3,3)的值为

A、aBc B、cde c、eFg D、cDe

37、程序有三种基本结构,下面哪个不属于三种基本结构? A、顺序结构 B、环形结构 C、选择结构 D、循环结构

38、vb的字符串运算符是”&”,该运算符主要用于连接两个或更多的字符串,如:”abcd”&”efg”连接后的运算结果为:”abcdefg”。那么,”1+2”&”3”的运算结果为: A、33 B、6 c、”1+23” D、true 39、程序设计语言的发展历程中,不包括

A、自然语言B、机器语言C、汇编语言D、高级语言 40、以下程序段执行后,整型变量a的值为 a=5 b=8 b=b-a a=a+b

A、2 B、3 C、5 D、8 41、在VB语言中,下列合法的变量名是

A、aa B、a*a C、7ab D、dim

3

42、在VB语言中,表示”a大于0且b小于12”的正确表达式是 A、b<12 or a>0 B、b>12 and a<0 C、a>12 or a<0 D、a>0 and b<12 43、列举所有可能的情况,逐个判断有哪些是符合问题所要求的条件,从而得到问题的解答,这是( )的思路。A、解析法B、顺序查找算法C、递归算法D、穷举法 44、已知S=1+2+3+……+N,找出一个最大数N,使得S<3000,编写程序,解决此问题,最合适的程序主体结构是()A、顺序结构B、选择结构C、循环结构D、分支结构 45、在VB语言中常用的字符串截取函数有: 函数名 功能 示例 结果 Mid(s,m,n) 从字符串s第m位开始,“EF” 截取长度为n的Mid(“ABCDEFG”,5,2) 子串 Left(s,n) Left(“ABCDEFG”,3) “ABC” 截取字符串s左边n个字符 Right(s,n) 截取字符串s右边n个字符 Right(“ABCDEFG”,2) “FG” 某人身份证号码S=”370102199602190000”,如果需要根据此身份证号码求出该人的“出生年月日”,下列表达式不能实现的是 ( ) A、mid(s,7,8) B、 right(left(s,14),8)

C、mid(s,7,4)+mid(s,11,2)+mid(s,13,2) D、 left(s,14)-left(s,6)

46、两个阻值分别为R1、R2的电阻并联后,电路阻值R可由公式 求解,下面能正确求出R的VB表达式是 ( )。

A (R1+R2)/(R1*R2) B R1+R2/(R1*R2) C R1*R2/(R1+R2) D R1*R2/R1+R2 47、如果一个4位数恰好等于它的各位数字的4次方和,则这个4位数称为“玫瑰花”数。例如1634就是一个玫瑰花数:1634=14+64+34+44。如果要求出所有的玫瑰花数,下列算法最合适的是( )。A 穷举法B 查找法C 解析法D 排序法

48、在VB语言中表示“x属于区间(0,1]”的正确表达式( )。 A. 00 or x<=1 C. x>0 and x<1 D. 0

选择题考点汇总:(请总结常考的知识点)

二、程序填空题:

4

1、以下程序N输入518时,写出运行结果。 Private Sub Command1_Click( ) dim n as long, s as long dim x as long

n= val(inputbox(“n=”)) s=0

do while n>0 x=n mod 10 s=s+x n=n\\10 loop print s

End Sub 运行结果:

2、现有一张白纸厚度大约是0.08毫米,对折一次,厚度变为0.16毫米,再对折一次,厚度变为0.32毫米……,对折多少次后,厚度超过珠穆朗玛峰的高度(8844.43米)

Private Sub Command1_Click( ) Height=8844.43 h =0.08 cnt=0

do while h

h= loop print cnt End Sub

3、分析完善程序 “完数”是指一个自然数恰好等于它的因子(不包含本身)之和。如6的因子为1、2、3,而6=1+2+3,因而6就是完数。再如28的因子为1、2、4、7、14,而28=1+2+4+7+14,因而28也是完数。 问题:输入一个正整数n,判断该正整数是否为完数。 要判断一个整数n是否为完数,最简单的方法是:

求出1到n-1之间的所有因子和为sum,如果sum的值和n的值相同,则n就是完数。 以下代码是判断n是否为完数的程序片段,请你补全代码:(8分) Dim n as long Dim sum As long n=inputbox(“n=”) For i = 1 To n-1

If n mod i=0 then sum= sum+i Next i

If sum=n then Print n & \是完数\Else

5

Print n & \不是完数\End if

4、写出程序运行结果

Private Sub Command1_Click() Dim sum As Integer Dim k As Integer sum = 0

For k = 1 To 10

If k Mod 2 = 0 Then sum = sum + k Next k Print sum

End Sub 运行结果:

5、分析完善程序(8分)

以下是求解一元二次方程ax2+bx+c=0(a≠0)的主要VB程序片段。请你补全代码: a =val(inputbox(“a=”)) b =val(inputbox(“b=”)) c =val(inputbox(“c=”))

d= ?求判别式d if d>0 then

x1=(-b+sqr(d))/(2*a) x2=(-b-sqr(d))/(2*a) print “x1=”;x1 print “x2=”;x2 end if

if then print “x=”;-b/(2*a) end if if d<0 then

print “无实数解!” end if

6、Private Sub Form_Activate( ) Dim a, b, c AS Integer

a=15;b=60;c=38

if a

m=a else m=b

end if if m>c then m=c end if Print “M=”;m

6

End Sub 运行结果:__________________

7、问题:输入一个正整数n,判断该正整数是否为素数(质数)。

要判断一个数n是否为素数,最简单的方法是:统计2到n-1之间的所有能整除n的整数个数s,若s大于0,则n不是素数,否则就是素数。 根据以上方法,完善以下程序代码。(8分) n=val(inputbox(“n=”)) s=0

for i=2 to n-1

if n mod i=0 then

s= ‘统计因数个数 end if next i

if then print n & “是素数” else

print n & “不是素数” end if

8、VB语言中绘制圆的方法是:circle(x,y),r 格式说明:其中(x,y)为圆心坐标,r为圆的半径。 下表中算法1是在窗体中绘制以(2000,2000)为圆心半径依次为100、200、、800的8个同心圆。 请补充完成算法2,使其实现与算法1相同的功能。(6分) 算法1 Circle(2000,2000),100 Circle(2000,2000),200 Circle(2000,2000),300 Circle(2000,2000),400 Circle(2000,2000),500 Circle(2000,2000),600 Circle(2000,2000),700 Circle(2000,2000),800 9、阅读下列程序,选出运行结果

For i=1 to 10 ?i控制*的行数

For j=1 to i ?j控制每行*的个数 Print “*”; ?输出* Next j

Print ?输出换行 Next i

算法2 Dim k as integer For k=1 to 8 Circle(2000,2000), . Next k 7

运行结果是: (请用英文字母填写,6分)

10、分析完善程序

考拉兹猜想:又称为3n+1猜想,指的是对于给定的每一个正整数,经过下列有限次变换后,最终都能变为1:

如果它是偶数,则对它除以2;

如果它是奇数,则对它乘3再加1;???? 如此循环,直到得到1为止。

例如 n=6 ,根据上述规则需要8次变换后得到1,变换过程:6—3—10—5—16—8—4—2—1. 以下是验证考拉兹猜想的主要VB程序片段,请你补全代码:(8分) Dim n As Long

Dim cnt As Long '变换次数cnt n = Val(InputBox(\ '输入正整数n cnt = 0

Do While n > 1

cnt = cnt + 1 '变换次数cnt累加 If n Mod 2 = 0 Then n =_______________ Else

n = _____________ End If Loop

11、阅读下列程序,写出运行结果 Dim x As Integer Dim y As Integer y = 0

For i = 1 To 5

x = Val(InputBox(\请输入:\

8

y = y + x Next i print y

程序运行后,依次输入:10 20 30 40 50 运行输出结果是: 12、分析解答问题 (6分) 下图所示的算法流程图:

开始

输入a、b的

输出c的值

执行情况如下:

结束 当输入a、b的值分别为3、8时,输出结果为5 当输入a、b的值分别为11、7时,输出结果为4

问题一:下列流程图填入虚线框中,符合条件的是( )(填:A/B/C)

问题二:依据问题一所选流程图,当输入a、b的值分别为9、6时,输出结果 为_____________。

13、Private Sub Form_Load( ) 14、计算1+3+5+??+99的值。

Private Sub Form_Activate( ) Dim X AS Integer,Y AS Interger

Text1.Text=”” Dim i, s AS Integer X=99;Y=98; M=X s = 0 If X

Print “S=”;s 运行结果:__________________

9

End Sub

15、分析程序,写出计算结果

Private Sub Form_Activate() Dim i,S as integer S=1

For i=1 to 4 S=S*i Next i Print “S=”;S End Sub

运行结果:__________________ 16、 计算1+1/2+……+1/50的值。 Private Sub Form_activate() Dim i,s as integer s=0

For i=1 to _______________ s=___________ Next i

Print “S=”;s End Sub

17、分析程序,写出计算结果

Private Sub Form_Activate() Dim I,S as integer S=0 For I=2 to 6 S=S+I Next I Print “S=”;S End Sub 运行结果:__________________ 18.分析程序,写出执行结果

Sum=0

For i=1 To 100 sum=sum+2 Next i print “Sum=”; sum 输出:__________ 19.完善程序,打印如下图形 *

** *** **** ***** ****** For i=1 To 6 For j=1 To ____ Print “*” Next j

________________

程序题考点汇总:(请总结常考的知识点)

10

三、选择算法解决问题:

我们在用计算机解决问题时,常用的算法有解析法、穷举法、递归法、选择排序法、插入排序法等,分析下列问题应采用哪种算法解决?

1、一玻璃球从高空做自由落体运动,在达到地面时速度为98m/s,请问,该玻璃球从高空开始下落到地面用了多少时间?。答案:___________________

2、求解“百鸡问题”:已知公鸡每只3元,母鸡每只5元,小鸡每3只1元。用100元买100只鸡,问每种鸡应各买多少? 答案:___________________

3、国内特快专递每200克为一个计费单位,200克以内20元,200克以上每续重200克(不足200克按200克计算)6元,现在要编写一个程序输入包裹重量自动计算出价格。 解决上述问题,哪种算法最合适? 答案:___________________ 4、已知:f(1)=1,f(2)=3

当n>2时,f(n)=2f(n-1)+3f(n-2)

编程求f(100)的值。解决上述问题,哪种算法最为合适?

答案:___________________

5、 水仙花数是一个三位数,其各位数字立方和等于该数本身,如153=1*1*1+5*5*5+3*3*3。求出所有的水仙花数。答案:____________________________

6、一张单据上有一个5位数的号码67口口8,其中百位和十位上的数字看不清楚了,但知道该数能够被78整除,也能被67整除。设计一个算法求出该号码。答案:___________________ 7、 搬砖问题:100块砖,100人搬,一个男人搬4块,一个女人搬3块,两个小儿抬1块,要

11

求一次全搬完,问需男、女、小儿各多少人。答案:___________________

8、直角三角形一条直角边长是24cm,其余的边长都是正整数,而且斜边的长度不超过50cm,求出所有满足条件的三角形。答案:__________________

选择算法题考点汇总:(请总结常考的知识点)

12

本文来源:https://www.bwwdw.com/article/tlwg.html

Top