【真题回顾•第三期】2016年10月浙江省信息技术选考真题Python改编

四季读书网 2 0
【真题回顾•第三期】2016年10月浙江省信息技术选考真题Python改编

本公众号推出真题回顾系列,将VB题目进行了Python改编,并在最后附上对于目前选考备考来说,还有价值的其它题目。

改编过程中:感慨万千。大概只有我们信息技术学科,在短短十年间,变化如此之大。

信息技术教师必须具备两种学习意识:对于底层知识,需要“慢思考”,沉下心去啃硬骨头,建立深刻的理解,这可能需要几年甚至十几年的积累。对于应用层知识,需要“快学习”,快速上手,快速迭代,甚至要有“用完即弃”的觉悟。这种精神上的分裂和持续的压力,是其他学科教师难以体会的。

也因此,浙江技术选考造就了一大批优秀的信息科技教师。

今天是第三期,看看我们的来时路。

一、选择题第11题:对称字符串

【2016年10月原题】11.(加试题)对称字符串的特征是从左到右读和从右到左读完全一样的。如“abba”是对称的,“abcba”也是对称的。判断字符串是否对称的VB程序段如下:

N=Len(s)K=0:j=nFor i = 1 Ton/2'加框处Next iIf k = 0 Then Label1.Caption ="对称"Else Label1.Caption= "不对称"

方框中的代码由以下三部分组成:            ① j = j - 1            ② If c1 <> c2 Then k = k + 1            ③ c1= Mid(s,i,1) : c2 = Mid(s,j,1)            代码顺序正确的选项是()            A.①③② B.②③① C. ③②① D.②①③

【Python版】对称字符串的特征是从左到右读和从右到左读完全一样的。如“abba”是对称的,“abcba”也是对称的。判断字符串是否对称的Python程序段如下:

