内容正文:
高中信息技术沪科版(2019)2.了解程序的基本控制结构
一、选择题
1.某高校开展“迷宫寻宝”活动,按最终得分评判优胜。参赛选手通过手机扫描活动海报上的二维码图片进行注册,填写个人资料后参加比赛。迷宫寻宝规则:30分钟内到达终点,找到5个以内宝贝得1分,5个及以上且10个以内得2分,10个及以上得3分,超过30分钟未能到达终点得0分。用Python算法控制结构描述“30分钟内到达终点,找到5个以内宝贝得1分,5个及以上且10个以内得2分,10个及以上得3分,超过30分钟未能到达终点得0分”,设time为完成时间(单位:分钟),n为寻宝个数,score为得分,下列选项正确的是( )
A.
if time<=30 :
if n>=10:
score=3
elif n>=5:
score=2
else:
score=l
else:
score=0
B.
if time>30:
score=0
if n<5:
score=1
elif n<10:
score=2
else:
score=3
C.
score=1
if n>=5:
score+=1
elif n>=10:
score+=1
if time>30:
score=0
D.
if time<=30:
score=3
if n<10:
score-=1
elif n<5:
score-=1else:
score=0
A.A B.B C.C D.D
2.顺序结构程序的执行顺序是()
A.由外到内 B.自上而下 C.自下而上 D.由内到外
3.程序的三种基本结构为( )
A.顺序结构、树形结构和选择结构
B.网状结构、顺序结构和选择结构
C.顺序结构、选择结构和循环结构
D.网状结构、循环结构和树形结构
4.有如下 Python程序段:
s=''AB18/31C5/D269/E7''
k=3
sum, j,c=0,0,0
flag=False
for ch in s:
if "0"<=ch<="9":
c=c*10+int(ch)
j+=1
elif ''A''<=ch<=''Z'':
flag=True
else:
if j==k and flag:
sum+=c
flag=False
j=0;c=0
程序运行后,sum的值是( )
A.269 B.330 C.584 D.609
5.某算法的部分流程图如下图所示,执行这部分程序后,下列说法不正确的是( )
A.m的值为9
B.n的值为17
C.循环条件n<=15?共判断4次
D.当第4次判断循环条件n<=15?时,m的值为9
6.有如下 Python程序段:
import random
s="abcd"*2
k=random. randint(1,3)
for i in range(k):
s=s[1:]+s[0]
s=s[3:3+k]+s[:3]+s[3+k:]
该程序段执行后,变量s的值不可能的是( )
A.cdababcd B.cdadabbc C.abcdbcda D.bccdadab
7.下面Python程序运行后,变量m,n的值分别是( )
n,m=7,4
if n>m:
n=m
m=n
A.4,4 B.7,7 C.7,4 D.4,7
8.程序的基本结构有顺序结构、选择结构和( )。
A.模块结构 B.层次结构 C.循环结构 D.逻辑结构
9.有如下 python程序段:
n=int(input())
s=0
i=1
while i*i<=n :
if n%i==0:
s=s+1
else:
s=s+2
i=i+1
print(s)
若输入“26”,程序运行后输出的结果是( )
A.6 B.7 C.8 D.9
10.在Python中,以下代码执行后输出的结果是( )
x=1
for i in range(5):
x=x*i
print(x)
A.0 B.15 C.24 D.120
11.有如下程序段:
a = 3; b = 4; c = 5
a = a * b
a = a % c
c = c // b
print(a + c)
运行之后,输出结果为( )
A.2 1 B.3 C.3 1 D.4
12.智慧饮料瓶回收机器的工作流程为:机器通过身份卡或人脸识别对用户进行身份认证,身份识别后用户可投放饮料瓶,机器对当前饮料瓶进行判断,符合回收条件则按塑料瓶和铝制易拉罐进行分类,塑料瓶按容量计算金额,铝制易拉罐按重量计算金额,若不符合回收条件则退回,结束投瓶后机器统计饮料瓶个数和金额,并将回收数据通过网络传送至服务器。用Python语句描述塑料瓶容量500毫升以下(不包含)0.05元/个,500毫升到1200毫升(不包含)0.1元/个,1200毫升及以上0.15元/个。设容量为v(单位为毫升),价格为p(单位为元),则下列选项正确的是( )
A.p=0.05
if v>=500:
p=0.1
elif v>=1200:
p=0.15
B.p=0.15
if v<500:
p=0.05
elif v<1200:
p=0.1
C.p=0.05
if v>=500:
p=0.1
if v>=1200:
p=0.15
D.p=0.15
if v<1200:
p=0.1
else:
p=0.05
A.A B.B C.C D.D
13.在Python中,运行以下代码后,变量i的值是( )
i=6
while i>=1:
print(i)
i=i-1
A.1 B.0 C.6 D.5
14.如果a,b中任意一个数的值为3的倍数,那么y的值为变为原先的2倍,能实现该功能的Python语句是( )
A.
if a % 3= 0 and b % 3 = 0:
y = у * 2
B.
if a % 3 == 0 or b % 3 == 0:
y = y // 2
C.
if a % 3 == 0 or b % 3 == 0:
y = у + у
D.
if not (a % 3 != 0) and not (b % 3 ! = 0):
y = у ** 2
A.A B.B C.C D.D
15.有如下Python程序段:
a=[99,85,74,68,53,42,34,27,20,13]
key=int(input("请输入一个整数:"));i,j,k,c=0,9,0,"N"
flag=False
while i<=j and flag==False:
m=(i+j+1)//2;k=k+1
if key==a[m]:
c="Y";flag=True
if key>a[m]:
j=m-1
else:
i=m+1
print(c,k)
执行该程序段后,下列说法正确的是( )
A.该程序段既能用于升序序列的查找,也能用于降序序列的查找
B.若输出k的值为2,则c的值一定为Y
C.若输入key的值为74,程序执行后变量i和j的值分别为0和4
D.输入两位任意正整数,k的值介于1和3之间
二、填空题
16.已知足球场长度105.16米,宽度68.16米,请使用Python编写一段程序,计算出足球场的面积多少平方米?
下面是部分程序代码,请将程序补充完整并确保程序能正确运行。
a=105.16
b=68.16
print(a,b,s)
17.在计算机编程中, 是一种用于实现条件执行的语句结构,它允许根据不同的条件执行不同的代码块。
18.x=int(input(“请输入第1个数:”))
y=int(input(“请输入第2个数:”))
if x>y:
print(x)
else:
print(y)
程序运行后,键盘输入8和6,其输出结果为
19.某 Python 程序如下:
n = int (input ())
sum = a = 3
res = 0
i=1
while i <= n:
res = res + sum
sum = sum * 10 + a
i = i + 1
print (res)
当输入n值为3时,程序输出结果是 。
三、操作题
20.第19届杭州亚运会已完美落幕,亚运会赛事以“杭州为主,全省共享”的原则分布在杭州、宁波、温州、湖州、绍兴、金华各地。大会共有40个大项,61个分项,最终诞生了481块金牌。小李作为一名体育爱好者想重温大会赛程安排,他从杭州亚运会的官网上采集了相关数据,整理后存储在“杭州第19届亚运会总赛程.x1sx”文件中。如图a所示(0表示有赛事但不产生金牌,其他数字表示当天产生的金牌数)。
图a
为了更清楚地了解相关赛事信息,小李编写了Python程序,请回答以下问题。
(1)足球是小李最关注的大项,为了解足球的赛程安排,划线处应填入的代码为 (单选,填字母)
A.df.大项=="足球" B.df["大项"=="足球"] C.df[df.大项=="足球"] D.df[df["大项"]==足球]
import pandas as pd
df=pd.read_excel("杭州第19届亚运会总赛程.xlsx")
df2=
print(df2)
(2)足球项目的比赛分布在杭州等城市的八个场馆,了解各个场馆举办足球赛事的具体场次,找到连续举办足球赛事最多的场馆,如图b所示。程序代码如下,请在划线处填入合适的代码。
黄龙体育中心体育场[9/19,9/21,9/24,9/27,9/28,10/1,10/4,10/6,10/7]
临平体育中心体育场[9/19,9/21,9/22,9/24,9/25,9/28,9/30,10/3]
上城体育中心体育场[9/20,9/22,9/24,9/25,9/27,9/28,10/1,10/3,10/7]
萧山体育中心体育场[9/19,9/20,9/21,9/22,9/24,9/25,9/27,9/28,10/1,10/4]
金华体育中心体育场[9/19,9/21,9/24,9/27]
浙江师范大学东体育场[9/19,9/21,9/24,9/27]
温州奥体中心体育场[9/21,9/22,9/24,9/25,9/27,9/28,9/30]
温州体育中心体育场[9/22,9/24,9/25,9/27,9/28,9/30]
连续举办足球赛事最多的场馆:萧山体育中心体育场
图b
dic={}
max=0;maxsta=""
1st=df2,竞赛场馆.tolist()#将数据转换为列表
for i in lst:
dic[i]=[]
for i in df2.index:
c=0
sta=df2["竞赛场馆"][i]
for j in df2.columns[2:-3]:
if df2.at[i,j]==0ordf2.at[i,j]==1:
①
c=c+1
if c>max:
max=c;maxsta=sta
else:
②
for i in dic:
print(i,dic[i])
print("连续举办足球赛事最多的场馆:",③ )
(3)足球在亚运会期间总共产生两枚金牌,统计分析其他大项产生的金牌总数,找出产生金牌总数最多的十个大项,并绘制图形如图c所示。程序代码如下,请在划线处填入合适的代码。
图c
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['simhei']#图表中文标签显示为黑体
grp=df.groupby(① ,as_index=False).金牌总数.sum()
grp=grp.sort_values("金牌总数",ascending=False).②
x=grp.大项
y=grp.金牌总数
plt.figure(figsize=(6,4))
plt.title("金牌总数前十的大项")
plt.xlabel("大项")
plt.ylabel("金牌总数")
plt.bar(x,y)
plt.show()
四、简答题
21.解释什么是编程中的循环控制语句,并给出一个常见的例子。
22.请你设计一个程序求解1000以内的所有素数,素数是在大于1的自然数中,除了1和它本身以外不再有其他因数的数,如:2,3,5,7,11……。分析该问题,用自然语言或者流程图描述解决问题的算法。
23.讨论循环结构在处理大量数据时的优势。
试卷第1页,共3页
试卷第1页,共3页
学科网(北京)股份有限公司
参考答案:
1.A
2.B
3.C
4.C
5.C
6.A
7.A
8.C
9.C
10.A
11.B
12.BC
13.B
14.C
15.D
16.s=a*b
17.条件语句(或if-else语句)
18.8
19.369
20. C dic[sta].append(j)或dic[sta]+=[j] c=0 maxsta或str(maxsta) "大项" head(10)
21.循环控制语句是编程中用来控制循环结构的语句,例如在循环中提前退出或跳过某些迭代。一个常见的例子是break语句,它可以用来立即退出循环。
22.试除法求解素数
1、初始化
设置一个空列表 primes 来存储素数。
从 2 开始,逐一检查每个数是否为素数。
2、检查素数
对于每个待检查的数num(从 2 开始,到 1000 结束),假设 num 是一个素数。
使用一个内部循环,从 2 开始到sqrt(num)(num的平方根,取整)进行检查。
如果 num 可以被 2 到 sqrt(num) 中的任何一个数整除,那么 num 不是素数,跳出内部循环。
如果内部循环结束后没有找到任何可以整除 num 的数,那么 num 是一个素数,将其添加到 primes 列表中。
3、结束
当 num 达到 1000 时,检查结束。
此时 primes 列表中包含了所有 1000 以内的素数。
4、输出
打印或返回 primes 列表。
或者其他答案。
23.循环结构在处理大量数据时可以减少代码重复,提高编程效率,并且使代码更加简洁和易于维护。
答案第1页,共2页
答案第1页,共2页
学科网(北京)股份有限公司
$$