算法真题有答案.docx
- 文档编号:18401812
- 上传时间:2023-08-16
- 格式:DOCX
- 页数:20
- 大小:115.58KB
算法真题有答案.docx
《算法真题有答案.docx》由会员分享,可在线阅读,更多相关《算法真题有答案.docx(20页珍藏版)》请在冰点文库上搜索。
算法真题有答案
2017年冬季学业水平考试算法与程序设计新增五套
第一套
23、下列选项中,关于算法的描述正确的是( )。
A算法只能用自然语言描述 B算法必须在有限步骤内实现
变量名命名规则:
必须以字母开头,可以包含字母、数字和下划线(_),其他符号不能用,也不能使用VB中的保留字、关键字、函数名等。
C算法就是一种高级程序设计语言 D算法可以有0个或多个输入,但只能有一个输出
24、下列选项中,能作为VB程序变量名的是( )。
Awhile B4A123 Ca%c Ddist
25、以下程序段执行后,输出结果为( )。
m=29
Ifmmod3<>0:
如果m除以3的余数不为0或如果m不能被3整除。
IfmMod3<>0 Then
Print m & “不能被3整除”
Else
Print m & “能被3整除”
End If
字符串的特征就是有””。
Text1.text、label1.caption、command1.caption、form1.caption等全都是字符串类型的。
An能被3整除 Bn不能被3整除 C29不能被3整除D29能被3整除
26、下列VB表达式中,值为字符串类型的是( )。
(1)Abs(x)
(2)Text1.Text (3)”123+45”(4)Sqr(x)(5)Labell.Caption
A
(1)(3)(5) B
(2)(3)(5) C
(2)(4)(5) D
(1)
(2)(3)
赋值语句格式:
变量=表达式,把右边的值赋给左边的变量。
27、在VB中,下列哪个选项是正确的赋值语句?
( )
A2018=x B5s=80 Ca+b=c Ds=s+5
循环次数n
24n能被2整除( 初值)
112n能被2整除
26n能被2整除
33n不能被2整除
退出For循环
28、阅读程序,写出运行结果
DimnAsInteger
n=Val(InputBox(“n=”))
DoWhilenMod2=0
n=n\2
Loop
Printn
程序运行时,输入24,输出n的值是:
3。
29、分析并完善程序
以下是计算s=1+6+11+…+101的程序代码,请完善程序。
DimsAsInteger
DimiAsInteger
s=0
Fori=1To101Step5
s=s+i
Nexti
Prints
30、算法设计与程序实现
某市出租车收费标准如下:
(1)3公里内(含3公里),收费8元;
(2)超过3公里但未超过6公里部分,按1.5元/公里收费;
(3)超过6公里部分,按2.25元/公里收费。
根据以上标准,输入出租车行驶的公里数,请计算顾客需付费多少元?
【参考代码】
DimsAsSingle
DimpAsSingle
s=Val(InputBox(“s=”))
Ifs<=3Then
p=8
End If
If______________Then
p=1.5*(s-3)+8
EndIf
Ifs>6Then
p=2.25*(s-6)+1.5*3+8
EndIf
Printp
根据上述回答下列问题:
1、本题采用的算法是__________(填写:
解析法/查找法/枚举法/排序法)。
2、程序代码中空白处应填写的条件是____________(填写字母:
A/B/C/D).
A3
B3≦s≦6
C s>3Ands<=6
Ds>3Ors<=6
第二套
23、设a=2,b=5,在VB中,表达式a>bAndb>3的值是( )。
三种逻辑运算符:
notandor
AandB:
A、B都为true,结果才为true.
AorB:
A、B有一个为true,结果就为true.
notA:
A为true,结果为false;A为false,结果为true.
A1B-1CFalseDTrue
24、以下程序段运行后,x和st的值分别是( )。
Dim x As Integer
Dim st As String
x=123+678
st=”123”+”678”
A 123678 “123678”B 801 “123678”C 123678 “801”D 801 “801”
25、用流程图表示条件“A>B”是否成立,要用到以下哪个图形?
( )
A 平行四边形B 菱形C 圆角矩形D直角矩形
26、下列选项中,能作为VB程序变量名的是( )。
A dimB3abCa*bDxy
27、以下程序段运行后, s的值是( )。
n=0
s=0
Do While s<=10
n=n+3
s=s+n
loop
A30B18C0D3
28、阅读程序,写出运行结果
Dima(10) As Integer
DimiAsInteger
a
(1)=1
a
(2)=1
Fori=3To6
a(i)=a(i-1)+a(i-2)
Next i
Printa(6)
上述程序运行后,输出a(6)的值是8。
(6分)
29、分析并完善程序
以下是计算s=1*2*3*…*10的程序代码,请补全程序。
(6)
DimsAsLong
DimiAsInteger
s=1
Fori=1To10
s=s*i
Nexti
Prints
30、算法设计与程序实现
勾股数
求出100以内满足a
【参考程序】
DimaAsInteger
DimbAsInteger
DimcAsInteger
Fora=1To100
Forb=1To100
Forc=1To100
IfThen
Printa;b;c
EndIf
Nextc
穷举法:
又叫枚举法。
Nextb
Nexta
1、本题采用的算法是(填写:
解析法/枚举法/排序法/递归法)。
2、程序代码中空白处应填写的条件是________(填写字母:
A/B/C/D).
A a
B a
C a
D a
第三套
23、下列选项中,能作为VB程序变量名的是( )。
A、s+1B、3stuC、trueD、s1
24、下列哪个程序段的运行结果如图1所示?
( D )
******
******
******
******
******
图1
A、
for i=1 to5
For j=1 to 6
Print”*”;
next i
nextj
B、
for i=1 to5
for i=1 to 6
print”*”;
next i
next i
C、
for i=1 to5
For j=1 to 6
Print”*”;
next j
nextj
D、
for i=1 to5
For j=1 to 6
Print”*”;
next j
nexti
25、在VB中,Int(x) 函数的功能是返回不大于x的最大整数,设a=3 ,b=4,c=5,则下列表达式的运算结果中值最大的是( )。
A、Sqr(c)B、Abs(a-b)C、Int(2*a-c/b)D、a^2+b^2-c^2
26、在VB中,用变量code存储学生的借阅卡编码(code=”N020170502”),则变量code 的数据类型应定义为( )。
A IntegerB DoubleC StringD Single
27、VisualBasic程序设计语言属于( )。
A、汇编语言B、自然语言C、高级语言D、机器语言
28、阅读程序,写出运行结果
DimiAsInteger
DimxAsInteger
DimyAsInteger
y=30
Fori=1 To 3
x=Val(InputBox(“x=”))
If y y=x End If Next i Print y 程序运行后,依次输入: 36 87 51 运行后输出结果是____87________。 (6分) 29、算法设计与程序实现 (拖动滚动条浏览全部试题内容,点击右侧图标可切换输入法) GDP增长问题 某省2016年的GDP是6.7万亿元,如果每年按7%的比例增长,问多少年以后此省的GDP超过15万亿? 【算法分析】 假设n 年后此省的GDP超过15万亿元,根据题意得出数学关系式? 求最小的n。 【参考程序】 Dim p As Single ’p用于记录GDP的值 Dim r As Single ’r用于记录GDP的年增长比例 Dim n As Integer ’n用于统计年数 p=6.7 r=0.07 n=0 DoWhile_________ p=p*(1+r) n=n+1 Loop Print n& ”年后,GDP的值超过15万亿元。 ” 根据上述回答下列问题: (共6分,每空3分) 1、 本题采用的算法是______________(填写: 解析法/枚举法/排序法/递归法)。 2、 写出程序中空白处表达式____p<=15_______。 30、算法设计与程序实现 判断车牌的单双号 【背景知识】 为了保障空气质量,减少雾霾,某市决定当空气污染严重时,实行汽车单双号限行,违反规定的车辆将予以处罚。 如何让高清摄像头自动判断车牌的单双号,交警犯了愁,他需要编程高手的你帮忙,完善下面的程序。 (提示: (1)所有车牌号中都含有数字,并且车牌号的长度都是6; (2)以车牌中最后一位阿拉伯数字的奇、偶来决定单双号。 ) (1)输入: AD2367 (2)输入: A8888A (3)输入: A8963C 输出: 单号 输出: 双号 输出: 单号 【算法描述】 自然语言 流程图 第1步: 输入车牌号 第2步: 取车牌号的最后一位x; 第3步: 判断x是否为数字,如果是,转第4步;如果不是,则依次取得倒数第二、三……位判断,知道找到数字为止; 第4步: 判断x 是奇数还是偶数,然后输出相应的结果。 开始 请根据上述算法描述补全代码 DimnAsInteger DimsAsString ’定义s 为字符串类型 DimxAsString s=InputBox(“s=”,s) ‘将输入的车牌号赋值给s n=6 ‘车牌号的长度为6 x=Mid(s,n,1) ‘取车牌号s的第n位 DoWhilex<”0”Orx>”9” ‘x不是数字字符,则取x的前一位 _______①_______ x=Mid(s,n,1) ‘取车牌号s的第n位 Loop If_______②_______then Print“双号” Else Print“单号” EndIf (提示: Mid(s,m,n)的功能: 从字符创S的第m位开始,截取长度为n的子串。 例如: Mid(“A8963C”,5,1)的返回值是“3”。 ) 请完善上述程序: (共8分,每空4分) 1、 根据题意,程序中空白①处应填写: ________n=n-1________ 。 2、 根据题意,程序中空白②处应填写: ______(填写字母: A/B/C/D)。 A、Val(x)\2=0 B、Val(x)Mod2=1 C、Val(x)Mod2=0 D、Val(x)Mod2<>0 第四套 23、以下程序段运行后,y的值是( )。 x=3 Ifx>3 Then y=2*x Else y=3*x+1 endif A25B26C10D5 24、某晚会的猜数字游戏中,有100张写有1~100之间整数的卡片,主持人随机抽取一张卡片,让大家竞猜。 有一种方案是: 第一次猜50,若提示低了,则第二次猜75,若提示还是低了,则第三次猜87,依次类推;若第一次猜50,提示高了,则第二次猜25,若提示还是高了,则第三次猜12,依次类推;……。 这种每次缩小一半查找范围而达到迅速确定目标的算法称为( )。 A 顺序查找法B 排序法C 解析法D 二分查找法 25、在平面直角坐标系中,设点A(x1,y1)、点B(x2,y2),则AB两点之间的距离为: 该程序正确的VB表达式是( )。 A Sqr((x1-x2)^2+(y1-y2)^2)B Sqr[(x1-x2)^2+(y1-y2)^2] C Sqr((x1-x2)2+(y1-y2)2)D Sqr[(x1-x2)2+(y1-y2)2] 26、下列语句正确定义了一个单精度实型变量x 的是( )。 ADimxAsSingleB 其它三项都不对 CDimxAsIntegerDDimxAsString 27、在VB中表示“x 属于区间[a,b)”的正确表达式是( )。 Aa<=xAndx 28、阅读程序,写出运行结果 循环次数is输出 0 111# 256## 3915### 13i(13)不在1to10之间,退出for循环。 DimsAsInteger DimiAsInteger s=0 Fori=1To10Step4 Print“#”; s=s+i Nexti Prints 上述程序运行后,输出“#”的个数是___3____;输出s的值是___15_____。 (共6分,每空3分) 29、阅读程序,写出运行结果 DimaAsInteger DimbAsInteger DimrAsInteger a=98 b=63 循环次数abr 986335(r<>0) 1633528(r<>0) 235287(r<>0) 32870(r=0,退出do循环) r=aModb DoWhiler<>0 a=b b=r r=aModb Loop Printb 程序运行后,输出结果为: _____7______。 (6分) 30、算法设计与程序实现 拖动滚动条浏览全部试题内容,点击右侧图标可切换输入法 换钱问题 要将一张100元的钞票,换成等值的5元、2元、1元一张的钞票共50张。 其中一种换法如下: 5元: 3张 2元: 38张 1元: 9张 求出所有的换钱方案。 【算法设计】 x表示5元的张数: 1≦x≦20; y表示2元的张数: 1≦y≦50; z表示1元的张数: 1≦z≦100. 【参考程序】 DimxAsInteger DimyAsInteger DimzAsInteger Forx=1To20 Fory=1To50 Forz=1To100 If______________Then Printx;y;z ’xyz之间以分号分隔 EndIf Nextz Nexty Nextx 根据上述回答下列问题: (8分,每空4分) 1、本题采用的算法是_____________(填: 解析法/枚举法/排序法/递归法)。 2、程序代码中空白处应填写的条件是_______________(填写字母: A/B/C/D)。 A 5x+2y+z=100 Or x+y+z=50 B 5x+2y+z=100 Andx+y+z=50 C 5*x+2*y+z=100Orx+y+z=50 D 5*x+2*y+z=100And x+y+z=5 第五套 23、在VB中,下列属于字符串常量的是( )。 Acnt B3.14 C2018 D“Visual Basic” 24、将数学表达式转化为VB表达式,下列选项正确的是( D )。 25、以下程序段运行后,整型变量s的值是( )。 s=1 Fori=1To10Step3 s=s*i Next i Print s A 55 B 3640 C 28 D 280 26、 以下程序段运行后,整型变量max1,min1的值分别是( )。 a=3 b=5 max1=(a+b)/2+Abs(a-b)/2 min1=(a+b)/2-Abs(a-b)/2 A3,5B5,3C3,3D5,5 27、给定一个四位数的年份,判断它是否为闰年: 四年一闰、百年不闰;四百年又闰(年份能被4整除但不能被100整除是闰年,或者年份能被400整除也是闰年。 例如2004年和2000年都是闰年,2100年不是闰年)。 下列判断年份。 下列判断年份y是闰年的表达式正确的是( )。 AyMod4=0OryMod100<>0AndyMod400=0 ByMod4=0 CyMod4=0AndyMod100<>0OryMod400=0 DyMod400=0 28、分析并完善流程图 执行流程图,当输入x的值为4时,输出y的值为2,则菱形判断框中的条件可能为________(填写字母: A/B/C/D6分)。 Ax>3 B x>4 Cx<=4 D x<=5 29、分析并完善程序 以下是计算s=12+22+32+…+1002的程序代码,请补全程序。 (共6分,每空3分) DimsAsLong DimiAsInteger s=0 Fori=1To100 s=s+___i*i__________ nexti_____ Prints 30、算法设计与程序实现 拖动滚动条浏览全部试题内容,点击右侧图标可切换输入法 十进制整数转换为二进制整数采用“除2取余”法。 算法描述 第1步: 输入一个十进制正整数n; 第2步: 将n除以2,记录余数r; 第3步: 将r追加到字符串s的左边(s 用于记录转换后的二进制数,初值为空); 第4步: 将n 除以2的商赋给n ; 第5步: 若n 为0,则转到第6步;若n不为0,转到第2步; 第6步: 输出s (即逆序输出每一次的余数)。 举例说明 界面设计 将一个十进制数13转换为二进制。 【参考程序】 DimsAsString ‘记录转换后的二进制数 DimnAsInteger ‘记录十进制正整数n DimrAsInteger ‘记录n除以2的余数 s=“” ‘s 记录转换后的二进制数,初值为空 n=Val(Text1.Text) DoWhilen>0 r=______①________ s=r&s n=______②________ Loop Text2.Text=s 1、 上述算法描述采用的方法是: ______________(填: 自然语言/伪代码/流程图)。 (2分) 2、 在参考程序①处应填入____________(填写字母: A/B/C/D)。 (3分) A nMod2 Bn\2 C2Modn Dn/2 3、在参考程序②处应填入____________(填写字母: A/B/C/D)。 (3分) AnMod2 Bn\2 C2Modn Dn/2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 算法 真题有 答案