=input()=len(s)=0= n -1for i inrange(n //2):# 加框处if k ==0:print("对称")else:print("不对称")

方框中的代码由以下三部分组成:            ① j = j - 1            ② if c1 != c2: k += 1            ③ c1 = s[i]; c2 = s[j]            代码顺序正确的选项是()            A.①③② B.②③① C.③②① D.②①③

【解析】答案:C。            先取第i个和第j个字符 → 比较是否不等 → j向左移一位。顺序为③②①

二、选择题第12题【加试题】:二分查找

【2016年10月原题】12.(加试题)某对分查找算法的VB程序段如下:

i = 1: j = 9: n = 0key = Val(Text1.Text)Do While i <= jn = n + 1m = Fix((i + j) / 2)If key = d(m) Then Exit DoIf key < d(m) Then j = m - 1 Else i = m + 1Loop

数组元素d(1)到d(9)的值依次为“7,12,18,25,39,58,61,72,86”。若该程序段运行结束后,n的值为2,则key的值是()            A.39     B.18或61     C.18或72     D. 12或61

【Python版】某对分查找算法的Python程序段如下:

=0:j =8:n =0key =int(input())while i <= j:= n +1= (i + j) //2if key == d[m]:breakif key < d[m]:= m -1else:= m +1print(n)

数组元素d[0]到d[9]的值依次为“7,12,18,25,39,58,61,72,86”。若该程序段运行结束后,n的值为2,则key的值是()            A.39     B.12或61     C.18或72     D. 18或61

【解析】第1次查找m=4,第2次查找:

·向左查m=2 → d[1]=12

·向右查m=6 → d[6]=61,所以key为12或61。故选B

三、非选择题第14题:循环分支

【2016年10月原题】编写“加法练习题生成器”程序,实现如下功能:在文本框Text1中输入题数n,单击“生成”按钮,在列表框中显示n个两数之和小于100的加法练习题。(题目及代码略)

【真题回顾•第三期】2016年10月浙江省信息技术选考真题Python改编 第1张

【Python版】输入题数n,生成n道两个数之和小于100的加法练习题。Python程序运行效果如下:

【真题回顾•第三期】2016年10月浙江省信息技术选考真题Python改编 第2张

(1)实现代码如下,请在划线处填入合适的代码:

import randomrandom.seed()=int(input("请输入题数:"))= ____①____while i <= n:= random.randint(099)= random.randint(099)if ____②____:print(f"({i}{a}+{b}=")= i +1

(2)运行程序,输入5,语句a=random.randint(0,99)执行次数最合理的是()         A.执行次数等于5 B.执行次数大于等于5 C.执行次数小于等于5

【解析】            (1)① 填1:从第1题开始。            (2)② 填a + b < 100:保证和小于100。            (3)选B:可能生成不满足条件的式子,执行次数≥5。

四、非选择题第16题:冒泡排序

【2016年10月原题】16.(加试题)小吴为了研究冒泡排序过程中数据的“移动”情况,编写了一个VB程序,功能如下:在列表框List1中显示排序前数据(存储在数组a中),在文本框Text1中输入初始位置(即下标值),单击“排序”按钮Command1后,在标签Label1中显示指定初始位置的数据在排序过程中的位置变化情况,排序后的数据显示在列表框List2中。程序运行界面如图所示。(题目及代码略)

【真题回顾•第三期】2016年10月浙江省信息技术选考真题Python改编 第3张

【Python版】小吴为了研究冒泡排序过程中数据的“移动”情况,编写了一个Python程序,功能如下:输入初始位置(即下标值 + 1),回车后,会输出指定初始位置的数据在排序过程中的位置变化情况,包括排序前后的数据,程序运行如下图所示:

【真题回顾•第三期】2016年10月浙江省信息技术选考真题Python改编 第4张

实现该功能的Python程序如下,加框处代码有误,请修正。

= [30,47,30,72,70,23,99,24]print("排序前:",a)=len(a)pos =int(input("初始位置:")) -1=str(pos +1)for i inrange(n -1):for j inrange(n -1, i, -1):if a[j] < a[j-1]:= a[j] # (1)加框处a[j-1= a[j]a[j] = kif pos == j:pos = j -1+="→"+str(pos +1)elif#(2)加框处pos = j+="→"+str(pos +1)print("位置变化:", s)print("排序后:", a)

【解析】

(1)交换语句改为:k = a[j - 1]

(2)位置判断改为:elif pos == j-1:

五、非选择题第17题:数组操作

【2016年10月原题】17.(加试题)小李与小王合作编写一个成绩统计的VB程序:小王编写一个过程,该过程从数据库读取某一指定科目的相关数据,存储在数组a中;小李编写一个过程,该过程依据数组a中的相关数据统计各班平均分。小李与小王约定的数组a各元素含义如图所示。(题目及VB代码略)

【真题回顾•第三期】2016年10月浙江省信息技术选考真题Python改编 第5张【真题回顾•第三期】2016年10月浙江省信息技术选考真题Python改编 第6张

【Python版】有数组a,存储如下数据:a[0]为班级数n;a[1]~a[n]为各班人数;a[n+1]开始依次存储第1班每个学生的单科成绩、第2班每个学生的单科成绩、...第n班每个学生的单科成绩。编写Python程序,计算每个班该门科目的平均分,程序运行结果如图所示:

【真题回顾•第三期】2016年10月浙江省信息技术选考真题Python改编 第7张

实现上述功能的部分Python程序如下,请在划线处填入合适代码:

# 读取数据存入列表a,代码略# a =[2,5,3,77,78,79,80,81,82,83,84]# 统计各班平均分____①____= n +1for i inrange(1, n +1):sum_score =0for j inrange(1, a[i] +1):____②____+=1aver = sum_score / a[i]print(f"{i}{a[i]}{aver}")

【解析】① 填n = a[0]:读取班级总数。            ② 填sum_score += a[p]:累加当前班级成绩。

六、其他有价值的题目

往期回顾:

【真题回顾•第一期】2015年10月浙江省信息技术选考真题Python改编

【真题回顾•第二期】2016年04月浙江省信息技术选考真题Python改编

抱歉,评论功能暂时关闭!