山东省的信息技术学考算法与程序设计试的题目答案附后讲解.docx
- 文档编号:15327611
- 上传时间:2023-07-03
- 格式:DOCX
- 页数:16
- 大小:245.34KB
山东省的信息技术学考算法与程序设计试的题目答案附后讲解.docx
《山东省的信息技术学考算法与程序设计试的题目答案附后讲解.docx》由会员分享,可在线阅读,更多相关《山东省的信息技术学考算法与程序设计试的题目答案附后讲解.docx(16页珍藏版)》请在冰点文库上搜索。
山东省的信息技术学考算法与程序设计试的题目答案附后讲解
山东省学考算法与程序设计试题
选择题
1、下列VB表达式中:
⑴Sqr(x)⑵Text1.text⑶Command1.caption⑷"45"+"34"⑸45+34值为字符串类型的是()
A⑴⑵⑶B⑵⑶⑷C⑴⑶⑸D⑵⑷⑸
2、如果给出三条线段的长分别为a、b、c,且已知a≤b≤c,要问这三条线段能否构成三角形,仅需下列选项中的哪个判定条件即可?
()
A其他选项都不对Ba+c>bCa+b>cDb+c>a
3、VB程序中“DimnAsInteger”这条语句的作用是()
A定义一个事件过程B定义一个数据输入方法
C定义一个变量D定义一个数据处理方法
4、关于算法的描述,下列选项中正确的是()
A算法的每一步骤必须有确切的含义B算法必须有输入
C算法的步骤可以是无穷的D算法本身就是一种程序设计语言
5、关于算法的描述,正确的是()
A同一种算法只能用一种程序语言实现
B算法就是数值计算的方法
C描述算法的方法只有流程图
D算法是描述解决问题的方法和步骤
6、算法的描述方法有多种,下列选项中不适合描述算法的是()
A机器语言B自然语言C流程图D伪代码
7、长度分别为a、b、c的三条线段,能够组成三角形的条件是()
Aa+b>cOra+c>bOrb+c>aBa+b>cora+c>bAndb+c>a
Ca+b>cOra+c>bAndb+c>aDa+b>cAnda+c>bAndb+c>a
8、已知海伦公式:
S=
,其中p=
(a+b+c),a、b、c分别为三角形的三条边长。
利用海伦公式求三角形面积的算法属于()
A排序法B解析法C穷举法D查找法
9、以下程序段中循环体执行的次数是()
s=0
i=0
DoWhiles<10
i=i+1
s=s+i*i
Loop
A1B3C2D4
10、下列VB表达式中,能正确表达不等式方程|x|>1的解的是()
Ax>-1andx<1Bx>-1orx<1
Cx<-1andx>1Dx<-1orx>1
11、一元二次方程ax2+bx+c=0(a≠0)的两个实数根分别为:
x1=
x2=
下列表达式正确的是()
Ax2=-b-sqr(b^2-4*a*c)/(2*a)Bx1=(-b+sqr(b^2-4ac))/(2*a)
Cx2=(-b-sqr(b^2-4*a*c))/(2*a)Dx1=-b+sqr(b^2-4*a*c)/(2*a)
12、关于算法的描述,下列选项中正确的是()
A、一个算法可以没有输入
B、算法只能用流程图表示
C、一个算法,当没有输入时,也没有输出
D、一个算法的执行步骤可以是无限的。
13、如果一个4位数恰好等于它的各位数字的4次方和,则这个4位数成为“玫瑰花”数。
例如1634就是一个玫瑰花数:
1634=1^4+6^4+3^4+4^4。
如果要求出所有的玫瑰花数,下列算法最合适的是()
A解析法B排序法C查找法D穷举法
14、一个单窗体VB程序的运行界面如右图所示。
下列说法正确的是()
⑴窗体内有1个按钮
⑵窗体内有2个文本框
⑶窗体内有3个标签
⑷该窗体的标题(Caption)属性值是“加法计算器”
A⑵⑶B⑴⑷C⑴⑵D⑶⑷
15、下列VB程序运行时(如图所示),在文本框Text1中输入20,在文本框Text2中输入13,单击命令按钮Command1后,文本框Text3中显示的内容是()
PrivateSubCommand1_Click()
a=Val(Text1.text)
b=Val(Text2.text)
Text3.text=a+b
EndSub
A33B"33"C"2013"D2013
注意:
把程序中的Val去掉,再执行程序,看结果是否发生改变。
16、在VB语言中,字符串运算符“+”和“&”的作用是把两个或多个字符串连接成一个字符串。
则表达式"20"+"13"&"20+13"的运算结果是()
A"201320+13"B"201333"C"332013"D"3333"
17、两个阻值为R1、R2的电阻并联后,电路阻值R可由公式
求解,下面能正确求出R的VB表达式是()
A
B
C
D
18、下列问题不能用算法描述的是()
A求一元二次方程ax2+bx+c=0(a≠0)的两个实数解
B计算某班英语平均分
C求方程y=2x+1的所有整数解
D已知圆锥的底面半径和高,求表面积和体积
19、已知在VB语言中,int(x)函数的功能是返回不大于x的最大整数,abs(x)函数的功能是返回x的绝对值,则表达式abs(int(2.88)+int(-3.14))的值是()
A0B2C1D5
20、在VB语言中表示“x属于区间(0,1]”的正确表达式是()
A0
21、某VB的事件过程如下:
PrivateSubCommand1_Click()
a=Val(Text1.text)
b=a*a+1
Text1.text=b
EndSub
程序运行时(如图所示),在文本框Text1中输入2,连续两次单击命令按钮Command1后,Text1中显示()
A2B677C26D5
22、下列流程图中能描述循环结构的是()
A⑵⑷B⑴⑶C⑴⑵⑷D⑵⑶⑷
23、二分查找又称折半查找,是一种应用于有序数列的高效查找算法。
下列数列中适合二分查找算法的是()
(1)1199517239
(2)305263717881
(3)67626861515(4)857859531918
A、(3)(4)B、
(2)(3)C、
(1)
(2)D、
(2)(4)
24、下列关于算法的描述错误的是()
A、算法必须在有限步骤内实现
B、算法是解决某一类问题的方法和步骤
C、算法可以使用自然语言、伪代码、流程图等多种不同的方法来描述
D、一个有效的算法至少要有一个或多个输入
25、下列选项中,不属于计算机程序设计语言的是()
A、高级语言B、自然语言C、汇编语言D、机器语言
26、下列程序段执行后,变量s的值是()
s=0
Fori=1To10
s=s+i
Nexti
A、1B、0C、55D、10
选择题答案:
1-5BCCAD6-10ADBBD11-15CADBA16-20AACBC21-25CADDB26C
分析题
1、阅读下列程序,写出正确运行结果
DimnAsLong
DimsAsLong
DimxAsLong
n=Val(InputBox("n="))
s=0
DoWhilen>0
x=nMod10
s=s+x
n=n\10
Loop
Prints
程序运行时,输入518,运行输出结果是:
14(6分)
提示:
\整除运算如:
237\10=23
Mod取余运算如:
237mod10=7
分析:
初始值
第一步
第二步
第三步
X
X=nmod10
0
8
1
5
S
S=s+s
0
0+8
0+8+1
0+8+1+5
N
N=n\10
518
51
5
0
2、阅读下列程序,写出正确运行结果
DimsumAsLong
DimiAsLong
sum=0
i=0
DoWhilesum<10
i=i+1
sum=sum+i*i
Loop
Printsum
运行结果是:
14
分析:
初始值
第一步
第二步
第三步
i
i=i+1
0
0+1
0+1+1
0+1+1+1
Sum
sum=sum+i*i
0
0+1^2
0+1^2+2^2
0+1^2+2^2+3^2
循环条件
Sum<10
满足条件
1
满足条件
5
满足条件
14
不满足条件,循环终止
3、阅读下列程序,写出正确运行结果
DimsumAsInteger
DimkAsInteger
sum=0
Fork=1To10
IfkMod2=0Thensum=sum+k
Nextk
Printsum
程序运行后输出结果:
30
分析:
246810的和
IfkMod2=0Thensum=sum+k
可写为
IfkMod2=0Then
sum=sum+k
EndIf
4、分析完善程序
考拉兹猜想:
考拉兹猜想又称为3n+1猜想,指的是对于给定的每一个正整数,经过下列有限次变换后,最终都能变为1:
如果它是偶数,则对它除以2;如果它是奇数,则对它乘3再加1;…………如此循环,直到得到1为止。
例如n=6,根据上述规则需要8次变换后得到1,变换过程:
6—3—10—5—16—8—4—2—1。
以下是验证考拉兹猜想的主要VB程序片段,请你补全代码:
(8分)
DimnAsLong
DimcntAsLong'变换次数cnt
n=Val(InputBox("n="))'输入正整数n
cnt=0
DoWhilen>1
cnt=cnt+1'变换次数cnt累加
IfnMod2=0Then
n=n/2
Else
n=n*3+1
EndIf
Loop
5、阅读下列程序,写出运行结果
DimxAsInteger
DimyAsInteger
y=0
Fori=1To5
x=Val(InputBox("请输入:
"))
y=y+x
Nexti
printy
程序运行后,依次输入:
1020304050
运行输出结果是:
150
分析:
初始
第1次
第2次
第3次
第4次
第5次
第6次
i
0
1
2
3
4
5
6
x
0
10
20
30
40
50
不满足条件,循环终止
y
0
0+10
0+10+20
0+10+20+30
0+10+20+30+40
0+10+20+30+40+50
6、选择算法,解决问题
在使用计算机解决问题时,选择合适的算法,是有效解决问题的关键。
分析下面的问题,请选择最合适的算法:
(填:
解析法/穷举法/递归法/排序法,6分)穷举法
搬砖问题:
100块砖,100人搬,一个男人搬4块,一个女人搬3块,两个小孩抬1块,要求一次全搬完,问需男、女、小儿各多少人?
7、选择算法,解决问题
在使用计算机解决问题时,选择合适的算法,是有效解决问题的关键。
分析下面的问题,请选择最合适的算法:
(填:
解析法/穷举法/递归法/排序法,6分)递归法
猴子吃桃问题:
小猴有一天摘了若干个桃子,它非常贪吃,当天就吃掉了一半还多一个,第二天接着吃剩下的桃子一半多一个,以后每天都是如此,至了第七天要吃桃子时,却发现只剩下一个。
问小猴那天一共摘了多少个桃子?
8、阅读下列程序,选出运行结果
Fori=1To10'i控制*的行数
Forj=1Toi'j控制每行*的个数
Print"*";'输出*-----------注意末尾是分号
Nextj
Print'输出换行
Nexti
运行结果是:
D(填:
A/B/C/D,6分)
9、分析完善程序
“完数”是指一个自然数恰好等于它的因子(不包含本身)之和。
如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分)
DimnAsLong
DimsumAsLong'sum用来记录n的因子和
n=InputBox("n=")
Fori=1Ton-1'求n的因子和sum
IfnModi=0Thensum=sum+i
Nexti
Ifsum=nThen
Printn&"是完数"
Else
Printn&"不是完数"
EndIf
10、分析完善程序
以下是求解一元二次方程ax2+bx+c=0(a≠0)的主要VB程序片段。
请你补全代码:
(8分)
a=Val(InputBox("a="))
b=Val(InputBox("b="))
c=Val(InputBox("c="))
d=b^2-4*a*c'求判别式d
Ifd>0Then
X1=(-b+Sqr(d))/(2*a)
X2=(-b-Sqr(d))/(2*a)
Print"x1=";X1
Print"x2=";X2
EndIf
Ifd=0Then
Print"x=";-b/(2*a)
EndIf
Ifd<0Then
Print"无实数解"
EndIf
11、分析解决问题
VB语言中绘制圆的方法是:
Circle(x,y),r
格式说明:
其中(x,y)为圆心坐标,r为圆的半径。
下表中算法1是在窗体中绘制以(2000,2000)为圆心,半径依次为100、200……800的8个同心圆。
请补充完成算法2,使其实现与算法1相同的功能。
(6分)
算法1
算法2
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
DimkAsInteger
Fork=1To8
Circle(2000,2000),k*100
Nextk
12、分析完善程序
问题:
输入一个正整数n,判断该正整数是否为素数(质数)。
要判断一个数n是否为素数,最简单的方法是:
统计2到n-1之间的所有能整除n的整数个数s,若s大于0,则n不是素数,否则就是素数。
根据以上方法,完善以下程序代码:
(8分)
n=Val(InputBox("n="))
s=0
Fori=2Ton-1
IfnModi=0Then
s=s+1'统计因数个数
EndIf
Nexti
Ifs=0Then'-----------此处若写s<=0也是正确的
Printn&"是素数"
Else
Printn&"不是素数"
EndIf
13、分析完善程序
2005年10月9日,国家测绘局正式宣布珠穆朗玛峰的高度是8844.43米,并停用之前的数据。
现有一张白纸的厚度大约是0.08毫米,对折一次,厚度变为0.16毫米,再对折一次,厚度变为0.32毫米,……,每对折一次,其XX均变为对折前的两倍。
假设这张纸有足够大,可对折任意次,那么这张纸至少对折多少次后,其厚度将超过珠穆朗玛峰的高度。
以下是求解该问题的程序片段,请你补全代码:
(8分)
DimheightAsDouble
DimhAsDouble
DimcntAsLong
height=8844430'-----------单位为毫米
h=0.08'-----------单位为毫米
cnt=0
DoWhileh cnt=cnt+1 h=2*h'-----------此处若写h+h或h*2也是可以的 Loop Printcnt 14、分析解决问题 在VB语言中常用的字符串截取函数有: (6分) 函数名 功能 示例 结果 Mid(s,m,n) 从字符串s的第m位开始截取长度为n的子串 Mid("ABCDEFG",5,2) "EF" Left(s,n) 截取字符串s左边n个字符 Left("ABCDEFG",3) "ABC" Right(s,n) 截取字符串s右边n个字符 Right("ABCDEFG",2) "FG" 假如某人身份证号码s="370102199602190000",如果需要根据此身份证号码求出该人的”出生年月日”。 下列四个表达式中不能实现的一个D(填A/B/C/D)。 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) 开始 输入a、b的值 输出c的值 结束 15、分析解答问题(6分) 右图所示的算法流程图: 执行情况如下: 当输入a、b的值分别为3、8时,输出结果为5 当输入a、b的值分别为11、7时,输出结果为4 问题一: 下列流程图填入虚线框中,符合条件的是(C)(填: A/B/C) 问题二: 依据问题一所选流程图,当输入a、b的值分别为9、6时,输出结果为3。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 山东省 信息技术 算法 程序设计 题目 答案 附后 讲解