粤教版(2019) 必修1第四章 程序设计综合复习训练(含答案)
展开
粤教版(2019) 必修1第四章 程序设计 综合复习训练
一、选择题
1.range(1,10)的取值范围是( )。
A.1到10 B.1到9 C.0到10 D.0到9
2.统计字符串s中的升序段个数(例如47923123,则满足条件的升序段是479,23,123)。编写的部分VB程序段如下:
s ="47923123"
f=True:n=Len(s):m=0
For i=2 To n
If Mid(s,i,1)>Mid(s,i-1,1)Then
Else
End If
Next i
Text1. Text="升序段个数有"+Str(m)
上述程序段中方框处可选语句为:
①f = True
②f = False
③If f Then m=m+1
则(1)(2)(3)处语句依次为( )
A.①②③ B.②③① C.③②① D.③①②
3.运行下列Python程序
i=1
s=1
while ①:
s=s*i
i+=2
print(s)
当输出结果为105时,则①处应填入( )
A.i<=7 B.i<7 C.i>=7 D.i>7
4.依据选择排序思想:设计一个对数组a进行剔除重复数据后升序排序的程序。实现该功能的VB程序段如下:
i=1
bottom=n 'n为a数组元素的个数
Do While i<=bottom-1
k=i
For j=bttom Toi+1 Step-1
If a(j)<a(k)Then
k=j
ElseIf a(j)=a(k)Then
If (1) Then (2) Else (3)
bottom=bttom-1
End If
Next j
If k <>I Then t=a(k): a(k)=a(i): a(i)=t
i=i+1
Loop
上述程序中方框处可选语句为:
①k=j②k=bottom③a(j)=a(bottom)
则(1)、(2)、(3)处语句依次是( )
A.②①③ B.②③① C.③①② D.①②③
5.有以下 VB 程序段:
a(1) = 58: a(2) = 38: a(3) = 46: a(4) = 40: a(5) = 58
a(6) = 30: a(7) = 48: a(8) = 50: a(9) = 36: a(10) = 56
For i = 1 To 10
b(a(i) mod 10) = b(a(i) mod 10) + 1
Next i
s=""
For i = 0 To 9
If b(i) > 0 Then s = s+ " " +str(i)+ ":" + Str(b(i))
Next i
数组 b 各元素初值为 0,执行该程序段,s 的值是( )
A.3:4 4:3 5:4 B.8:4 6:3 0:3
C.5:4 4:3 3:4 D.0:3 6:3 8:4
6.下列选项中,对变量a的赋值与其他三项不等价的是( )
A.a= abs(a-b)
B.if a>b Then=a- b Else a=b-a
C.If a> bThen a=a-b If a<b then a=b-a
D.a= a-b If a<0 Then a=-a
7.若变量a、b的值分别是2、4,则a+b/a-b的值是( )
A.-3 B.0 C.4 D.-1
8.某算法的部分流程图如图所示:
若要用VB语言实现该部分算法,下列代码正确的是( )
A. B. C. D.
9.下面的程序段运行后的结果为( )
s=0
for i in range(1,6,2):
s=s+i
print(s)
A.15 B.10 C.12 D.9
10.有如下程序段:
Function delStr(S As String, m As Integer) As String
Dim n As Integer : n = Len(S)
If m < 1 Or m > n Then delStr = "输入位置有误!"
If m = 1 Then delStr = Mid(S, 2, n - 1)
If m < n Then delStr = Mid(S, 1, m - 1) + Mid(S, m + 1, n - m)
If m = n Then delStr = Mid(S, 1, n - 1)
End Function
Private Sub Command1_Click()
Dim S As String : Dim i As Integer
S = Text1.Text
For i = 1 To 10 Step 2
S = delStr(S, i)
Next i
Text2.Text = S
End Sub
文本框 Text1 中输入 Happybirthday,执行该程序段,文本框 Text2 中显示的是( )
A.apybrtda B.apbrhday C.Happybirhday D.day
11.在Python中,以下程序运行后的结果是( )
(1)import turtle as mypen
(2)for x in range(40,0,-10):
(3) mypen.circle(x)
(4) mypen.done()
A. B. C. D.
12.有如下VB程序段:
Dim d(1 to 5)as integer,i as integer
Dim flag as Boolean,j as integer
‘给数组元素d(1)至d(5)赋初值为1,代码略
Randomize
For i=1 to 5
J = l:flag = True
d(i) = int(Rnd*9)
Do while j< =i-1 and flag = True
d(i) = int(Rnd*5+1)
If d(i) = d(j) then i=i-l:flag = False
j = j+1
Loop
Next i
运行程序后,数组中的数据值可能是( )
A.1 3 4 5 6 B.3 5 4 1 1 C.8 3 1 2 5 D.1 2 6 2 1
二、填空题
13.阅读程序。分析代码并回答问题。
list=['a','b','c','d','e','f','g']
list1=[]
list2=[]
for i in range(7):
if i%2==0:
list1.append(list[i])
else:
list2.append(list[i])
print(list1)
print(list1)
(1)list 的数据类型是 _______。
(2)list中的元素的数据类型 ________。
(3)list1=[]的作用是 _______。
(4)for i in range(7)语句中,i 的实际数据范围是从_____到 ____。
(5)append(list[i])的作用是______。
14.numpy是一个科学计算包,其中包括很多________,如________、矩阵计算方法、________、线性代数等。
15.根据以下程序代码完成下列小题。
程序描述: 所谓角谷猜想,是指对于任意一个正整数,如果是奇数,则乘3加1,如果是偶数,则除以2,得到的结果再按照上述规则重复处理,最终总能够得到1。如,假定初始整数为5,计算过程分别为16、8、4、2、1。
程序要求输入一个正整数(不为1),将经过处理得到1的过程输出来。代码如下:
x=int(input('输入一个正整数:'))
while ①
if ②
x=x/2
③
el se:
④
③
if x==1:
⑤
①处的语句是(_______), ②处的语句是(______),③处的语句是(_____),④处的语句是(______),⑤处的语句是(_____)。
(1)A.x>1 B.x>2 C.x!=1: D.x!=0:
(2)A.x%3=0: B.x%2=0: C.x%3==0: D.x%2==0:
(3)A.print(‘x/2’) B.print(‘x’) C.print(x) D.print(x/2)
(4)A.x= x/2 B.x= x/2+1 C.x=x*3+1 D.x=3x+1
(5)A.pass B.exit C. continue D.break
16.用Python语言实现加密算法时,明文和密文都被抽象为_________类型的数据。
三、判断题
17.若n=6,m=3,则表达式m+3==n and n-3>=m的值为true。(______)
18.常见的顺序结构语句有输入语句、输出语句和赋值语句。(______)
19.在 Python语言环境下,表达式13%2+7//2的值为4.5。 (_____)
20.python语言是一种面向对象的解释型计算机程序设计语言,发明于1989年。目前,python已经成为最受欢迎的程序设计语言之一。 (_____)
【参考答案】
一、选择题
1.B
2.C
3.A
4.A
5.D
6.C
7.B
8.B
9.D
10.A
11.D
12.C
二、填空题
13.列表 字符型 定义一个空的列表 0 6 可以向list中添加元素
14.数学函数 矢量运算 三角函数
15.C D C C D
16.字符串
三、判断题
17.正确
18.正确
19.错误
20.对