高中信息技术《算法与程序设计》练习.docx
《高中信息技术《算法与程序设计》练习.docx》由会员分享,可在线阅读,更多相关《高中信息技术《算法与程序设计》练习.docx(14页珍藏版)》请在冰豆网上搜索。
![高中信息技术《算法与程序设计》练习.docx](https://file1.bdocx.com/fileroot1/2022-11/16/e7fe08a2-738a-41d2-9675-edb15cb3f319/e7fe08a2-738a-41d2-9675-edb15cb3f3191.gif)
高中信息技术《算法与程序设计》练习
《算法与程序设计》练习
(满分:
100分)
说明:
本卷分为第一卷和第二卷两部分。
第一卷为客观题,含单选题和判断题,其中单选题30小题,共45分;判断题20小题,共20分。
第二卷为操作题,共3题,第1题15分,第2题10分,第3题10分,共35分。
一、单选题
1、(1.5分)下面是4位同学为解决问题编写的程序,完全正确的是()。
同学1:
某同学从17岁开始栽了1棵树,以后每年都比前一年多栽1棵,他要栽够100棵树,最小得多少岁?
程序如下:
PrivateSubCommand1_Click()
DimAgeAsInteger,TreeAsInteger
Do
Age=17
Age=Age+1
Tree=Tree+Age(Tree应该是树的累加数,这样合适吗?
)
LoopUntilTree=100
PrintAge&“岁”
EndSub
同学2:
计算S=1×2×3×4×5×6×7×8×9的值。
程序如下:
PrivateSubCommand1_Click()
DimSAsInteger
(S没有初始值,默认为0)
Fora=1To10(终值设置错误)
S=S*a
Nexta
Print“S=”&S
EndSub
同学3:
求解方程ax+b=0。
程序如下:
PrivateSubCommand1_Click()
DimAAsSingle,BAsSingle
InputBox("A=")(从键盘得到的数据赋给谁了?
)
InputBox("B=")
X=-B/A
PrintX
EndSub
同学4:
计算S=1+(1+2)+(1+2+3)+…+(1+2+3+…+100)的值。
程序如下:
PrivateSubCommand1_Click()
DimiAsInteger,TAsLong,SAsLong
S=0:
T=0
Fori=1to100
T=T+i(T的值为:
1+2+3+……n)
S=S+T
NextI
Print"S=";S
EndSub
A、同学1 B、同学2 C、同学3 D、同学4
2、(1.5分)
下面的4个VB程序段能使变量a、b、c的值全部相同的是()。
程序一:
a=1:
b=2:
c=3
a=b
b=c
c=a
程序二:
a=1:
b=2:
c=3
c=a
c=b
c=c
程序三:
a=1:
b=2:
c=3
c=a
b=c
程序四:
a=1:
b=2:
c=3
c=a=b
A、程序一 B、程序二 C、程序三 D、程序四
3、(1.5分)
如果要改变窗体的标题,则需要设置的属性是()
A、Caption B、名称 C、Font D、Visible
4、(1.5分)
已知数组D的1到N号元素已经赋入常数值,下面4个程序段都把这N个常数值输出,其中不能保证输出的数据是由小到大的程序段是哪个?
()。
程序一:
fori=1ton-1
Min=D(i):
M=i
forj=i+1ton
ifD(j)<MinthenMin=D(j):
M=j
Nextj
k=D(i):
D(i)=Min:
D(M)=k
NextI
fori=1toN
printD(i);
Nexti
程序二:
Fori=1Ton-1
Forj=nToi+1Step-1
Ifd(j)<d(j-1)ThenM=d(j):
d(j)=d(j-1):
d(j-1)=M
Nextj
Nexti
fori=1toN
printD(i);
Nexti
程序三:
fori=1ton-1
forj=i+1ton
ifD(j)<D(i)thenM=D(j):
D(j)=D(i):
D(i)=M
Nextj
Nexti
fori=1toN
printD(i);
Nexti
程序四:
Fori=1Ton-1
Forj=i+1Ton
Ifd(j)<d(j-1)ThenM=d(j):
d(j)=d(j-1):
d(j-1)=M
Nextj
Nexti
fori=1toN
printD(i);
Nexti
A、程序一 B、程序二 C、程序三 D、程序四
(调试程序时请将下列代码加在源代码的前面
Dimd(5)AsInteger
Fori=1To5
d(i)=InputBox("D("&i&")=")
Next
N=5)
5、(1.5分)
以下程序运行后输出的结果是()。
PrivateSubCommand1_Click()
a=71*72
P=10000\a+1(“\”为取整运算)
Fori=P*aTo11111Stepa
c=i\100Mod10
Ifc=2ThenPrintI;
Nexti
EndSub
A、10224 B、10224 56232 C、56232 D、15336
6、(1.5分)
下面的4个程序在运行时都会出错,其中不属于语法错误的是()。
程序一:
fori=-10to10
s*1=s(赋值语句中“=”的左面只能是变量)
nextI
prints
程序二:
fori=-10to10
s=s+1/i(除数不能为零)
nextI
prints
程序三:
fori=-10to10
s=s+i*(i+1)
nexts(循环变量不一致)
prints
程序四:
fori=-10to10step2
s=s+1
nexti
prints
A、程序一 B、程序二 C、程序三 D、程序四
7、(1.5分)
面向对象的基本概念包括对象、()、消息和继承。
A、方法 B、事件 C、类 D、属性
8、(1.5分)
以下程序段运行后S的值是()。
s=0
Fori=1To14
x=3*i
IfxMod3=0Thens=s+1
Nexti
A、0 B、4 C、5 D、14
9、(1.5分)
当a=5,b=7,c=-2,d=1时,下列结果为False的是()。
A、a+b>c+dAnda>=5OrNotc>0Ord<0
B、c+d>a+bAnda>=5OrNotc>0Andd>0
C、a+d<b+cAnda>=5OrNotc<0Andd<0
D、a+b>c+dAnda<5OrNotc>0Ord<0
(运算符的优先级:
算术运算(符合四则运算法则)>比较运算>逻辑运算(Not>And>or))
10、(1.5分)
运行如下程序段可输出由“*”组成的()。
ForX=1To4
PrintSpace(4)&"*****"
NextX
A、矩形
B、平行四边形
C、三角形
D、梯形
11、(1.5分)
用折半查找法(二分查找法)从数列3,6,7,10,12,16,25,30,75中找到数据25的最少查找次数是()。
A、2
B、3
C、4
D、7
12、(1.5分)
如果A=30,B=40,执行A=A+B:
B=A-B:
A=A-B语句后,A、B的值是()。
(交换两个变量数据的另一方法)
A、30、40
B、40、40
C、40、30
D、30、30
13、(1.5分)
用冒泡排序法对数据7,6,3,9,2从大到小排序,第2趟结果是()。
A、9,6,3,7,2
B、7,9,6,3,2
C、9,7,3,6,2
D、9,7,6,3,2
14、(1.5分)
以下程序段运行时语句k=k+1执行次数为()次。
k=-20
do
k=k+1
loopwhile(k=0)
A、20
B、无数次
C、1
D、0
15、(1.5分)
数列2,4,8,16,32,……的递推公式为()。
A、f(n)=n*2
B、f(n)=f(n-1)*2
C、f(n)=2^n
D、f(n)=f(n-1)+2
16、(1.5分)
下列程序段运行后X的值是()。
x=0
Fori=1To5
Forj=iTo5
x=x+1(循环次数计数器)
Nextj
Nexti
A、0
B、5
C、10
D、15
17、(1.5分)
若X=False,执行IfXThenX=0ElseX=1后X的结果为()。
A、False
B、编译错误
C、1
D、0
18、(1.5分)
模块化程序设计方法反映了结构化程序设计的()基本思想
A、自顶而下、逐步求精
B、面向对象
C、自定义函数、过程
D、可视化编程
19、(1.5分)
程序段如下:
c="1234"
Fori=1To4
Print_____,
Next
如果要让程序运行后得到如下结果:
1234123121
则在下划线处应填入的内容为()。
(提示:
Right(x,n):
从字符串右面取n个字符,Left(x,n):
从字符串左边取n个字符)
A、Right(c,5-i)
B、Left(c,5-i)
C、Right(c,i-5)
D、Left(c,i-5)
20、(1.5分)
要从n个数据元素中顺序查找一个元素,最少查找次数是()。
(最多查找次数呢?
)
A、1
B、n
C、n/2
D、lgn
21、(1.5分)
在流程图中表示算法中变量的计算与赋值时使用()图形框。
A、菱形框
B、矩形框
C、圆形框